ID:               45761
 User updated by:  a dot sanders at manchester dot ac dot uk
 Reported By:      a dot sanders at manchester dot ac dot uk
-Status:           Feedback
+Status:           Open
 Bug Type:         Compile Failure
 Operating System: Solaris 9
 PHP Version:      5.2.6
 Assigned To:      fb-req-jani
 New Comment:

I downloaded the latest this morning and did
 
  ./configure --disable-all
  make test

I compiles okay and then still seg faults when it
gets to the test part of make test:

 ...
 Build complete.
 Don't forget to run 'make test'.

 Segmentation Fault - core dumped
 make: [test] Error 139 (ignored)

Same stuff as before from gdb:

 #0  0x0010003c in _zval_ptr_dtor (zval_ptr=0x23f1e0)
     at /home/copacw/php5.2-200808110830/Zend/zend_execute_API.c:412
 412             (*zval_ptr)->refcount--;
 (gdb) print *zval_ptr
 $1 = (zval *) 0x1
 (gdb) 

I recompiled again with the DEBUG_ZEND=2 flag and got the following
result:

 Build complete.
 Don't forget to run 'make test'.
 
 
 +-----------------------------------------------------------+
 |                       ! ERROR !                           |
 | The test-suite requires that you have pcre extension      |
 | enabled. To enable this extension either compile your PHP |
 | with --with-pcre-regex or if you've compiled pcre as a    |
 | shared module load it via php.ini.                        |
 +-----------------------------------------------------------+

So reconfigured and recompiled again with --disbale-all
--with-pcre_regex. This time it compiled and got to test 3519 when
it again tried to spawn thousands of child processes. It
was in danger of consuming all available memory, so I killed
it at that point.

  TEST 3519/3546 [sapi/cgi/tests/001.phpt]


Previous Comments:
------------------------------------------------------------------------

[2008-08-08 18:12:01] [EMAIL PROTECTED]

s/options/patches/ :)

------------------------------------------------------------------------

[2008-08-08 18:11:35] [EMAIL PROTECTED]

Get this:
http://snaps.php.net/php5.2-latest.tar.gz

And do not apply any 3rd party options. And do (exactly) this:

# ./configure --disable-all && make test


------------------------------------------------------------------------

[2008-08-08 11:59:04] a dot sanders at manchester dot ac dot uk

Description:
------------
'make test' fails immediately with a segmentation fault. Re-compiling
with compiler flag DEBUG_ZEND=2 allows 'make test' to get to test
4399 before spawning several thousand php-cgi children and consuming
all 
the system memory.


Actual result:
--------------
Initial configure command was:

    env LDFLAGS="-R/copac/gcc-4/lib" ./configure --prefix=~/apache-
2_2/ --with-mysql=/home/copacw/mysql5/mysql --with-libxml-
dir=/home/copacw/apache-2_2

A 'make test' from the above results in this:

 huntly copacw/php-5.2.6 $ make test
 Build complete.
 Don't forget to run 'make test'.
 Segmentation Fault - core dumped 
 make: [test] Error 139 (ignored)

A backtrace of the core file from the above:

 #0  0x00220130 in _zval_ptr_dtor (zval_ptr=0x39d8a8)
     at /home/copacw/php-5.2.6/Zend?/zend_execute_API.c:412 
 412             (*zval_ptr)->refcount--;
 (gdb) list
 407     ZEND_API void _zval_ptr_dtor(zval **zval_ptr 
ZEND_FILE_LINE_DC)
 408     {
 409     #if DEBUG_ZEND>=2
 410             printf("Reducing refcount for %x (%x):  %d->%d\n", 
*zval_ptr, zval_ptr, (*zval_ptr)->refcount, (*zval_ptr)-
>refcount-1);
 411     #endif
 412             (*zval_ptr)->refcount--;
 413             if ((*zval_ptr)->refcount==0) {
 414                     zval_dtor(*zval_ptr);
 415                     safe_free_zval_ptr_rel(*zval_ptr 
ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC);
 416             } else if ((*zval_ptr)->refcount == 1) {
 (gdb) print *zval_ptr
 $1 = (zval *) 0x1

I reconfigured by adding CFLAGS="-DDEBUG_ZEND=2" to the start of the 
configure command, did a 'make clean', then 'make', then 
'make test'.
This time the 'make test' gets to test 4399 and then fails as below:

 ....
 PASS XMLWriter: libxml2 XML Writer DTD Element & Attlist 
[ext/xmlwriter/tests/OO_008.phpt] 
 PASS XMLWriter: PI, Comment, CDATA [ext/xmlwriter/tests/OO_009.phpt] 
 PASS Bug #39504 (xmlwriter_write_dtd_entity() creates Attlist tag, 
not enity) [ext/xmlwriter/tests/bug39504.phpt] 
 PASS Bug #41287 (Namespace functions don't allow xmlns defintion to 
be optional) [ext/xmlwriter/tests/bug41287.phpt] 
 PASS Bug #41287 (Writing empty tags with Xmlwriter::WriteElement?
[ns]) [ext/xmlwriter/tests/bug41326.phpt] 
 TEST 4399/4426 [sapi/cgi/tests/001.phpt]

Test 4399 spawned over 4400 php-cgi child processes (on a previous run

when I left it
to its own devices it kept going until it had consumed all the system 
memory and swap.)

A ps of the process it created is as follows:

 $ ps -ef | grep php-cgi        
   copacw    40    37  0 12:22:05 pts/3    0:00 sh -c 
/home/copacw/php-5.2.6/sapi/cgi/php-cgi -n -v
   copacw 29989 29988  0 12:22:03 pts/3    0:00 /home/copacw/php-
5.2.6/sapi/cgi/php-cgi -n -v
   copacw  1721  1720  0 12:23:07 pts/3    0:00 /home/copacw/php-
5.2.6/sapi/cgi/php-cgi -n -v
   ...

I also tried 'make install'. The first compile WITHOUT the DEBUG_ZEND 
flag failed
on a 'make install' with a segmentation fault. The compile WITH the 
flag successfully
performed the 'make install'.



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=45761&edit=1

Reply via email to