Open mattiasw2 opened 9 years ago
same error Ubutnu 14.04 x64 erlang:system_info(version). "6.2" erlang:system_info(otp_release). "17"
Interesting, thanks for posting this. It's definitely not something I've experienced (though I don't use Emacs).
I think I see what's going on here, but as I'm not experiencing this, it might be tough to reproduce, but at the very least, I've noticed one problem with the code, so I can start there, and if that doesn't fix it, I can install emacs and EDTS to see what I'm able to uncover.
Thanks again for the report and the confirmation.
Just an idea: It might also the symlinks created by "relx -d" that is the problem.
I am having the same issue and using sync with rebar3 so also using relx. Ubuntu 15.04 with erts 6-4
Thanks for all the confirmation, guys. I haven't yet had a chance to do much open-source work these past few months (I've been in a bit of a crunch mode), but as soon as my schedule clears up a bit, I'll be able to put out a fix for this.
The immediate hacky fix would be to add another error clause to https://github.com/rustyio/sync/blob/master/src/sync_scanner.erl#L500 and see if that solves the problem. I'm not entirely sure what the correct approach should be to handle if it returns {error, nofile} like it's doing, but my suspicion would be to just generate a warning and see how prevalent the problem is.
That said, I've noticed that https://github.com/rustyio/sync/blob/master/src/sync_scanner.erl#L498 and https://github.com/rustyio/sync/blob/master/src/sync_scanner.erl#L524 are being called redundantly, which seems to be a problem, but probably unrelated to this particular error.
In my case, it happens for Yaws compilation of files. I have not fixed it, it just tells me when it fails. I use embedded yaws.
https://github.com/mattiasw2/sync/commit/75ef60964b6f042cbee2321c2d87dd80e02b3356
Really like sync. I am also using EDTS for Emacs, and I think there are some strange interactions.
The core issue is
i.e. the beam file is missing. Most likely, it is recompiled by "someone else".
I tried making a simple patch to wait 1000ms and retry, but didn't solve. it.
Most often, the failure is recovered, but sometimes, it takes the erlang down, as seen below.