ID:               28006
 Updated by:       [EMAIL PROTECTED]
 Reported By:      per at computer dot org
-Status:           Open
+Status:           Feedback
 Bug Type:         Reproducible crash
 Operating System: linux, kernel 2.4.24
 PHP Version:      4.3.4
 New Comment:

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try avoid embedding huge scripts into the report.




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

[2004-04-15 10:43:38] per at computer dot org

Here's the backtrace when doing the same thing with 

php4-STABLE-200404151030 

 

(gdb) run -X -f /etc/httpd/httpd.conf 

Starting program: /usr/bin/httpd -X -f /etc/httpd/

httpd.conf 

[New Thread 16384 (LWP 18823)] 

[Thu Apr 15 16:35:42 2004] [warn] module php4_module is 

already loaded, skipping 

 

Program received signal SIGSEGV, Segmentation fault. 

[Switching to Thread 16384 (LWP 18823)] 

0x40578b32 in zend_get_executed_lineno () at /usr/src/

packages/SOURCES/php4-STABLE-200404151030/Zend/

zend_execute_API.c:271 

271                     return active_opline->lineno; 

(gdb) bt 

#0  0x40578b32 in zend_get_executed_lineno () at /usr/src/

packages/SOURCES/php4-STABLE-200404151030/Zend/

zend_execute_API.c:271 

#1  0x405811bd in zend_error (type=8, format=0x40709bff 

"Undefined index:  %s") at /usr/src/packages/SOURCES/

php4-STABLE-200404151030/Zend/zend.c:733 

#2  0x40593a80 in zend_fetch_dimension_address_inner 

(ht=0x81d2d2c, op2=0x8226540, Ts=0xbfffaa7c, type=0) at /

usr/src/packages/SOURCES/php4-STABLE-200404151030/Zend/

zend_execute.c:645 

#3  0x4058cba0 in zend_fetch_dimension_address 

(result=0x8226520, op1=0x82061bc, op2=0x8226540, 

Ts=0xbfffaa7c, type=0) at /usr/src/packages/SOURCES/

php4-STABLE-200404151030/Zend/zend_execute.c:801 

#4  0x40591dbe in execute (op_array=0x81e932c) at /usr/src/

packages/SOURCES/php4-STABLE-200404151030/Zend/

zend_execute.c:1297 

#5  0x4058130b in zend_execute_scripts (type=8, retval=0x0, 

file_count=3) at /usr/src/packages/SOURCES/

php4-STABLE-200404151030/Zend/zend.c:886 

#6  0x40554fcf in php_execute_script 

(primary_file=0xbffff3f0) at /usr/src/packages/SOURCES/

php4-STABLE-200404151030/main/main.c:1731 

#7  0x40594ae4 in php_handler (r=0x81c17e8) at /usr/src/

packages/SOURCES/php4-STABLE-200404151030/sapi/

apache2handler/sapi_apache2.c:561 

#8  0x08092d85 in ap_run_handler (r=0x81c17e8) at 

config.c:151 

#9  0x08093390 in ap_invoke_handler (r=0x81c17e8) at 

config.c:358 

#10 0x08076edb in ap_process_request (r=0x81c17e8) at 

http_request.c:246 

#11 0x0807239d in ap_process_http_connection (c=0x81b4fd8) 

at http_core.c:250 

#12 0x0809de25 in ap_run_process_connection (c=0x81b4fd8) 

at connection.c:42 

#13 0x08091384 in child_main (child_num_arg=148) at 

prefork.c:609 

#14 0x0809159b in make_child (s=0x0, slot=0) at 

prefork.c:649 

#15 0x080915f8 in startup_children (number_to_start=5) at 

prefork.c:721 

#16 0x08091e6a in ap_mpm_run (_pconf=0x80d6310, 

plog=0x8116410, s=0x80d9dd0) at prefork.c:940 

#17 0x080983bd in main (argc=4, argv=0xbffff764) at 

main.c:617

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

[2004-04-15 07:44:25] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip



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

[2004-04-15 07:36:22] per at computer dot org

Description:
------------
Hi, 

 

I've got a situation where a seemingly innocent statement 

produces a 

segfault. I've tried reducing it to a single reproducable 

testcase, but 

without 

success.  The problem is however solidly reproducable in the 

context in which it occurs.  

I'm certain it is caused by a mistake in my code, but I 

feel it isn't 

exactly appropriate for php to segfault because of a user 

error?  

 

Very briefly, this is an excerpt where the segfault occurs: 

 

<h2><?php print $_SESSION['customers'][$customer]; ?></h2> 

<?php 

 

        $q="<longish SELECT query>"; 

        $result=mysql_query( $q ) or die("mysql:".mysql_error()); 

 

        $main_address=mysql_fetch_array( $result, MYSQL_ASSOC ); 

 

        $q="<longish SELECT query>"; 

        $result=mysql_query( $q ) or die(mysql_error()); 

 

        $billing_address=mysql_fetch_array( $result, MYSQL_ASSOC ); 

 

        $q="<longish SELECT query>"; 

        $result=mysql_query( $q ) or die(mysql_error()); 

 

        $technical_address=mysql_fetch_array( $result, MYSQL_ASSOC ); 

 

        $editmain=strcasecmp($_REQUEST['contact'],"main")==0; 

        //

$editbilling=strcasecmp($_REQUEST['contact'],"billing")==0; 

        //

$edittechnical=strcasecmp($_REQUEST['contact'],"technical")==0; 

 

?> 

 

If I uncomment either of the last 2 commented-out 

statements, I get a segfault. 

I'm using php 4.3.4 and apache 2.0.49 on linux 2.4.24. 

mysql is 4.0.15. 

 

------- 

OK,  

I've now guarded the above with : 

 

if ( isset($_REQUEST['contact']) ) 

{ 

        $editmain=strcmp($_REQUEST['contact'],"main")==0; 

        $editbilling=strcmp($_REQUEST['contact'],"billing")==0; 

        $edittechnical=strcasecmp($_REQUEST['contact'],"technical")==0;


} 

 

and the segfault is 

gone.  Still, a segfault just because I'm using an unset 

global?  And why only on the 2nd or later statement? 

Actual result:
--------------
(gdb) run -X -f /etc/httpd/httpd.conf 

Starting program: /usr/bin/httpd -X -f /etc/httpd/

httpd.conf 

[New Thread 16384 (LWP 9121)] 

 

Program received signal SIGSEGV, Segmentation fault. 

[Switching to Thread 16384 (LWP 9121)] 

0x40576622 in zend_get_executed_lineno () at /usr/src/

packages/SOURCES/php-4.3.4/Zend/zend_execute_API.c:271 

271                     return active_opline->lineno; 

(gdb) bt 

#0  0x40576622 in zend_get_executed_lineno () at /usr/src/

packages/SOURCES/php-4.3.4/Zend/zend_execute_API.c:271 

#1  0x4057ec6d in zend_error (type=8, format=0x40706ea3 

"Undefined index:  %s") at /usr/src/packages/SOURCES/

php-4.3.4/Zend/zend.c:731 

#2  0x405914a0 in zend_fetch_dimension_address_inner 

(ht=0x81d4bf4, op2=0x821ed34, Ts=0xbfffb34c, type=0) at /

usr/src/packages/SOURCES/php-4.3.4/Zend/zend_execute.c:636 

#3  0x4058a5f0 in zend_fetch_dimension_address 

(result=0x821ed14, op1=0x81d4bd4, op2=0x821ed34, 

Ts=0xbfffb34c, type=0) at /usr/src/packages/SOURCES/

php-4.3.4/Zend/zend_execute.c:787 

#4  0x4058f7fe in execute (op_array=0x81d4f2c) at /usr/src/

packages/SOURCES/php-4.3.4/Zend/zend_execute.c:1283 

#5  0x4057edbb in zend_execute_scripts (type=8, retval=0x0, 

file_count=3) at /usr/src/packages/SOURCES/php-4.3.4/Zend/

zend.c:884 

#6  0x40552f3f in php_execute_script 

(primary_file=0xbffff3d0) at /usr/src/packages/SOURCES/

php-4.3.4/main/main.c:1729 

#7  0x405923b8 in php_handler (r=0x81ef8f8) at /usr/src/

packages/SOURCES/php-4.3.4/sapi/apache2handler/

sapi_apache2.c:537 

#8  0x08092d85 in ap_run_handler (r=0x81ef8f8) at 

config.c:151 

#9  0x08093390 in ap_invoke_handler (r=0x81ef8f8) at 

config.c:358 

#10 0x08076edb in ap_process_request (r=0x81ef8f8) at 

http_request.c:246 

#11 0x0807239d in ap_process_http_connection (c=0x81b5000) 

at http_core.c:250 

#12 0x0809de25 in ap_run_process_connection (c=0x81b5000) 

at connection.c:42 

#13 0x08091384 in child_main (child_num_arg=0) at 

prefork.c:609 

#14 0x0809159b in make_child (s=0x0, slot=0) at 

prefork.c:649 

#15 0x080915f8 in startup_children (number_to_start=5) at 

prefork.c:721 

#16 0x08091e6a in ap_mpm_run (_pconf=0x80d6310, 

plog=0x8116410, s=0x80d9dd0) at prefork.c:940 

#17 0x080983bd in main (argc=4, argv=0xbffff744) at 

main.c:617 

 


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


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

Reply via email to