View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000627||Xdebug||Usage problems (Wrong Results)||public||2010-10-13 22:48||2012-06-27 21:09|
|Target Version||2.2.1||Fixed in Version||2.2.1|
|Summary||0000627: breakpoints set in symlinked files are ignored|
|Description||Any file I set a breakpoint at behind a symlinked folder will be skipped.|
This is the same as bug 432 - though there is something that can be done - Xdebug can always use realpaths when dealing with breakpoint paths:
When xdebug receives a "breakpoint_set" command - it's possible to perform a "realpath()" to get the real target file path - and that is where Xdebug should set the breakpoint.
|Tags||No tags attached.|
Added a patch to perform a realpath check when receiving a breakpoint_set command:
Any thoughts on adding this patch?
Updated patch - to support "breakpoint_remove" in the same way:
For reference. We have a Komodo bug on this issue here:
||I can confirm that this is a long standing problem for Komodo users and we'd very much appreciate some feedback on this patch. Thanks.|
||Sorry guys, I missed this. Over christmas I'll be looking into issues. Things have been rather mental lately.|
I've looked at this now, and have come up with an alternative patch. This patch does the real path checks upon the checking of the breakpoint:
Could you please test whether it works? The patch applies cleanly to trunk, and with some fuzz/offsets to branches/xdebug_2_1.
Hey Derick, just looked over the patch. I'm not sure why the realpath checks need to move into the PHP breakpoint runtime check.
Note that realpath is a relatively slow call (it's a filesystem call), isn't it better to do this conversion just the once, otherwise (worse case scenario) it could be performing a realpath check on every PHP instruction?
||Derick, do you have some comments/suggestions for post (0001656)?|
You commented on my blog post (http://robertbasic.com/blog/debugging-two-php-projects-in-netbeans-at-the-same-time/) and mentioned there this symlink issue.
I forked xdebug on github, applied this patch of yours (http://derickrethans.nl/files/dump/xdebug-bug627-2011-01-12.diff.txt) and when using that patched version of xdebug, I don't have the symlink issue any more under Netbeans; it works as expected - the "problem" I wrote about in the blog post is no more.
Unfortunately, my knowledge of C and PHP extensions is close to 0, so I can't really offer any other help than testing.
I'm running PHP 5.3.3. at the moment. If you need anything else, I'll do my best to help :)
Thank you for your hard work!
Edit: I've pushed the changes to a separate branch, here's the commit: https://github.com/robertbasic/xdebug/commit/1d3467d3bdb3ea05821f905097c4f310736b68c5
@Derick - do you have time for this breakpoint symlink issue?
If you not comfortable with the one-time realpath check when setting/removing the breakpoint, then please do go with your own patch... I'd just like to have this resolved.
||It's on my list, and it'll make it into 2.2.0 in some form.|
@Derick: I noticed that 2.2.0 is scheduled for release on 2012-03-25... Seeing as that is three days away and most of the bugs scheduled for that release are still in their 'new' status... is this still accurate, or could you give us a more up-to-date estimate on its release?
Also, do you know if the solution to this bug should work in Windows as well, or just Linux/Mac?
||@Jtyler, unlikely that I'll make March 25th, but working on it.|
||Hi @Derick, I was wondering if you think this release might be ready by April 20 (about two weeks from now).|
||I'm aiming for the 24th; why are you asking?|
It would be particularly useful for me to have this fix by April 20.
Since it's going to be released so soon, I'm trying to weigh the usefulness of it against the time required to install the necessary environment to compile the DLL from scratch with the provided patch. That's not an entirely easy task, and I haven't got much time on my hands.
Just trying to get a perspective on the situation. Thanks. :)
toddw-as commented on 31dc7d3 (https://github.com/derickr/xdebug/commit/31dc7d385e2d18b770aff5c9bee9e1f2bf2da3bd#commitcomment-1461130):
You'll also need to add this realpath check for the breakpoint remove and modify routines, otherwise you'll never be able to delete a breakpoint you set in a symlinked file.
||What Todd wrote is incorrect. Breakpoints are deleted and updated by their ID exclusively.|
|2010-10-13 22:48||toddw||New Issue|
|2010-10-14 00:17||toddw||Note Added: 0001582|
|2010-10-15 18:51||toddw||Note Added: 0001584|
|2010-12-13 05:06||weitzman||Note Added: 0001621|
|2010-12-15 23:18||derick||Note Added: 0001622|
|2011-01-12 22:34||derick||Note Added: 0001646|
|2011-01-12 22:34||derick||Assigned To||=> derick|
|2011-01-12 22:34||derick||Status||new => feedback|
|2011-01-31 20:05||toddw||Note Added: 0001656|
|2011-01-31 20:05||toddw||Status||feedback => assigned|
|2011-05-18 22:09||toddw||Note Added: 0001746|
|2011-08-20 21:15||robertbasic||Note Added: 0001792|
|2011-08-20 21:18||robertbasic||Note Edited: 0001792||View Revisions|
|2012-03-09 19:36||toddw||Note Added: 0001964|
|2012-03-12 16:16||derick||Note Added: 0001968|
|2012-03-12 16:21||derick||Target Version||=> 2.2.0|
|2012-03-22 14:44||jtyler||Note Added: 0002000|
|2012-03-24 19:13||derick||Note Added: 0002009|
|2012-04-08 19:14||jtyler||Note Added: 0002034|
|2012-04-08 21:44||derick||Note Added: 0002037|
|2012-04-11 17:08||jtyler||Note Added: 0002039|
|2012-05-05 15:33||derick||Status||assigned => closed|
|2012-05-05 15:33||derick||Resolution||open => fixed|
|2012-05-05 15:33||derick||Fixed in Version||=> 2.2.0|
|2012-06-15 10:04||derick||Note Added: 0002258|
|2012-06-15 10:04||derick||Status||closed => assigned|
|2012-06-15 10:05||derick||Fixed in Version||2.2.0 =>|
|2012-06-15 10:05||derick||Target Version||2.2.0 => 2.2.1|
|2012-06-27 21:09||derick||Note Added: 0002294|
|2012-06-27 21:09||derick||Status||assigned => closed|
|2012-06-27 21:09||derick||Fixed in Version||=> 2.2.1|
|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)|