ID: 19413 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Bogus Bug Type: GD related Operating System: OS/2 PHP Version: 4.2.3 New Comment:
>Sorry, but your problem does not imply a bug in PHP itself. Well, that depends on whether you consider the bundled GD library to be part of "PHP itself". I believe the root of the problem is that GD (in gdft.c) uses static global variables: static gdCache_head_t *fontCache; static FT_Library library; Both of these need to be thread local or their use serialized. The GD font cache code does no locking so sharing the font cache between threads is not safe. The FreeType docs also state that FT_Library objects should not be shared between threads. Previous Comments: ------------------------------------------------------------------------ [2002-12-07 01:37:00] [EMAIL PROTECTED] Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Thank you for your interest in PHP. PHP has no control over the Freetype library any thread safety issues should be addressed by the authors of that library. ------------------------------------------------------------------------ [2002-09-16 15:27:06] [EMAIL PROTECTED] I really don't think an extension/library not being threadsafe is a critical issue for 4.3. There are dozens of extensions with thread safety problems and if we say that making every extension threadsafe is a requirement for 4.3 it will take us 12+ months before we can release it. ------------------------------------------------------------------------ [2002-09-15 03:13:14] [EMAIL PROTECTED] Setting this to critical so that it will be picked by somebody before 4.3 is released. Derick ------------------------------------------------------------------------ [2002-09-15 01:53:40] [EMAIL PROTECTED] This patch serializes access to gdImageStringFT & friends, curing the segfaults I'd been getting. http://silk.apana.org.au/pub/apache/gd_threadsafe_patch.txt ------------------------------------------------------------------------ [2002-09-15 01:34:18] [EMAIL PROTECTED] In testing Apache v2.0.40 running multi-threaded, I noticed regular exceptions occurring with concurrent requests for a GD generated image. I tracked it down to the fact that the way GD uses freetype is not thread safe (it uses a single static FT_Library object which the freetype docs specifically say shouldn't be shared between threads). ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19413&edit=1