View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001470||Xdebug||Step Debugging||public||2017-09-12 07:47||2020-12-26 23:33|
|Platform||PHP 7.0||OS||Ubuntu||OS Version||16.04|
|Target Version||2.6.0||Fixed in Version||2.6.0alpha1|
|Summary||0001470: Make connect timeout configurable (now 200ms)|
I have an issue with starting remote session with a distant server. Using
15:26:56.016599 IP XXX.XXX.XXX.XXX.46162 > YYY.YYY.YYY.YYY.9000: Flags [S], seq 2569969333, win 29200, options [mss 1460,sackOK,TS val 3777227854 ecr 0,nop,wscale 7], length 0
So the reset is done immediately after SYN from my IDE. In remote log I see:
Log opened at 2017-09-11 18:54:08
Browsing through XDebug code I stumbled on this in xdebug/xdebug_com.c:
SOCK_TIMEOUT_ERR is '-2' and triggers the "Time-out connecting to client" message in log.
So, there seems to be a 200 ms limit for connection to be made. Unfortunately the remote server I'm dealing with has ping of 400ms+ to my machine, which prevents me from using remote debugging. According to man page poll returns '0' when there are no events for any of passed sockets and it's not an error for this to happen.
Can we please either increase the timeout to something 'that surely should be enough' (on Earth) or better yet make it configurable (to make it future proof in case we have to debug a server on Moon)? This hopefully should be a minor fix?
I realize the session would be pretty sluggish anyway, but there are cases when some bugs happen only on particular machine on the other side of the world and no one knows why and remote debugging is only easy and sane option.
|Steps To Reproduce|
Uhm.. Use tc for traffic shaping and add delay to TCP packets? Unfortunately I'm not familiar with it nor with low level socket programming so I can't provide exact steps.
|Tags||No tags attached.|
|2017-09-12 07:47||matt||New Issue|
|2017-09-20 22:07||derick||Status||new => acknowledged|
|2017-09-20 22:07||derick||Target Version||=> 2.7.0dev|
|2017-10-02 14:04||derick||Target Version||2.7.0dev => 2.6.0dev|
|2017-11-06 19:29||derick||Note Added: 0004454|
|2017-11-06 19:29||derick||Status||acknowledged => closed|
|2017-11-06 19:29||derick||Assigned To||=> derick|
|2017-11-06 19:29||derick||Resolution||open => fixed|
|2017-11-06 19:29||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|