Your message dated Sun, 28 Oct 2018 23:29:15 +0100
with message-id <[email protected]>
and subject line There are no -xpm/-noxpm packages nor gd 2.0.x in (old)stable
has caused the Debian Bug report #276441,
regarding libgd2  2.0.28-3 : Reentrance problems in APIs 
gdImagePngCtx,gdImageCreateFromPngPtr,gdImageCreateFromGifPtr ?
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
276441: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=276441
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libgd2
Version: 2.0.28-3


Hello,
I'm currently working with libgd 2.0.28 (and libgd2-dev) under the last 
unstable Debian distribution has shown :

              ----------------------------------------------------------

# uname -a && gcc -v && dpkg -l | grep libgd
Linux uranus 2.4.19 #3 SMP Tue Jun 8 11:20:12 CEST 2004 i686 GNU/Linux
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
--with-system-zlib --enable-nls --without-included-gettext
--enable-__cxa_atexit --enable-clocale=gnu --enable-debug
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix
gcc version 3.3.5 (Debian 1:3.3.5-1)
ii  libgd-gif1     1.3-5          GD Graphics Library with gif support
ii  libgd1         1.8.4-36       GD Graphics Library (transitional package)
ii  libgd1-noxpm   1.8.4-36       GD Graphics Library (old version, without XP 
ii  libgd2         2.0.28-3       GD Graphics Library version 2
ii  libgd2-dev     2.0.28-3       GD Graphics Library version 2 (development v 
ii  libgd2-noxpm   2.0.28-3       GD Graphics Library version 2 (without XPMs 
ii  libgd2-noxpm-d 2.0.28-3       GD Graphics Library version 2 (development 
ii  libgdbm3       1.8.3-2        GNU dbm database routines (runtime version) 
ii  libgdbmg1      1.7.3-28       GNU dbm database routines (runtime version) 
ii  libgdk-pixbuf2 0.22.0-7       The GdkPixBuf image library, gtk+ 1.2 versio

dpkg --status libgd2
Package: libgd2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 332
Maintainer: Jonas Smedegaard <[email protected]>
Architecture: all
Version: 2.0.28-3
Replaces: libgd-tools (<< 2.0.0)
Depends: libgd2-noxpm (>= 2.0.4-2) | libgd2-xpm (>= 2.0.4-2)
Suggests: libgd-tools
Conflicts: libgd-tools (<< 2.0.0)
Description: GD Graphics Library version 2
 GD is a graphics library...
 .
 This is a transitional package, provided for backwards compatibility
 only. You can safely remove this package when no other package depend
 on it.

uranus:~# dpkg --status libgd2-dev
Package: libgd2-dev
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 332
Maintainer: Jonas Smedegaard <[email protected]>
Architecture: all
Source: libgd2
Version: 2.0.28-3
Depends: libgd2-noxpm-dev (>= 2.0.4-2) | libgd2-xpm-dev (>= 2.0.4-2)
Conflicts: libgd-dev, libgd1g-dev, libgd1-altdev
Description: GD Graphics Library version 2 (development version)
 GD is a graphics library...
 .
 This is a transitional package, provided for backwards compatibility
 only. You can safely remove this package when no other package depend
 on it.


              ----------------------------------------------------------

We have written a multi-threaded application which is handling JPEG,PNG and 
GIF images with libgd2.
This application was going very eratic while processing multiple
PNG/GIF images at the same time in different threads.

While debugging it with the helgrind tool for valgrind we found out those 
nasty things :

==22686== Possible data race writing variable at 0x1D56038C
==22686==    at 0x1D6982CD: _setjmp (in /lib/libc-2.3.2.so)
==22686==    by 0x1D529DCE: gdImagePngCtx (in /usr/lib/libgd.so.2.0.28)
==22686==  Address 0x1D56038C is in BSS section of /usr/lib/libgd.so.2.0.28

and almost the same thing for APIs  gdImageCreateFromPngPtr and
gdImageCreateFromGifPtr.

Protecting the calls to
gdImagePngCtx,gdImageCreateFromPngPtr,gdImageCreateFromGifPtr in a critical
section with a mutex seemed to solve the problems.

I suggest to assure the reentrance of these functions.
What do you think of it ?

Thanks for your help, Have a nice day.


--- End Message ---
--- Begin Message ---
Version: 2.1.0-5

Just cleaning up old bugreports…

If you believe that the bug is still present in stable version of Debian, 
please update the bug accordingly and reopen it.

Thanks,
--
Ondřej Surý
[email protected]

--- End Message ---

Reply via email to