ID: 42625 Comment by: s dot s at terra dot com dot br Reported By: jama at mk dot cvut dot cz Status: Assigned Bug Type: MySQL related Operating System: Gentoo/Linux PHP Version: 5.2.4 Assigned To: andrey New Comment:
It seems a pthread version bug. Checking with gdb the result is: Starting program: /usr/bin/php [Thread debugging using libthread_db enabled] [New Thread -1218722112 (LWP 24212)] [New Thread -1219249232 (LWP 24215)] [Thread -1219249232 (zombie) exited] Program received signal SIGINT, Interrupt. [Switching to Thread -1218722112 (LWP 24212)] 0xb7708fd9 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0 And a backtrace: (gdb) bt #0 0xb7708fd9 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0 #1 0xb7706a64 in _L_mutex_lock_22 () from /lib/tls/libpthread.so.0 #2 0xb7fadaa0 in _dl_runtime_resolve () from /lib/ld-linux.so.2 #3 0xb7da51a1 in my_thread_global_end () from /usr/local/mysql/lib/libmysqlclient_r.so.15 #4 0xb7da51a1 in my_thread_global_end () from /usr/local/mysql/lib/libmysqlclient_r.so.15 #5 0xb7da10b5 in my_end () from /usr/local/mysql/lib/libmysqlclient_r.so.15 #6 0xb7d9a27e in mysql_server_end () from /usr/local/mysql/lib/libmysqlclient_r.so.15 #7 0x081817eb in zm_shutdown_mysqli (type=1, module_number=23, tsrm_ls=0x8600050) at /usr/src/network/web/php-5.2.5/ext/mysqli/mysqli.c:676 #8 0x083236fe in module_destructor (module=0x863e220) at /usr/src/network/web/php-5.2.5/Zend/zend_API.c:1916 #9 0x08329519 in zend_hash_apply_deleter (ht=0x85ffb80, p=0x863e1f0) at /usr/src/network/web/php-5.2.5/Zend/zend_hash.c:611 #10 0x083295d7 in zend_hash_graceful_reverse_destroy (ht=0x85ffb80) at /usr/src/network/web/php-5.2.5/Zend/zend_hash.c:646 #11 0x0831e4dd in zend_shutdown (tsrm_ls=0x8600050) at /usr/src/network/web/php-5.2.5/Zend/zend.c:733 #12 0x082db92e in php_module_shutdown (tsrm_ls=0x8600050) at /usr/src/network/web/php-5.2.5/main/main.c:1887 ---Type <return> to continue, or q <return> to quit--- #13 0x083986b9 in main (argc=1, argv=0xbfc5d364) at /usr/src/network/web/php-5.2.5/sapi/cli/php_cli.c:1335 Previous Comments: ------------------------------------------------------------------------ [2008-01-07 05:43:48] s dot s at terra dot com dot br Same problem since PHP 5.2.3. My site configuration: Distro: Slackware Linux 11.0 (will upgrade to 12.0 soon) # httpd -v Server version: Apache/2.2.6 (Unix) Server built: Dec 9 2007 18:54:29 # php -v PHP 5.2.5 (cli) (built: Dec 9 2007 21:25:26) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies # /usr/local/mysql/bin/mysql_config --version 5.0.41 ------------------------------- PHP and Apache was compiled by me. MySQL is the default pre-compiled distribution from MySQL.com web site. Strace output on cli mode: lstat64("/root", {st_mode=S_IFDIR|0710, st_size=1176, ...}) = 0 lstat64("/root/-", 0xbfcb65fc) = -1 ENOENT (No such file or directory) ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fbe000 read(0, "", 1024) = 0 close(0) = 0 munmap(0xb7fbe000, 4096) = 0 munmap(0xb7599000, 266240) = 0 mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7599000 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 gettimeofday({1199684414, 364083}, NULL) = 0 gettimeofday({1199684414, 365349}, NULL) = 0 futex(0xb7f655c0, FUTEX_WAIT, 2, NULL <unfinished ...> p.s. Why it searches for a file called "-" on the current directory??? (see second lstat64) ------------------------------------------------------------------------ [2007-11-27 12:29:45] dirk at bean-it dot nl Here I am again... :-) Debian posted updated for mysql-5 and it libs today. Installing this resolves my issue, I have a working php 5.2.5 now. Non working debian mysql-5 version: ii libmysqlclient15-dev 5.0.32-7etch1 ii libmysqlclient15off 5.0.32-7etch1 Working: ii libmysqlclient15-dev 5.0.32-7etch3 ii libmysqlclient15off 5.0.32-7etch3 Cheers, Dirk ------------------------------------------------------------------------ [2007-11-26 15:53:00] dirk at bean-it dot nl I'll have to get back on my previous post, it also happens on i686 :-( So, when I enable mysql & mysqli, this results in a non working php. (./configure --with-mysqli=/usr/bin/mysql_config --with-mysql=/usr) Just enabling mysql or mysqli works fine. (./configure --with-mysqli=/usr/bin/mysql_config) or (./configure --with-mysql=/usr) I've compared the mysql libs version on the i686 machines (one does compile a good php, one doesn't) and they are the same. ------------------------------------------------------------------------ [2007-11-21 19:47:12] dirk at bean-it dot nl I'm experiencing the same problem, but my 2 cents tell me this is only happening on amd64 + mysql + mysqli. My various i386 systems, build with the same configure options have no problems at all. Leaving mysql or mysqli option out results in a fine working php. Enabling them both results in a broken php (ie, no prompt is returned in the cli, and the apache modules works extremely crappy, since tons of new apaches are started and they all hang). The problem still exists in 5.2.5 and was not in there 5.2.3. I run Debian 4.0 (x86_64 GNU/Linux) on all systems, with stock kernels (2.6.18) I'm happy to provide more info, if necessary. Or to post a new bug, if you think this is more appropriate... ------------------------------------------------------------------------ [2007-10-05 12:22:29] jama at mk dot cvut dot cz I have updated mysql to: mysql_config --version 5.1.22-rc Downloaded new snapshots and new report seems OK for php.. ./test.report.sh php-5.2.4.log OK php-5.2.4-mysqli ./configure --disable-all --enable-maintainer-zts --with-mysqli=/usr/bin/mysql_config OK php-5.2.4-mysqli-mysql ./configure --disable-all --enable-maintainer-zts --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config php5.2-200710051030.log OK php5.2-200710051030-mysqli ./configure --disable-all --enable-maintainer-zts --with-mysqli=/usr/bin/mysql_config OK php5.2-200710051030-mysqli-mysql ./configure --disable-all --enable-maintainer-zts --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config php6.0-200710051030.log OK php6.0-200710051030-mysqli ./configure --disable-all --enable-maintainer-zts --with-mysqli=/usr/bin/mysql_config OK php6.0-200710051030-mysqli-mysql ./configure --disable-all --enable-maintainer-zts --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config OK php6.0-200710051030-mysqli-mysqlng ./configure --disable-all --enable-maintainer-zts --with-mysql=mysql --with-mysqli=mysqlnd ------------------------------------------------------------------------ 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/42625 -- Edit this bug report at http://bugs.php.net/?id=42625&edit=1