Edit report at http://bugs.php.net/bug.php?id=55031&edit=1

 ID:                 55031
 Updated by:         fel...@php.net
 Reported by:        ajrattink at correct dot net
 Summary:            php exits (with code 0) on 'new ReflectionClass(X)'
-Status:             Open
+Status:             Feedback
 Type:               Bug
 Package:            Reflection related
 Operating System:   Linux 2.4.25
 PHP Version:        5.3.6
 Block user comment: N
 Private report:     N

 New Comment:

Check your autoload function.


Previous Comments:
------------------------------------------------------------------------
[2011-06-10 21:00:29] ajrattink at correct dot net

Description:
------------
Creating a working example failed. And we have a codebase of >10MB phpcode.



But these are the exact conditions of the failure:



We have a class B that extends A. Both have a method f() but they differ such 
that a syntaxcheck would say this:

Strict Standards: Declaration of B::f() should be compatible with that of 
A::f().

However B is loaded using __autoload('B'), normally.



Now we say (without B loaded) 

  $a = new ReflectionClass('B');

And php exits with code 0. No logging, no error, no Exception, no SEGV.



some added debugprints in reflection_class_object_ctor() show this: 

ARA: reflection_class_object_ctor entry

ARA: calling getThis

ARA: name:'MO_KieskeurigExporter', calling zend_lookup_class



And I never return from zend_lookup_class!

Unfortunately putting a print in there probably floods the system here.

Working around the bug is much easier than debugging it. But maybe someone

more knowledgeable than me knows where that exit(0); call is parked??

Test script:
---------------
Not reproducable.

Expected result:
----------------
I accept an ReflectionException to be thrown. This does happen if I change the 
classname, so it truly cannot be found. Also, if I fix the method to match the 
superclass' one, everything is fine as well. 



Actual result:
--------------
php exits with code 0.



However a minimal example attempt worked perfectly ok. 


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=55031&edit=1

Reply via email to