Erlide Erlang nodes die when resuming Windows 7 laptop from standby
Hi,
On my Windows 7 laptop I have consistently the problem that both Erlide Erlang nodes die (or appear to be down to Erlide) when I wake up the laptop from standby, which means that I have to restart Eclipse.
Is this a known problem that generally affects users that put their PCs in stanby with a running Eclipse+Erlide instance?
I guess the root cause for this problem lies in Erlang itself, but I wonder if their is no way for Erlide to detect the situation and restart the lost Erlang nodes automatically?
Details:
Eclipse IDE for C/C++ Developers 4.4.1.20140925-1820 epp.package.cpp null
Erlang language tools IDE 0.29.8.201412161411 org.erlide.feature.group Erlide project
Erlang R16B03-1 (erts-5.10.4) [64-bit] [smp:4:4] [async-threads:10]
Eshell V5.10.4 (abort with ^G)
On my Windows 7 laptop I have consistently the problem that both Erlide Erlang nodes die (or appear to be down to Erlide) when I wake up the laptop from standby, which means that I have to restart Eclipse.
Is this a known problem that generally affects users that put their PCs in stanby with a running Eclipse+Erlide instance?
I guess the root cause for this problem lies in Erlang itself, but I wonder if their is no way for Erlide to detect the situation and restart the lost Erlang nodes automatically?
Details:
Eclipse IDE for C/C++ Developers 4.4.1.20140925-1820 epp.package.cpp null
Erlang language tools IDE 0.29.8.201412161411 org.erlide.feature.group Erlide project
Erlang R16B03-1 (erts-5.10.4) [64-bit] [smp:4:4] [async-threads:10]
Eshell V5.10.4 (abort with ^G)
Leave a comment
on 2015-01-23 22:44 *
By jan.scheurich.ac814423
Attachment eedjas_20150123_091531.txt added
Attachment eedjas_20150123_091531.txt added
on 2015-01-23 22:44 *
By jan.scheurich.ac814423
Attachment erlide_debug.txt added
Attachment erlide_debug.txt added
on 2015-01-23 22:48 *
By Vlad Dumitrescu
Assigned to set to Vlad Dumitrescu
Status changed from New to Ongoing
Assigned to set to Vlad Dumitrescu
Status changed from New to Ongoing
You are correct in guessing it's not a problem specific to erlide. Any long-living TCP connection dies when PC goes to sleep and the TCP keepalive timeout is reached. See for example http://stackoverflow.com/questions/10665267/keep-ssh-session-alive-while-computer-sleep.
And you are also right that we could restart the backends. There can be inconsistencies if the PC went to sleep in a bad moment, but it's probably a low probability for it to happen in practice. I don't remember at the moment if there is anything that would prevent restarting.
I will look at that and fix it. Thanks for the report!
And you are also right that we could restart the backends. There can be inconsistencies if the PC went to sleep in a bad moment, but it's probably a low probability for it to happen in practice. I don't remember at the moment if there is anything that would prevent restarting.
I will look at that and fix it. Thanks for the report!
on 2015-01-29 04:23 *
By Vlad Dumitrescu
I just remembered what the problem with restarting is: if the problem is that Erlang is not installed properly, or if the binary can't be started (for example GLIBC version mismatch), then trying to restart will not help and eclipse gets in a loop trying to restart it again and again. I'll see how to try to detect this case. Or maybe allow at most three restarts in three minutes, or something like that.
on 2015-02-03 04:30 *
By Vlad Dumitrescu
Fixed, but more tests are needed, there are many corner cases.
on 2015-02-03 08:01 *
By jan.scheurich.ac814423
Hi Vlad, thanks for picking this up. Actually, the Erlang node really dies immediately when I wake up the laptop from standby, even if it was on standby for a very short time. So this is really a fault in the Erlang VM. But it would be nice if you could implement the automatic restart anyhow. Regards Jan
on 2015-02-03 15:15 *
By Vlad Dumitrescu
Actually, it's not Erlang's fault either, I think. All persistent TCP connections are severed when the laptop goes to sleep.
on 2015-02-06 16:34 *
By jan.scheurich.ac814423
That may well be, but I still think the Erlang VM should not die if it looses the TCP connection due to standby.
on 2015-02-06 18:25 *
By Vlad Dumitrescu
The erlang VM doesn't die, it just becomes unreachable, which for all practical purposes is the same thing.
Anyway, please try out the latest beta from http://download.erlide.org/update/beta. I'm not sure how long the timeout is before the connections are cut, so my testing might not be 100%.
Also, another thing that might help you if you can use it: configure your network adapter to not get shut down on sleep (it's in the adapter's power management settings). The battery will get drain faster, but if you keep your laptop charging over night, it won't matter.
Anyway, please try out the latest beta from http://download.erlide.org/update/beta. I'm not sure how long the timeout is before the connections are cut, so my testing might not be 100%.
Also, another thing that might help you if you can use it: configure your network adapter to not get shut down on sleep (it's in the adapter's power management settings). The battery will get drain faster, but if you keep your laptop charging over night, it won't matter.
on 2015-02-17 03:27 *
By Vlad Dumitrescu
Status changed from Ongoing to Test
Status changed from Ongoing to Test
Delivered in 0.29.10
on 2015-09-15 22:00 *
By Vlad Dumitrescu
Milestone set to v1.0 backlog
Milestone set to v1.0 backlog
on 2015-09-15 23:23 *
By Vlad Dumitrescu
Status changed from Test to Fixed
Status changed from Test to Fixed
I assume it was fixed (no feedback)