#40858 [NoF->Csd]: Thread safety issue in GD
| From: | pajoye@php.net | Date: | Mon, 17 Aug 2009 08:46:15 +0000 |
| Subject: | #40858 [NoF->Csd]: Thread safety issue in GD | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-141126@lists.php.net to get a copy of this message | ||
ID: 40858
Updated by: pajoye@php.net
Reported By: scottmacvicar at ntlworld dot com
-Status: No Feedback
+Status: Closed
Bug Type: GD related
Operating System: RHEL 4
PHP Version: 5.2.1
Assigned To: pajoye
New Comment:
fixed in all branches.
Previous Comments:
------------------------------------------------------------------------
[2007-04-12 01:00:00] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2007-04-04 01:59:07] pajoye@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
------------------------------------------------------------------------
[2007-03-23 12:39:34] scottmacvicar at ntlworld dot com
I don't have access to a Windows machine at the moment but the
following patch should fix the issues in libGD, I'll try and do a test
when I have access to the machine.
PHP 5.2 Patch: http://public.vbulletin.com/bugs/php/gd-mutex-patch.txt
libGD Patch:
http://public.vbulletin.com/bugs/php/libgd-mutex-patch.txt
Explanation:
* pthread now initialises the mutex only once
* win32 can set the mutex within DLLMain
* Race condition fix by locking prior to checking font cache
Problems not fixed:
* calling gdFontCacheSetup before obtaining a lock is going to cause
the race condition still, I know the ruby wrappers do this.
* Unusure about behaviour of using the non bundled GD library on
windows with PHP since DLLMain and gdFontCacheMutexSetup may setup the
critical section twice. Could make gdMutexSetup(x) a no-op for win32
too.
------------------------------------------------------------------------
[2007-03-23 01:21:26] pajoye@php.net
Hi Scott, Nuno,
"Regarding the patch to the bundled GD library and the php wrapper,
does it look reasonable? We've been running it for the past 2 days now
without issue on a production server. I'd rather see something put
into
5.2.2 "
Yes, the patch for php (and unix) looks good. I will apply it during
the weekend as well (or Nuno, you can do it if you have the time
before).
For the windows version, that's a good news, thanks to take the time to
work on it.
------------------------------------------------------------------------
[2007-03-23 00:31:35] scottmacvicar at ntlworld dot com
I have some time to spare over the weekend and a copy of VC6 installed
now so I'll have a go at the win32 implementation.
Regarding the patch to the bundled GD library and the php wrapper, does
it look reasonable? We've been running it for the past 2 days now
without issue on a production server. I'd rather see something put into
5.2.2 and then fix libGD.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/40858
--
Edit this bug report at http://bugs.php.net/?id=40858&edit=1