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

Bug #17395 Fatal Error when trying to run document
Submitted: 2010-05-13 13:38 UTC
From: lior Assigned: ashnazg
Status: Closed Package: PhpDocumentor (version 1.4.3)
PHP Version: 5.3.0 OS: Windows 7
Roadmaps: 1.4.4    
Subscription  


 [2010-05-13 13:38 UTC] lior (Lior Broshi)
Description: ------------ When trying to run phpDocumentor on a CodeIgniter based project, it crashes. When I tried to run it on a regular-plain php project, it worked just fine. Actual result: -------------- Notice: Undefined index: parent in D:\xampp\php\PEAR\PhpDocumentor\phpDocumentor\Converters\HTML\Smarty\HTMLSmartyConverter.inc on line 1378 Notice: Undefined index: link in D:\xampp\php\PEAR\PhpDocumentor\phpDocumentor\Converters\HTML\Smarty\HTMLSmartyConverter.inc on line 1406 Notice: Trying to get property of non-object in D:\xampp\php\PEAR\PhpDocumentor\phpDocumentor\Converters\HTML\Smarty\HTMLSmartyConverter.inc on line 1406 Notice: Undefined index: link in D:\xampp\php\PEAR\PhpDocumentor\phpDocumentor\Converters\HTML\Smarty\HTMLSmartyConverter.inc on line 1407 Notice: Trying to get property of non-object in D:\xampp\php\PEAR\PhpDocumentor\phpDocumentor\Converters\HTML\Smarty\HTMLSmartyConverter.inc on line 1407 Fatal error: Call to a member function getImplements() on a non-object in D:\xampp\php\PEAR\PhpDocumentor\phpDocumentor\Converters\HTML\Smarty\HTMLSmartyConverter.inc on line 1408

Comments

 [2011-09-24 11:49 UTC] ashnazg (Chuck Burgess)
Can you provide some small file of CodeIgniter-based code of yours that triggers this failure?
 [2011-09-24 11:49 UTC] ashnazg (Chuck Burgess)
-Status: Open +Status: Feedback -Assigned To: +Assigned To: ashnazg
 [2011-09-26 12:34 UTC] lior (Lior Broshi)
Hmm can't remember in which project it occurred...i think you can download a fresh version of CodeIgnite from codeigniter.com and see it for yourself...
 [2011-09-27 05:20 UTC] ashnazg (Chuck Burgess)
Was able to duplicate exactly the reported stream of notices leading to the fatal, using phpDocumentor 1.4.3 on PHP 5.3.8, when processing CodeIgniter 1.7.2.
 [2011-09-27 05:25 UTC] ashnazg (Chuck Burgess)
-Status: Feedback +Status: Verified
Also verified bug behavior against phpDocumentor 1.4.3 on PHP 5.2.17 and 4.4.9.
 [2011-09-28 07:55 UTC] ashnazg (Chuck Burgess)
Can't seem to narrow the "testcase" any further than using all the /codeigniter and /libraries subdirs of CodeIgniter 1.7.2 source. Using those dirs results in duplicating the failure behavior consistently.
 [2011-09-28 07:56 UTC] ashnazg (Chuck Burgess)
-Roadmap Versions: +Roadmap Versions: 1.4.4
I have a working patch that fixes the issue for the HTML:frames:default converter, across PHP 5.3.8, 5.2.17, and 4.4.9. Need to construct patches for the other converters next.
 [2011-10-01 04:56 UTC] ashnazg (Chuck Burgess)
-Status: Verified +Status: Closed
Patches for HTML:frames, HTML:Smarty, and PDF converters test fine against PHP 5.3.8, 5.2.17, and 4.4.9. Committed to SVN.
 [2011-12-09 05:11 UTC] davel (Dave Lowndes)
Hi, I also get this error in 1.4.4 version: Fatal error: Call to a member function getImplements() on a non-object in /var/www/svn/trunk/bin/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc on line 1348 Works fine on my Mac: PHP 5.3.6 with Suhosin-Patch (cli) (built: Sep 8 2011 19:34:00) But not on my debian server: PHP 5.2.6-1+lenny13 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 1 2011 16:01:01) I can send a small zip with 3 PHP scripts that generate the error. They actually contains two versions of the same class. This is the code I have inherited :(
 [2012-01-13 07:51 UTC] ashnazg (Chuck Burgess)
Dave, if you are seeing this same fatal on v1.4.4, and have sample code that triggers the failure, then please add it on open bug #19197 so that I can take a look... thanks!
 [2012-10-02 18:56 UTC] dlgoodchild (Dave Goodchild)
I'm using latest CodeIgniter (v.2.1.2) and I'm getting this fatal error too. I hope any of the following information can help: Formatting Left Quick Index... Writing D:\Workspace\trunk/phpDoc/li_default.html Fatal error: Call to a member function getImplements() on a non-object in D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\Converters\HTML\frames\HTMLframesConverter.inc on line 1348 Call Stack: 0.0008 324920 1. {main}() D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpdoc:0 0.0902 336664 2. include('D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\phpdoc.inc') D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpdoc:59 0.8426 10508184 3. phpDocumentor_setup->createDocs() D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\phpdoc.inc:65 73.7001 316363968 4. phpDocumentor_IntermediateParser->Output() D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\Setup.inc.php:763 82.6390 318981592 5. phpDocumentor_IntermediateParser->Convert() D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\IntermediateParser.inc:1867 82.6390 318981712 6. Converter->walk() D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\IntermediateParser.inc:1654 94.1846 327302592 7. HTMLframesConverter->formatLeftIndex() D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\Converter.inc:1853 94.3035 328061472 8. HTMLframesConverter->generateFormattedClassTrees() D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\Converters\HTML\frames\HTMLframesConverter.inc:760 94.3060 328070664 9. HTMLframesConverter->getRootTree() D:\Applications\xampp_1.7.3\PhpDocumentor-1.4.4\phpDocumentor\Converters\HTML\frames\HTMLframesConverter.inc:1222
 [2017-08-02 08:15 UTC] christianfriedl (Christian Friedl)
I am getting this error too, on a non-CodeIgniter codebase. I am able to reduce the problem to the following scenario: * There is a class in a parent namespace * The is a class in a sub-namespace that extends ANY class in the parent namespace (regardless of whether the parent class exists or not, and it doese not have to be the class in the parent namespace) * The class in the sub-namespace has the same name as the class in the parent namespace ==================== Example: ====================== A.php ------ <?php class A { } ----------- SubA.php ----------- <?php namespace Sub; class A extends \X { } =================== $ php --version PHP 5.6.30 (cli) (built: Jan 19 2017 08:09:42) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Xdebug v2.5.0, Copyright (c) 2002-2016, by Derick Rethans $ rpm -qf /usr/bin/phpdoc php-pear-PhpDocumentor-1.4.4-1.el6.noarch $ uname -a Linux ... 2.6.32-642.13.1.el6.x86_64 #1 SMP Wed Jan 11 20:56:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux CentOS release 6.8 (Final) ==================== Here's the final output: ==================== Formatting Left Quick Index... Writing UI/webroot/phpdoc/li_default.html PHP Fatal error: Call to a member function getImplements() on boolean in /usr/share/pear/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc on line 1348 PHP Stack trace: PHP 1. {main}() /usr/bin/phpdoc:0 PHP 2. require() /usr/bin/phpdoc:40 PHP 3. phpDocumentor_setup->createDocs() /usr/share/pear/PhpDocumentor/phpDocumentor/phpdoc.inc:65 PHP 4. phpDocumentor_IntermediateParser->Output() /usr/share/pear/PhpDocumentor/phpDocumentor/Setup.inc.php:763 PHP 5. phpDocumentor_IntermediateParser->Convert() /usr/share/pear/PhpDocumentor/phpDocumentor/IntermediateParser.inc:1867 PHP 6. Converter->walk() /usr/share/pear/PhpDocumentor/phpDocumentor/IntermediateParser.inc:1654 PHP 7. HTMLframesConverter->formatLeftIndex() /usr/share/pear/PhpDocumentor/phpDocumentor/Converter.inc:1853 PHP 8. HTMLframesConverter->generateFormattedClassTrees() /usr/share/pear/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc:760 PHP 9. HTMLframesConverter->getRootTree() /usr/share/pear/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc:1222 =============