|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-02-27 11:23 UTC] errol at issi dot co dot za
Description:
------------
I was running 5.0.4 (cgi) on an ARM processor (embedded) with linux 2.4.27 and it worked successfully. I have now upgraded to linux 2.6.20 and PHP 5.2.1 (cgi) and I now get a segmentation fault on some of my scripts that previously worked. I have no gdb on the embedded system and have not been able to reproduce the problem on my SuSE linux systems.
Reproduce code:
---------------
Part of code ...
<table>
<?php
exec("/usr/sbin/ntpq -c peers",$result);
while (list($key,$value) = each($result)){
$table = split(" *",trim($value));
if ($key == 0){
echo "<tr>";
echo "<th>Reference</th>";
echo "<th>$table[0]</th>";
echo "<th>$table[1]</th>";
echo "<th>$table[2]</th>";
echo "<th>$table[3]</th>";
echo "<th>$table[4]</th>";
echo "<th>$table[5]</th>";
echo "<th>$table[6]</th>";
echo "<th>$table[7]</th>";
echo "<th>$table[8]</th>";
echo "<th>$table[9]</th>";
echo "</tr>";
Expected result:
----------------
-bash-3.2# ./php -v
PHP 5.2.1 (cgi) (built: Feb 23 2007 17:03:34)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
Expected result is a table of values.
Actual result:
--------------
Result:
-bash-3.2# ./php ../htdocs/ntp.php
X-Powered-By: PHP/5.2.1
Content-type: text/html
<!--
#***********************************************************************
# Integrated Seismic System
# =========================
#
# $Id: ntp.php,v 1.9 2006/07/11 09:11:41 issd Exp $
#
#***********************************************************************
#
# All rights reserved. Copyright by ISS International Ltd., 1988-2003.
#
# No reproduction of this computer program in whole or in part, in
# any form, by any electronic, mechanical or other means is permitted
# without the written permission of ISS International Limited.
#
# END OF RCS HEADER
-->
<html>
<head>
<title>Seismic Controller</title>
<link
href="controller.css"
rel="stylesheet"/>
<script src="javascript/issupdate.js"></script>
<!-- <meta
content="30"
http-equiv="Refresh"/>-->
</head>
<body onload=setTimeout("updateISS('ntp.php',30000)",3000)>
<center>
<h1>Seismic Controller</h1>
<h1> ()</h1>
<h2>Tue Feb 27 11:20:54 UTC 2007
</h2>
<img
src="monitors/images/ISSsmall_logo.png"/>
<br/>
<table>
Segmentation fault
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Dec 01 16:00:02 2025 UTC |
I cannot generate a backtrace as I do not have gdb on the embedded ARM system. I have also been unable to reproduce the problem on a system where I have gdb. I have been able to islolate the problem to this line of code. while (list($key,$value) = each($result)){ I have checked and $result is a valid array of values.I managed to get gdb to cross-compile and run on the ARM. Here is the backtrace #0 ZEND_ASSIGN_SPEC_CV_VAR_HANDLER (execute_data=0xbef2f730) at /home/issarm/Projects/arm-2007-02-18/src/php-5.2.1/Zend/zend_execute.c:183 #1 0x0020e6fc in execute (op_array=0x40334308) at /home/issarm/Projects/arm-2007-02-18/src/php-5.2.1/Zend/zend_vm_execute.h:92 #2 0x001f18b8 in zend_execute_scripts (type=8, retval=<value optimized out>, file_count=1701011824) at /home/issarm/Projects/arm-2007-02-18/src/php-5.2.1/Zend/zend.c:1135 #3 0x001b50e0 in php_execute_script (primary_file=Cannot access memory at address 0xfffffe03 ) at /home/issarm/Projects/arm-2007-02-18/src/php-5.2.1/main/main.c:1784 #4 0x0026d480 in main (argc=0, argv=0x643030) at /home/issarm/Projects/arm-2007-02-18/src/php-5.2.1/sapi/cgi/cgi_main.c:1738Here is the backtrace from the latest build I downloaded from snaps. (gdb) bt #0 ZEND_ASSIGN_SPEC_CV_VAR_HANDLER (execute_data=0xbeec5730) at /home/issarm/Projects/arm-2007-02-18/src/php5.2-200702271530/Zend/zend_execute.c:69 #1 0x002126c8 in execute (op_array=0x40334310) at /home/issarm/Projects/arm-2007-02-18/src/php5.2-200702271530/Zend/zend_vm_execute.h:92 #2 0x001f5878 in zend_execute_scripts (type=8, retval=<value optimized out>, file_count=0) at /home/issarm/Projects/arm-2007-02-18/src/php5.2-200702271530/Zend/zend.c:1134 #3 0x001b8ba0 in php_execute_script (primary_file=Cannot access memory at address 0xfffffe03 ) at /home/issarm/Projects/arm-2007-02-18/src/php5.2-200702271530/main/main.c:1787 #4 0x002713f8 in main (argc=0, argv=0x643030) at /home/issarm/Projects/arm-2007-02-18/src/php5.2-200702271530/sapi/cgi/cgi_main.c:1746