View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001449||Xdebug||Step Debugging||public||2017-06-30 08:19||2017-12-02 18:36|
|Target Version||2.6.0||Fixed in Version||2.6.0alpha1|
|Summary||0001449: Debugging breaks with array element keys containing low-ASCII variable|
When inspecting a variable that contains an instance of a class that extends \ArrayObject (and only in this case), my IDE hungs and the execution crashes if the instance contains some values.
|Steps To Reproduce|
IDE: Eclipse Oxygen (4.7) with PDT 220.127.116.11706291405 (but I had this issue with older Eclipse and PDT versions)
php.ini settings for xdebug:
Output of php.exe -v
See attachment for the log of "xdebug.remote_log"
|Tags||No tags attached.|
xdebug-remote.log (29,223 bytes)
I don't know why the "Steps To Reproduce" reports
the version is tilde followed by 3.6.1
I'm able to reproduce this bug even with this very simple code:
The crash occurs if the index contains chars < 0x20 (like 0x04 in the above example)
PS: I don't know if it's an xdebug or an Eclipse+PDT bug, so I also filed https://bugs.eclipse.org/bugs/show_bug.cgi?id=519045
There are two issues at play here.
The first one is that from your log I see that Xdebug doesn't escape the \x04 properly in its XML output, and this is likely why PDT falls over.
The second issue is that I don't even get there due to a "can not read property" bug that has been cropping up. I do have an idea how to fix that, but it's harder than I thought.
I'll amend this ticket to only track the unescaped \x04 though.
This is now fixed for Xdebug 2.6.0-dev, but, it requires that the IDE sets the "extended_properties" feature (https://xdebug.org/docs-dbgp.php#feature-names). This new feature is supported in 2.6.0dev, through https://bugs.xdebug.org/view.php?id=1312.
|2017-06-30 08:19||mlocati||New Issue|
|2017-06-30 08:19||mlocati||File Added: xdebug-remote.log|
|2017-06-30 08:22||mlocati||Note Added: 0004360|
|2017-06-30 08:22||mlocati||Note Edited: 0004360|
|2017-06-30 08:40||mlocati||Note Added: 0004361|
|2017-06-30 16:36||mlocati||Note Added: 0004362|
|2017-07-16 09:59||derick||Note Added: 0004371|
|2017-07-16 10:00||derick||Severity||crash => major|
|2017-07-16 10:00||derick||Status||new => confirmed|
|2017-07-16 10:00||derick||Target Version||=> 2.5.6|
|2017-07-16 10:00||derick||Summary||Crash when inspecting an class instance that extends \ArrayObject => Properties in \ArrayObject's storage are not correctly escaped|
|2017-11-05 14:08||derick||Target Version||2.5.6 => 2.6.0dev|
|2017-11-05 14:08||derick||Summary||Properties in \ArrayObject's storage are not correctly escaped => Debugging breaks with array element keys containing low-ASCII variable|
|2017-11-05 23:22||derick||Note Added: 0004453|
|2017-11-05 23:22||derick||Status||confirmed => closed|
|2017-11-05 23:22||derick||Assigned To||=> derick|
|2017-11-05 23:22||derick||Resolution||open => fixed|
|2017-11-05 23:22||derick||Fixed in Version||=> 2.6.0dev|
|2017-12-02 15:57||derick||Fixed in Version||2.6.0dev => 2.6.0alpha1|
|2017-12-02 18:34||derick||Target Version||2.6.0dev => 2.6.0alpha1|
|2017-12-02 18:36||derick||Target Version||2.6.0alpha1 => 2.6.0|
|2020-03-12 16:33||derick||Category||Remote Debugging => Step Debugging|