Home » PEAR » PEAR » Bug #5891
cannot upgrade/install package PEAR
Details
| Submitted | 2005-11-08 10:24 UTC |
|---|---|
| From | mdv at inyourpocket dot com |
| Status | Bogus |
| Package | PEAR |
| PHP Version | 5.0.5 |
| OS | Debian |
| Roadmaps | (Not assigned) |
Comments
[2005-11-08 10:24 UTC] mdv at inyourpocket dot com
Description:
------------
when i try install downloaded package PEAR or run command upgrade-all or upgrade PEAR pear consume all of my memory (see below) it's only for PEAR package
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9632 root 17 0 1102m 472m 584 R 46.0 93.8 0:32.60 php
Test script:
---------------
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover <not set>
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /usr/local/php/bin
PEAR documentation directory doc_dir /usr/local/php/lib/php/doc
PHP extension directory ext_dir /usr/local/php/lib/php/extensions/no-debug-non-zts-20041030
PEAR directory php_dir /usr/local/php/lib/php
PEAR Installer cache directory cache_dir /tmp/pear/cache
PEAR data directory data_dir /usr/local/php/lib/php/data
PHP CLI/CGI binary php_bin /usr/local/php/bin/php
PEAR test directory test_dir /usr/local/php/lib/php/test
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state stable
Unix file mask umask 22
Debug Log Level verbose 1
PEAR password (for password <not set>
maintainers)
Signature Handling Program sig_bin /usr/bin/gpg
Signature Key Directory sig_keydir /usr/local/php/etc/pearkeys
Signature Key Id sig_keyid <not set>
Package Signature Type sig_type gpg
PEAR username (for username <not set>
maintainers)
User Configuration File Filename /root/.pearrc
System Configuration File Filename /usr/local/php/etc/pear.conf
PEAR Version: 1.4.2
PHP Version: 5.0.5
Zend Engine Version: 2.0.5
Running on: Linux system 2.4.20 #1 Wed Jan 1 18:31:58 CET 2003 i686
Expected result:
----------------
that package will upgrade or install new version
Actual result:
--------------
SIGSEGV or Terminated
[2005-11-11 09:01 UTC] mdv at inyourpocket dot com
in function PEAR_Downloader::download() in file PEAR/Downloader.php (about line 380)
foreach ($params as $i => $package) {
PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
$pf = &$params[$i]->download();
var_dump('here');
die('DEBUG');
PEAR::staticPopErrorHandling();
if (PEAR::isError($pf)) {
statement var_dump('here') and rest is never reached, so it looks that here is problem:
$params[$i]->download();
i can send you var_dump($params[$i]); (is about 1.5M unpacked)
[2005-11-13 07:21 UTC] mdv at inyourpocket dot com
pear install -Z PEAR:
Skipping package "pear/PEAR", already installed as version 1.4.2
No valid packages found
install failed
but pear upgrade -Z PEAR:
same as first (php get all of my memory)
and it's only PEAR package other packages installed with no problem (Mail, Mail_Mime installed and other upgraded from distro versions)
var_dump($params[$i]->getPackage(), $params[$i]->getVersion()) returns:
string(4) "PEAR"
string(5) "1.4.4"
i will try to determine the source of the problem
[2005-11-13 07:49 UTC] mdv at inyourpocket dot com
in PEAR/Downloader/Package.php function _fromUrl($param, $saveparam = '')
input are:
string(38) "http://pear.php.net/get/PEAR-1.4.4.tgz"
string(9) "pear/PEAR"
is code (about line 1387):
$pf = &$pkg->fromAnyFile($file, PEAR_VALIDATE_INSTALLING);
PEAR::popErrorHandling();
if i put between two lines above print_r($pf); - everything is ok (i have dump - 520k) but if i put var_dump($pf); - it hangs and code after (eg. PEAR::popErrorHandling(); and rest is not executed)
[2005-11-13 11:25 UTC] mdv at inyourpocket dot com
i transfered whole PEAR and php.ini to another machine and here was SIGSEGV so i put php in gdb and there is result (maybe it helps):
(gdb) set arg -C -q -d include_path=/usr/local/php/lib/php -d output_buffering=1 /usr/local/php/lib/php/pearcmd.php upgrade PEAR
(gdb) r
Starting program: /usr/local/php/bin/php -C -q -d include_path=/usr/local/php/lib/php -d output_buffering=1 /usr/local/php/lib/php/pearcmd.php upgrade PEAR
downloading PEAR-1.4.4.tgz ...
Starting to download PEAR-1.4.4.tgz (276,978 bytes)
.........................................................done: 276,978 bytes
Program received signal SIGSEGV, Segmentation fault.
0xb7c6112f in free () from /lib/tls/libc.so.6
backtrack:
#1 0xb7c62cec in malloc () from /lib/tls/libc.so.6
#2 0x081ac80f in _emalloc (size=3084056672) at /root/src/php-5.0.5/Zend/zend_alloc.c:183
#3 0x081c7bfe in _zend_hash_add_or_update (ht=0x99d7934, arKey=Variable "arKey" is not available.
) at /root/src/php-5.0.5/Zend/zend_hash.c:242
#4 0x081c7e2a in zend_hash_copy (target=0x99d7934, source=0x8a5d23c, pCopyConstructor=0x81d2000 <zval_add_ref_or_clone>, tmp=0x0, size=4) at /root/src/php-5.0.5/Zend/zend_hash.c:760
#5 0x081d20df in zend_objects_clone_members (new_object=0x99d7914, new_obj_val={handle = 23717, handlers = 0x827a880}, old_object=0x8a1230c, handle=61) at /root/src/php-5.0.5/Zend/zend_objects.c:139
#6 0x081d227c in zend_objects_clone_obj (zobject=0x3c) at /root/src/php-5.0.5/Zend/zend_objects.c:186
#7 0x081d2060 in zval_add_ref_or_clone (p=0x99d78c0) at /root/src/php-5.0.5/Zend/zend_objects.c:127
#8 0x081c7e3a in zend_hash_copy (target=0x99d74f4, source=0x8a223cc, pCopyConstructor=0x81d2000 <zval_add_ref_or_clone>, tmp=0x0, size=4) at /root/src/php-5.0.5/Zend/zend_hash.c:765
#9 0x081d20df in zend_objects_clone_members (new_object=0x99d74d4, new_obj_val={handle = 23716, handlers = 0x827a880}, old_object=0x8a25c24, handle=62) at /root/src/php-5.0.5/Zend/zend_objects.c:139
#10 0x081d227c in zend_objects_clone_obj (zobject=0x3c) at /root/src/php-5.0.5/Zend/zend_objects.c:186
#11 0x081d2060 in zval_add_ref_or_clone (p=0x99d7488) at /root/src/php-5.0.5/Zend/zend_objects.c:127
#12 0x081c7e3a in zend_hash_copy (target=0x99d7404, source=0x8a5d23c, pCopyConstructor=0x81d2000 <zval_add_ref_or_clone>, tmp=0x0, size=4) at /root/src/php-5.0.5/Zend/zend_hash.c:765
#13 0x081d20df in zend_objects_clone_members (new_object=0x99d73e4, new_obj_val={handle = 23715, handlers = 0x827a880}, old_object=0x8a1230c, handle=61) at /root/src/php-5.0.5/Zend/zend_objects.c:139
#14 0x081d227c in zend_objects_clone_obj (zobject=0x3c) at /root/src/php-5.0.5/Zend/zend_objects.c:186
[2005-11-14 06:48 UTC] mdv at inyourpocket dot com
zend.ze1_compatibility_mode = On
with zend.ze1_compatibility_mode = Off upgrade with no problems
so thank you for solution (little easy, isn't ? :))