Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000249XdebugUsage problemspublic2007-03-30 16:242014-01-20 13:18
Reporterderick 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000249: Xdebug's error handler messes up with fatal to exception error conversions
Descriptionhttp://bugs.php.net/bug.php?id=34657 [^]
Additional Informationtry {
  $sc = new SoapClient("some.wsdl", array());
} catch (Exception $e) {
  echo 'Error Caught';
}
TagsNo tags attached.
Operating System
PHP Version5.2-dev
Attached Files

- Relationships

-  Notes
(0000727)
jozef (reporter)
2007-09-24 15:00

I just ran into the same problem.
I am instantiating a SoapServer with a WSDL file. When calling a method not in the WSDL the SoapServer dies with a fatal error, instead of returning a SoapFault. After disabling xdebug everything works as it should.

Is this going to be fixed?
(0000852)
jozef (reporter)
2008-05-14 16:25

this is still an issue
(0000911)
cweiske (reporter)
2009-02-03 15:00

We are also having this issue.
(0001057)
webbles (reporter)
2009-08-26 19:07

It looks like the problem is that the soap extension registers its own zend_error_cb which checks if the error was caused by SOAP and if so, it converts the errors to exceptions. Xdebug also registers its own zend_error_cb and ignores the old_error_cb (except when disabling or destructing). It looks like the fix needed is to call the old_error_cb first and then to do the xdebug stuff. Or somehow make sure that Xdebug modifies the zend_error_cb before soap.
(0001094)
derick (administrator)
2009-10-17 17:53

I can't detect very easily whether SOAP is in use, and chaining is also not possible as the old error handler already shows the warning. I added a hack that should prevent Xdebug from using its error handler in case SOAP is in use (by checking for the HTTP_SOAPACTION $_SERVER variable. This seems to alleviate the issue for me. I added this "hack" in Xdebug CVS (HEAD only).

- Issue History
Date Modified Username Field Change
2007-03-30 16:24 derick New Issue
2007-09-24 15:00 jozef Note Added: 0000727
2008-05-14 16:25 jozef Note Added: 0000852
2009-02-03 15:00 cweiske Note Added: 0000911
2009-08-26 19:07 webbles Note Added: 0001057
2009-10-17 17:53 derick Note Added: 0001094
2009-10-17 17:53 derick Status new => closed
2009-10-17 17:53 derick Resolution open => fixed


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker