From:             
Operating system: Ubuntu 9.10
PHP version:      5.2.13
Package:          Class/Object related
Bug Type:         Bug
Bug description:segfaults at method_exists()

Description:
------------
Hi,



This bug has occurred on 3 separate projects all using the same in house
PHP 

framework. All 3 changes that occurred just before the apps started
sefgaulting 

are very different but on each occasion the segfault can be traced back to


method_exists() which features in the frameworks URL parser. 



The method_exists() in all 3 cases was being called with valid arguments
and 

should have returned true.



In one project PHP started segfaulting when an object that has been
unseralized 

from memcache was accessed.



On another project (the one i've been fighting with all day) PHP started 

segfaulting when an extra class was added in to the OO extends daisy chain.
(eg 

instead of: class a extends x {} it now reads class a extends y {} and
class y 

extends x {} - class Y can be a blank class and it still causes the
segfault..).



For the project mentioned immediately above I've tried taking the url
parser, 

and all related files out so I could run a controlled test and when run 

independently it works absolutely fine which makes me think method_exists
is a 

red-herring and something else is causing method_exists to segfault.



Also it's worth mentioning that the urlparser works fine and is used on
many 

high-traffic websites. It's also called very near the top of the url
parsers 

code and the couple of bits above are trivial and won't be related.



I've never managed to figure out why method_exists segfaults and I've
always had 

to work around the bug - finding what change was made just before it
started 

segfaulting and simply finding a different solution.



Can anyone help me in figuring out what's going on here? Or what
method_exists 

does that could cause it segfault (ie: is PHP running out of file handles
or 

something?)



Any help would be much appreciated.


-- 
Edit bug report at http://bugs.php.net/bug.php?id=51425&edit=1
-- 
Try a snapshot (PHP 5.2):            
http://bugs.php.net/fix.php?id=51425&r=trysnapshot52
Try a snapshot (PHP 5.3):            
http://bugs.php.net/fix.php?id=51425&r=trysnapshot53
Try a snapshot (PHP 6.0):            
http://bugs.php.net/fix.php?id=51425&r=trysnapshot60
Fixed in SVN:                        
http://bugs.php.net/fix.php?id=51425&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=51425&r=needdocs
Fixed in release:                    
http://bugs.php.net/fix.php?id=51425&r=alreadyfixed
Need backtrace:                      
http://bugs.php.net/fix.php?id=51425&r=needtrace
Need Reproduce Script:               
http://bugs.php.net/fix.php?id=51425&r=needscript
Try newer version:                   
http://bugs.php.net/fix.php?id=51425&r=oldversion
Not developer issue:                 
http://bugs.php.net/fix.php?id=51425&r=support
Expected behavior:                   
http://bugs.php.net/fix.php?id=51425&r=notwrong
Not enough info:                     
http://bugs.php.net/fix.php?id=51425&r=notenoughinfo
Submitted twice:                     
http://bugs.php.net/fix.php?id=51425&r=submittedtwice
register_globals:                    
http://bugs.php.net/fix.php?id=51425&r=globals
PHP 4 support discontinued:          http://bugs.php.net/fix.php?id=51425&r=php4
Daylight Savings:                    http://bugs.php.net/fix.php?id=51425&r=dst
IIS Stability:                       
http://bugs.php.net/fix.php?id=51425&r=isapi
Install GNU Sed:                     
http://bugs.php.net/fix.php?id=51425&r=gnused
Floating point limitations:          
http://bugs.php.net/fix.php?id=51425&r=float
No Zend Extensions:                  
http://bugs.php.net/fix.php?id=51425&r=nozend
MySQL Configuration Error:           
http://bugs.php.net/fix.php?id=51425&r=mysqlcfg

Reply via email to