ID: 41350 Comment by: 256512 at gmail dot com Reported By: graham at directhostinguk dot com Status: No Feedback Bug Type: MySQL related Operating System: Windows 2003 PHP Version: 5.2.3 New Comment:
To reproduce the error on my setup (Windows XP SP2, PHP 5.2.4): - in php.ini enable any of the following extensions: php_mysql.dll, php_pdo_mysql.dll, php_mysqli.dll - execute "php.exe" on command line - press Ctrl+C After a significant pause (~5 seconds), the error message appears: "Error in my_thread_global_end(): 1 threads didn't exit" Disabling php_mysql.dll, php_pdo_mysql.dll, php_mysqli.dll in php.ini "fixes" the issue (php.exe exits immediately, without any errors). Disabling MySQL extensions eliminates a significant pause (~5 seconds) at exit with scripts that connect to a PostgreSQL database (yes, PostgreSQL, not MySQL). Without error messages, though. A minimal script to reproduce this, when any of the MySQL extensions are enabled, is a single pg_connect() statement. When MySQL extensions are disabled, the script exits immediately. Previous Comments: ------------------------------------------------------------------------ [2007-09-30 02:56:24] joecosmoj at gmail dot com By commenting out : ;extension=php_mysql.dll and restarting mysql THE BUG DISAPPEARED dll version=5.2.5.5 Special build descriptor = "-dev" ------------------------------------------------------------------------ [2007-09-28 14:40:58] ricardo dot rodrigues at istimeless dot pt Error in my_thread_global_end(): 1 threads didn't exit I don't think it's a MySQL error, since i'm not using it at all. I have no active instances of MySQL running. I'm using PHPLIB Templates and the code is very simple: <?php include ("Includes/template.inc"); $index = new Template("Templates"); $index->set_file("f_index", "index.tpl"); $index->set_var("page_title", "INDEX"); $index->parse("o_index", "f_index"); $index->p("o_index"); ?> I'm running PHP 5.4.2 with MySQL 5.0.45, under Windows XP Pro SP2 with IIS 5.1. ------------------------------------------------------------------------ [2007-09-27 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-09-26 13:31:31] w dot ashcroft at redfoxuk dot com Confirmed on Windows 2003 with IIS6 using MS FastCGI; using libmysql.dll (v5.0.22) from PHP 5.2.1 fixes the problem and massively improves PHP speed globally. ------------------------------------------------------------------------ [2007-09-26 10:29:02] chris at crgs dot co dot uk Have just tried the latest PHP 5.2 snapshot from http://snaps.php.net/ - *still* doesn't work. I am reproducing this on the most basic machine I can, a Windows 2000 Professional VM (Virtual PC 2007) with all security updates. There is nothing else on the PC, not even a MySQL install, just PHP (see below for settings), but I am still getting the error. However the error *DOES NOT ALWAYS OCCUR*, especially when I just use 'php -v'. Sometimes I have to run this command quite a few times before the error occurs - it comes up maybe 2 times out of 10. When I run it on my main box, outside the virtual machine, 'php -v' doesn't seem to trigger the error much at all: however, using a slightly more complicated command like 'php-cgi test.php' where test.php contains '<?php phpinfo(); ?>' triggers the error more often, even outside the VM. Are we looking at a race condition? Can people post the specification of their boxes as well? Mine is an Intel Pentium D 3.4Ghz (dual core) w/ 2GB RAM. Of course inside the virtual machine there's only one processor, which might explain partly why the error occurs more often inside the VM, although I don't think it's a single/multi-processor issue at heart, as I can still repro the issue on a dual core PC, just less often. Perhaps it's only an issue on slower machines? Scott, what's your spec? Here is what I did: Download php5.2-win32-200709260830.zip from http://snaps.php.net/ Extract to C:\PHP Append ';C:\PHP' to the PATH environment variable Add PHPRC environment variable, set to 'C:\PHP\php.ini' Copy php.ini-recommended to php.ini Change the following settings: extension_dir = "c:\php\ext\" extension=php_mysql.dll Run 'c:\PHP\php-cgi.exe -v' Returns (after a roughly 2 second pause): PHP 5.2.5-dev (cli) (built: Sep 26 2007 04:04:42) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Error in my_thread_global_end(): 1 threads didn't exit By the way, I also tried setting mysql.allow_persistent = Off, as suggested in some of the comments, but it didn't help in either environment (VM or real). ------------------------------------------------------------------------ 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/41350 -- Edit this bug report at http://bugs.php.net/?id=41350&edit=1