Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.1.0

Bug #9353 crash when selecting channel pear.php.net
Submitted: 2006-11-16 09:46 UTC Modified: 2006-12-16 03:39 UTC
From: m dot quinton at gmail dot com Assigned: cweiske
Status: Closed Package: PEAR_Frontend_Gtk2 (version 0.1.2)
PHP Version: 5.1.4 OS: linux - whitebox 3.0
Roadmaps: (Not assigned)    
Subscription  


 [2006-11-16 09:46 UTC] m dot quinton at gmail dot com (Marc Quinton)
Description: ------------ When trying to get package listing with Pear Gtk2 installer, there is a crash (error) during package reading (in the middle). Exact error is : Fatal error: Cannot use string offset as an array in /local/user/usr/stow/php-5.1.4/lib/php/PEAR/Frontend/Gtk2/Packages.php on line 313 - there is no probleme at all with Gnope and pecl.php.net. - this error also occures when preferred_state beta and when clearing (rm -fr) pear cache. lines context (line 313 is starred) : foreach ($arRemotePackages as $strId => $dontuseit) { if ($callback !== null) { call_user_func_array($callback, array($nNumberPackages, ++$nCurrentPackageNumber)); } $package = $arRemotePackages[$strId]; $inf = PEAR_Frontend_Gtk2_Packages::retrieveCacheFirst( PEAR_Frontend_Gtk2_Packages::getInfoUrl($strBaseUrl, $package->getName()), $config, $rest, $bWorkOffline, $bUseCache ); if (PEAR::isError($inf)) { if (strpos(strtolower($inf->message), '404 not found') !== false) { //FIXME: That is a hack because the error hasn't an error code yet. //We continue because it's an 404 error, maybe the package isn't there yet. //Happens if you installed new packages which haven't been uploaded to the server yet. $package->setCategory($package->guessCategory($package->getName())); continue; } throw new Exception($inf->getMessage()); } *** here *** if ($inf['ca']['_content'] !== null) { $package->setCategory( $inf['ca']['_content']); } $package->setSummary( $inf['s']); $package->setDescription($inf['d']); $package->setLatestVersion( //FIXME: use preferred_state config option PEAR_Frontend_Gtk2_Packages::retrieveCacheFirst( PEAR_Frontend_Gtk2_Packages::getLatestVersionUrl($strBaseUrl, $package->getName()), $config, $rest, $bWorkOffline, $bUseCache ) ); } $package value when error occures : PEAR_Frontend_Gtk2_Package Object ( [bFullyLoaded:protected] => [strName:protected] => Math_Basex [strChannel:protected] => pear.php.net [strCategory:protected] => [strSummary:protected] => [strDescription:protected] => [strVersionLatest:protected] => [strVersionInstalled:protected] => ) my local configuration : [mquinton@kari cache]$ pear config-show 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 http://sirius.stna.dgac.fr:8080/ 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 /local/usr/stow/php-5.1.4/bin PEAR documentation directory doc_dir /local/usr/stow/php-5.1.4/lib/php/doc PHP extension directory ext_dir /local/usr/stow/php-5.1.4/lib/php/extensions/no-debug-non-zts-20050922 PEAR directory php_dir /local/usr/stow/php-5.1.4/lib/php PEAR Installer cache directory cache_dir /tmp/pear/cache PEAR data directory data_dir /local/usr/stow/php-5.1.4/lib/php/data PEAR Installer download download_dir /tmp/pear/cache directory PHP CLI/CGI binary php_bin /local/usr/stow/php-5.1.4/bin/php php.ini location php_ini <not set> PEAR Installer temp directory temp_dir /tmp/pear/temp PEAR test directory test_dir /local/usr/stow/php-5.1.4/lib/php/test Cache TimeToLive cache_ttl 3600 Preferred Package State preferred_state devel 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 /local/usr/stow/php-5.1.4/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 /repertoirespersonnels/user/mquinton/.pearrc System Configuration File Filename /local/usr/stow/php-5.1.4/etc/pear.conf

Comments

 [2006-11-16 09:57 UTC] m dot quinton at gmail dot com
this error is from internet proxy filtering. Requested package contains "sex" letters. So this url is filtered. PEAR_Frontend_Gtk2_Packages::getInfoUrl() need extra controls.
 [2006-12-12 13:01 UTC] cweiske (Christian Weiske)
This bug has been fixed in CVS. If this was a documentation problem, the fix will appear on pear.php.net by the end of next Sunday (CET). If this was a problem with the pear.php.net website, the change should be live shortly. Otherwise, the fix will appear in the package's next release. Thank you for the report and for helping us make PEAR better.