#21593 [Com]: make install:install-pear-* rules segfault on alpha
| From: | quel at quelrod dot net | Date: | Thu, 29 May 2003 19:45:31 +0000 |
| Subject: | #21593 [Com]: make install:install-pear-* rules segfault on alpha | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-16807@lists.php.net to get a copy of this message | ||
ID: 21593
Comment by: quel at quelrod dot net
Reported By: kelledin at users dot sourceforge dot net
Status: Assigned
Bug Type: PEAR related
Operating System: linux 2.4.18
PHP Version: 4.3.0
Assigned To: ssb
New Comment:
Openbsd 3.3 on x86 has the same problem. Seg fault on the make install
if you configure --with-pear.
no configure or make errors/warnings
I can't attach a backtrace as the debugging symbols were stripped from
httpd for performance reasons in the default install.
Previous Comments:
------------------------------------------------------------------------
[2003-04-30 06:35:38] wim dot vandersmissen at xatrax dot com
I also get a Segmentation fault when trying to install php-4.3.1 on
alpha.
Running install-pear.php from command line I get the following :
[PEAR] Archive_Tar: The following errors where found (use force option
to install anyway):
missing description
missing release notes
[PEAR] Console_Getopt: The following errors where found (use force
option to install anyway):
missing description
missing release notes
Segmentation fault (core dumped)
------------------------------------------------------------------------
[2003-04-28 04:02:15] arnaud@php.net
Assigning to stig.
------------------------------------------------------------------------
[2003-01-12 03:25:47] kelledin at users dot sourceforge dot net
PHP compiles and installs fine on x86. However, on my
EV56 box, it completes the compile but then segfaults
during "make install":
Installing shared extensions:
/var/tmp/php4-4.3.0-1-0-0-build/usr/lib/php/extensions/no-debug-non-zts-20020429/
Installing PEAR environment:
/var/tmp/php4-4.3.0-1-0-0-build/usr/lib/php/
[activating module `php4' in /etc/apache/httpd.conf]
cp libs/libphp4.so
/var/tmp/php4-4.3.0-1-0-0-build/usr/lib/apache/libphp4.so
chmod 755
/var/tmp/php4-4.3.0-1-0-0-build/usr/lib/apache/libphp4.so
cp /etc/apache/httpd.conf /etc/apache/httpd.conf.bak
cp /etc/apache/httpd.conf.new /etc/apache/httpd.conf
rm /etc/apache/httpd.conf.new
Installing build environment:
/var/tmp/php4-4.3.0-1-0-0-build/usr/lib/php/build/
Installing header files:
/var/tmp/php4-4.3.0-1-0-0-build/usr/include/php/
Installing helper programs:
/var/tmp/php4-4.3.0-1-0-0-build/usr/bin/
program: phpize
program: php-config
program: phpextdist
make[1]: *** [install-pear-installer] Segmentation fault
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [install-pear-packages] Segmentation fault
make: *** [install-pear] Error 2
And so it ends.
Running the commands through gdb produces the following
output:
GNU gdb 5.2.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public
License, and you are
welcome to change it and/or distribute copies of it under
certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show
warranty" for details.
This GDB was configured as "alpha-incept-linux-gnu"...
(gdb) set args
/usr/src/incept/BUILD/php-4.3.0/pear/install-pear.php
/usr/src/incept/BUILD/php-4.3.0/pear/package-*.xml
(gdb) run
Starting program:
/usr/src/incept/BUILD/php-4.3.0/sapi/cli/php
/usr/src/incept/BUILD/php-4.3.0/pear/install-pear.php
/usr/src/incept/BUILD/php-4.3.0/pear/package-*.xml
Program received signal SIGSEGV, Segmentation fault.
0x1200fd9c4 in php_strspn (
s1=0x12058b1b8 "This class provides handling of tar
files in PHP.\nIt supports creating, listing, extracting
and adding to tar files.\nGzip support is available if PHP
has the zlib extension built-in or\nloaded.\n",
s2=0x12058a348 " \t",
s1_end=0x22058b279 <Address 0x22058b279 out of
bounds>,
s2_end=0x22058a34a <Address 0x22058a34a out of
bounds>)
at
/usr/src/incept/BUILD/php-4.3.0/ext/standard/string.c:1305
1305 c = *(++p);
(gdb) backtrace full
#0 0x1200fd9c4 in php_strspn (
s1=0x12058b1b8 "This class provides handling of tar
files in PHP.\nIt supports creating, listing, extracting
and adding to tar files.\nGzip support is available if PHP
has the zlib extension built-in or\nloaded.\n",
s2=0x12058a348 " \t",
s1_end=0x22058b279 <Address 0x22058b279 out of
bounds>,
s2_end=0x22058a34a <Address 0x22058a34a out of
bounds>)
at
/usr/src/incept/BUILD/php-4.3.0/ext/standard/string.c:1305
p = 0x1205be000 <Address 0x1205be000 out of
bounds>
spanp = 0x12058a34b "ded."
c = 0 '\0'
#1 0x1200f9910 in php_spn_common_handler (ht=2,
return_value=0x1205570a8,
this_ptr=0x22058b279, return_value_used=542679882,
behavior=0)
at
/usr/src/incept/BUILD/php-4.3.0/ext/standard/string.c:244
s11 = 0x12058b1b8 "This class provides handling of
tar files in PHP.\nIt supports creating, listing,
extracting and adding to tar files.\nGzip support is
available if PHP has the zlib extension built-in
or\nloaded.\n"
s22 = 0x12058a348 " \t"
len1 = 4294967489
len2 = 4294967298
start = 0
len = 4294967489
#2 0x12019bdf8 in execute (op_array=0x1204c2c78)
at
/usr/src/incept/BUILD/php-4.3.0/Zend/zend_execute.c:1596
execute_data = {opline = 0x1203a7f58,
function_state = {
function_symbol_table = 0x2000080bb40, function =
0x120270430, reserved = {
0x2000080bb40, 0x12058a178, 0xa, 0x120172a7c}}, fbc
= 0x0, ce = 0x0, object = {
ptr = 0x0}, Ts = 0x11ffe8fb0, original_in_execution =
1 '\001',
op_array = 0x1204c2c78, prev_execute_data = 0x11ffed568}
(gdb) frame 2
#2 0x12019bdf8 in execute (op_array=0x1204c2c78)
at
/usr/src/incept/BUILD/php-4.3.0/Zend/zend_execute.c:1596
1596
((zend_internal_function *)
EX(function_state).function)->handler(EX(opline)->extended_value,
EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object).ptr,
return_value_used TSRMLS_CC);
(gdb)
From the stack trace above, I gather that exactly
0x100000000 is getting added to a couple of php_strspn's
parameters. Clearly something isn't quite 64-bit clean,
but I don't know what's broken. It could be the
install-pear.php script, or it could be php itself...
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=21593&edit=1