|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-09-11 18:48 UTC] jama at mk dot cvut dot cz
Description:
------------
when compiled vanilla php-5.2.4 with this params
./configure --disable-all --enable-maintainer-zts --with-mysqli=/usr/
bin/mysql_config
it's ok
when added mysql support too
./configure --disable-all --enable-maintainer-zts --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config
it's bad even sapi/cli/php -i hangs forever on futex call
strace sapi/cli/php -i
....
write(1, "questions about PHP licensing, p"..., 63questions about PHP licensing, please contact license@php.net.
) = 63
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
futex(0x2adbeb81cac0, FUTEX_WAIT, 2, NULL <unfinished ...>
The same behavior with php5.2-200709110830.
Reproduce code:
---------------
tar xjvf php-5.2.4.tar.bz2
mv php-5.2.4 php-5.2.4-mysqli
cp -r php-5.2.4-mysqli php-5.2.4-mysql-mysqli
cd php-5.2.4-mysql-mysqli
./configure --disable-all --enable-maintainer-zts --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config
make
sapi/cli/php -i #HANGS HERE#
cd ../php-5.2.4-mysqli
./configure --disable-all --enable-maintainer-zts --with-mysqli=/usr/
bin/mysql_config
make
sapi/cli/php -i #DOESN'T HANG HERE#
Diff between those 2 build dirs on my pc..
http://pastebin.com/m9c448da
Portage 2.1.3.9 (default-linux/amd64/2007.0/desktop, gcc-4.2.2-alpha20070905/amd64-vanilla, glibc-2.6.1-r0, 2.6.23-rc5-git1-JaMa x86_64)
=================================================================
System uname: 2.6.23-rc5-git1-JaMa x86_64 AMD Athlon(tm) 64 Processor 3700+
Timestamp of tree: Tue, 11 Sep 2007 10:01:01 +0000
ccache version 2.4 [enabled]
app-admin/eselect-compiler: 2.0.0_rc2-r1
app-shells/bash: 3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python: 2.4.4-r4, 2.5.1-r2
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache: 2.4-r7
sys-apps/baselayout: 2.0.0_rc4-r1
sys-apps/sandbox: 1.2.18.1
sys-devel/autoconf: 2.13, 2.61-r1
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils: 2.18.50.0.1
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool: 1.5.24
virtual/os-headers: 2.6.22-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8"
Expected result:
----------------
php cli working
Actual result:
--------------
php cli hanging on every occasion
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 01:00:01 2025 UTC |
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)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