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

Reply via email to