View Issue Details

IDProjectCategoryView StatusLast Update
0001637XdebugStep Debuggingpublic2019-06-15 16:09
Reporterneomerx Assigned Toderick  
PrioritynormalSeverityblockReproducibilityalways
Status resolvedResolutionno change required 
PlatformLinuxOSManjaroOS Version4.19.23
Product Version2.7.0rc1 
Summary0001637: Breakpoints in PhpStorm stopped working when xdebug switched from v2.7.0beta1 to v2.7.0rc1
Description

Issue
Breakpoints in PhpStorm stopped working when xdebug switched from v2.7.0beta1 to v2.7.0rc1 (v2.7.0rc2 does not work as well).

How to reproduce

  • add a breakpoint in source code
  • run the code

Working Environment

PHP 7.3.2 (cli) (built: Feb  5 2019 18:21:22) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.2, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.7.0beta1, Copyright (c) 2002-2018, by Derick Rethans

Non-Working Environment

PHP 7.3.2 (cli) (built: Feb  5 2019 18:21:22) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.2, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.7.0rc1, Copyright (c) 2002-2019, by Derick Rethans

xdebug.ini (real paths prefixes were replaced with ~)

zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

xdebug.remote_autostart=on
xdebug.idekey="PHPSTORM"

xdebug.remote_log=~/xdebug.log

Command that runs the test (real paths prefixes were replaced with ~)

/usr/bin/php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 ~/limoncello/framework/components/Flute/vendor/phpunit/phpunit/phpunit --configuration ~/limoncello/framework/components/Flute/phpunit.xml --filter "/(::testGetMethods)( .*)?$/" Limoncello\Tests\Flute\Adapters\PaginationStrategyTest ~/limoncello/framework/components/Flute/tests/Adapters/PaginationStrategyTest.php --teamcity

Failed run log attached (real paths prefixes were replaced with ~). The app starts and just hangs.

TagsPHPStorm
Attached Files
xdebug-fail.log (3,599 bytes)   
[6032] Log opened at 2019-02-21 12:52:53
[6032] I: Connecting to configured address/port: 127.0.0.1:9000.
[6032] I: Connected to client. :-)
[6032] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file://~/limoncello/framework/components/Flute/vendor/phpunit/phpunit/phpunit" language="PHP" xdebug:language_version="7.3.2" protocol_version="1.0" appid="6032" idekey="12439"><engine version="2.7.0rc1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2019 by Derick Rethans]]></copyright></init>
[6032]
[6032] <- feature_set -i 1 -n show_hidden -v 1
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="1" feature="show_hidden" success="1"></response>
[6032]
[6032] <- feature_set -i 2 -n max_depth -v 1
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2" feature="max_depth" success="1"></response>
[6032]
[6032] <- feature_set -i 3 -n max_children -v 100
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="3" feature="max_children" success="1"></response>
[6032]
[6032] <- feature_set -i 4 -n extended_properties -v 1
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="4" feature="extended_properties" success="1"></response>
[6032]
[6032] <- status -i 5
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="status" transaction_id="5" status="starting" reason="ok"></response>
[6032]
[6032] <- step_into -i 6
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="6" status="break" reason="ok"><xdebug:message filename="file://~/limoncello/framework/components/Flute/vendor/phpunit/phpunit/phpunit" lineno="12"></xdebug:message></response>
[6032]
[6032] <- breakpoint_set -i 7 -t line -f file://~/limoncello/framework/components/Flute/tests/Adapters/PaginationStrategyTest.php -n 32
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="7" id="60320001"></response>
[6032]
[6032] <- stack_get -i 8
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="8"><stack where="{main}" level="0" type="file" filename="file://~/limoncello/framework/components/Flute/vendor/phpunit/phpunit/phpunit" lineno="12"></stack></response>
[6032]
[6032] <- run -i 9
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="run" transaction_id="9" status="break" reason="ok"><xdebug:message filename="file://~/limoncello/framework/components/Flute/tests/Adapters/PaginationStrategyTest.php" lineno="32"></xdebug:message></response>
[6032]
[6032] <- stop -i 10
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="stop" transaction_id="10" status="stopped" reason="ok"></response>
[6032]
[6032] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="stop" transaction_id="10" status="stopping" reason="ok"></response>
[6032]
[6032] Log closed at 2019-02-21 12:53:02
[6032]
xdebug-fail.log (3,599 bytes)   
Operating System
PHP Version7.3.2-7.3.4

Relationships

has duplicate 0001673 resolvedderick 2.7.* version of Xdebug not working in envirment: php-fpm + nginx + docker 

Activities

neomerx

2019-02-21 15:50

reporter   ~0004917

Noticable change is that beta used http in xmlns:xdebug while rc switched to https. It might be the reason of the problem.

derick

2019-02-21 22:07

administrator   ~0004919

Which version of PhpStorm are you using? If you're not using the latest, I suggest upgrading, as this has been fixed in a newer PhpStorm 2018.3: https://youtrack.jetbrains.com/issue/WI-43622

neomerx

2019-02-22 06:01

reporter   ~0004921

2018.1 Shall I use some xdebug compatibility config option?

derick

2019-02-23 14:14

administrator   ~0004924

There is no compatibility flag, but you can just update your PhpStorm to a later version.

neomerx

2019-02-24 04:43

reporter   ~0004925

I still hope this compatibility issue will be resolved.

neomerx

2019-02-24 15:41

reporter   ~0004926

Thanks for the advice Derick, but it's not for all. Just for you info why https://sales.jetbrains.com/hc/en-gb/articles/207240845-What-is-a-perpetual-fallback-license-

derick

2019-02-24 17:37

administrator   ~0004927

Hi,

I am not going to add more complexity to Xdebug with a new configuration setting. You can either upgrade PhpStorm to a newer version, or contact https://xdebug.org/support.php#email to contract me to arrange a custom solution.

As there is no bug in Xdebug itself, I'm closing this issue.

cheers,
Derick

neomerx

2019-02-24 18:02

reporter   ~0004928

I bet the whole 'fix' is 1 symbol in https://github.com/xdebug/xdebug/blob/7b72908dee6a8f58366f50fc4aa4fd88274938fb/php_xdebug.h#L27 with the only usage in https://github.com/xdebug/xdebug/blob/7b72908dee6a8f58366f50fc4aa4fd88274938fb/xdebug_handler_dbgp.c#L2216

I got your stance on this but still asking not to ruin backward compatibility. Especially if that's so easy.

Issue History

Date Modified Username Field Change
2019-02-21 13:02 neomerx New Issue
2019-02-21 13:02 neomerx File Added: xdebug-fail.log
2019-02-21 15:50 neomerx Note Added: 0004917
2019-02-21 22:07 derick Assigned To => derick
2019-02-21 22:07 derick Status new => feedback
2019-02-21 22:07 derick Note Added: 0004919
2019-02-22 05:59 neomerx Tag Attached: PHPStorm
2019-02-22 06:01 neomerx Note Added: 0004921
2019-02-22 06:01 neomerx Status feedback => assigned
2019-02-23 14:14 derick Note Added: 0004924
2019-02-23 14:19 derick Status assigned => feedback
2019-02-24 04:43 neomerx Note Added: 0004925
2019-02-24 04:43 neomerx Status feedback => assigned
2019-02-24 15:41 neomerx Note Added: 0004926
2019-02-24 17:37 derick Status assigned => resolved
2019-02-24 17:37 derick Resolution open => no change required
2019-02-24 17:37 derick Note Added: 0004927
2019-02-24 18:02 neomerx Note Added: 0004928
2019-06-15 16:09 derick Relationship added has duplicate 0001673
2020-03-12 16:33 derick Category Remote Debugging => Step Debugging