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