theseer / phpdox

Documentation generator for PHP Code using standard technology (SRC, DOCBLOCK, XML and XSLT)
http://phpdox.de
Other
599 stars 121 forks source link

Cannot redeclare class phpparser\node\expr\binaryop\mul #251

Closed sumitk1 closed 8 years ago

sumitk1 commented 9 years ago

Hi Guys,

I just ran the phpdox on my phpcode base and saw the following output:

-bash-4.1$ phpdox
phpDox 0.8.1.1 - Copyright (C) 2010 - 2015 by Arne Blankerts

[22.10.2015 - 16:32:09] Using config file './phpdox.xml'
[22.10.2015 - 16:32:09] Registered collector backend 'parser'
[22.10.2015 - 16:32:09] Registered enricher 'build'
[22.10.2015 - 16:32:09] Registered enricher 'git'
[22.10.2015 - 16:32:09] Registered enricher 'checkstyle'
[22.10.2015 - 16:32:09] Registered enricher 'phpcs'
[22.10.2015 - 16:32:09] Registered enricher 'pmd'
[22.10.2015 - 16:32:09] Registered enricher 'phpunit'
[22.10.2015 - 16:32:09] Registered enricher 'phploc'
[22.10.2015 - 16:32:09] Registered output engine 'xml'
[22.10.2015 - 16:32:09] Registered output engine 'html'
[22.10.2015 - 16:32:09] Starting to process project 'Example'
[22.10.2015 - 16:32:09] Configuration change detected - cleaning cache
[22.10.2015 - 16:32:11] Starting collector
[22.10.2015 - 16:32:11] Scanning directory '/srv/current/web' for files to process

...............................f..................  [50]
(..........................)
[22.10.2015 - 17:03:43] The following file(s) had errors during processing and were excluded:
[22.10.2015 - 17:03:43]  - /srv/current/web/autoload_*.php (finfo::file(): Failed identify data 0:(null))
[22.10.2015 - 17:03:43] Saving results to directory '/srv/phpdoc/phpdox/xml'

Oups... phpDox encountered a problem and has terminated!

It most likely means you've found a bug, so please file a report for this
and paste the following details and the stacktrace (if given) along:

PHP Version: 5.3.3 (Linux)
PHPDox Version: 0.8.1.1
ErrorException: E_ERROR
Location: /usr/bin/phpdox (Line 437)

require(): Cannot redeclare class phpparser\node\expr\binaryop\mul
No stacktrace available

zend_mm_heap corrupted

My phpdox.xml is as follows:

<?xml version="1.0" encoding="utf-8" ?>
<phpdox xmlns="http://xml.phpdox.net/config">
  <project name="Example" source="/srv/current/web" workdir="/srv/phpdoc/phpdox/xml">
        <collector backend="parser" publiconly="false">
                <include mask="*.php" />
                <exclude mask="**vendor**" />
                <!--<exclude mask="**/*test*" />-->
        </collector>
        <generator output="/srv/phpdoc/phpdox/">
            <build engine="html" output="html"/>
        </generator>
  </project>
</phpdox>

I also made the following changes to php.ini but got the same error

output_buffering = On
report_memleaks = Off
report_zend_debug = 0

Is this kind of low memory issue? I have memory_limit = 64M in my php.ini. I am trying this again by increasing it to see if this helps.

theseer commented 8 years ago

Sorry for the late response.

I cannot reproduce this error - even by creating a file with a technically broken filename. The Filename autoload_*.php looks really strange and seems to contain invalid data on top of that.

The fact that PHP exits with a corrupted heap isn't helping. But then you are using an really old Version of PHP that hasn't been actively supported for years. As no new version of phpDox is going to support PHP 5.3 or earlier, this is going to be a wont-fix.