View Issue Details

IDProjectCategoryView StatusLast Update
0000249XdebugUncategorizedpublic2019-05-03 14:52
Reporterderick Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Summary0000249: Xdebug's error handler messes up with fatal to exception error conversions
Description

http://bugs.php.net/bug.php?id=34657

Additional Information

try {
$sc = new SoapClient("some.wsdl", array());
} catch (Exception $e) {
echo 'Error Caught';
}

TagsNo tags attached.
Operating System
PHP Version5.2-dev

Activities

jozef

2007-09-24 14:00

reporter   ~0000727

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?

jozef

2008-05-14 15:25

reporter   ~0000852

this is still an issue

cweiske

2009-02-03 15:00

reporter   ~0000911

We are also having this issue.

webbles

2009-08-26 18:07

reporter   ~0001057

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.

derick

2009-10-17 16:53

administrator   ~0001094

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 15:24 derick New Issue
2007-09-24 14:00 jozef Note Added: 0000727
2008-05-14 15:25 jozef Note Added: 0000852
2009-02-03 15:00 cweiske Note Added: 0000911
2009-08-26 18:07 webbles Note Added: 0001057
2009-10-17 16:53 derick Note Added: 0001094
2009-10-17 16:53 derick Status new => closed
2009-10-17 16:53 derick Resolution open => fixed
2016-07-31 12:36 derick Category Usage problems => Usage problems (Crashes)
2016-07-31 12:38 derick Category Usage problems (Crashes) => Usage problems (Wrong Results)
2020-03-12 16:35 derick Category Usage problems (Wrong Results) => Variable Display
2020-03-12 16:38 derick Category Variable Display => Uncategorized