ID: 15774 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Bogus Bug Type: Reproducible crash Operating System: GNU/Linux Debian Potato PHP Version: 4.1.2 New Comment:
The configuration problem was in the apache configuration, however it was on the PHP side. I was compiling in the php module static, yet also trying to load the module. A simple check at the first load of PHP as a dynamic module to see if php support is already built into apache would do the trick. Apache has no mechanism to tell if a module is loaded or not, perhaps it ought to have better hooks for this sort of thing, but until then maybe PHP should shine and do this check itself. This is the second time I've been caught in the middle of a PHP/Apache finger pointing. Apache says it is PHP's poor error reporting, PHP says it is Apache's fault. Meanwhile, I spend literally hours (unplanned in this case due to the security bug) trying to get php/apache to work on the 4th system that day. I like PHP and I like Apache, and I accept having to update all my systems that run them when it is needed, but nobody should do what I had to do. :) Just a little bit of coordination between the two projects could really iron out a lot of problems and instead of an obscure lookng zend related problem, I could get hit with a cluestick, "You are trying to load a module that is compiled in statically, duuuh" btw. I will be submitting this to apache as well, and I dont want to hear from both sides that the other should do it, that would be really frustrating (admitedly, it wouldn't turn me to Microsoft, but it would be disheartening to see two great projects acting this way) Previous Comments: ------------------------------------------------------------------------ [2002-02-28 05:47:28] [EMAIL PROTECTED] I hope apache detects the misconfiguration and print nice error, too :) ------------------------------------------------------------------------ [2002-02-28 04:35:33] [EMAIL PROTECTED] After working with user on IRC for a while, the problem appears to have been loading a dynamic PHP module in an apache that had a later PHP version builtin. Perhaps there is some way we could watch for this and let the user know what they've dong? ------------------------------------------------------------------------ [2002-02-28 03:12:39] [EMAIL PROTECTED] Reopened. You have something wrong. Exit code 0377 is actually a 255(or -1). Apache is exiting without proper exit code set, most likely. I suggest to get rid of module one by one and locate which module is offending module and let us know. ------------------------------------------------------------------------ [2002-02-28 02:52:35] [EMAIL PROTECTED] Did some more poking in gdb: (gdb) br zend_hash_destroy Breakpoint 1 at 0x813a7c3: file zend_hash.c, line 532. (gdb) r -X Starting program: /usr/local/apache/bin/httpd_new -X Breakpoint 1, zend_hash_destroy (ht=0x81e8ce0) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) n 534 SET_INCONSISTENT(HT_IS_DESTROYING); (gdb) 536 p = ht->pListHead; (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x81edb20) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) n 534 SET_INCONSISTENT(HT_IS_DESTROYING); (gdb) 536 p = ht->pListHead; (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x81e9c9c) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x81d8c60) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x81ea7b4) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x81ea788) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) d Delete all breakpoints? (y or n) n (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x82059b8) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x82059e8) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) watch 0x081d8860 Watchpoint 2: 136153184 (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x8205d58) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x8205d84) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) c Continuing. Breakpoint 1, zend_hash_destroy (ht=0x820e8b0) at zend_hash.c:532 532 IS_CONSISTENT(ht); (gdb) clear zend_hash_destroy Deleted breakpoint 1 (gdb) c Continuing. Program exited with code 0377. (gdb) quit Not a very useful error... if this is user error, it isn't very obvious what is wrong. ------------------------------------------------------------------------ [2002-02-28 02:50:07] [EMAIL PROTECTED] Actually, I was running 4.0.6 before this upgrade, not 4.1.1, but I did use the same configuration options that I used from 4.0.6 (I always save my ./configure options so that I can recreate them). ------------------------------------------------------------------------ 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/15774 -- Edit this bug report at http://bugs.php.net/?id=15774&edit=1