Skip to content

sync crashing on nofile #57

Description

@mattiasw2

Really like sync. I am also using EDTS for Emacs, and I think there are some strange interactions.

The core issue is

sync_scanner:start_link() at <0.163.0> exit with reason no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in context child_terminated

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.

(share3@127.0.0.1)1> Scanning source files...
(share3@127.0.0.1)1> 10:45:29.797 [error] gen_server sync_scanner terminated with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500
(share3@127.0.0.1)1> 10:45:29.797 [error] CRASH REPORT Process sync_scanner with 0 neighbours exited with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in gen_server:terminate/7 line 804
(share3@127.0.0.1)1> 10:45:29.798 [error] Supervisor sync had child sync_scanner started with sync_scanner:start_link() at <0.163.0> exit with reason no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in context child_terminated
(share3@127.0.0.1)1> Scanning source files...
(share3@127.0.0.1)1> 10:45:30.163 [error] gen_server sync_scanner terminated with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500
(share3@127.0.0.1)1> 10:45:30.164 [error] CRASH REPORT Process sync_scanner with 0 neighbours exited with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in gen_server:terminate/7 line 804
(share3@127.0.0.1)1> 10:45:30.164 [error] Supervisor sync had child sync_scanner started with sync_scanner:start_link() at <0.1657.0> exit with reason no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in context child_terminated
(share3@127.0.0.1)1> Scanning source files...
(share3@127.0.0.1)1> 10:45:30.501 [error] gen_server sync_scanner terminated with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500
(share3@127.0.0.1)1> 10:45:30.501 [error] CRASH REPORT Process sync_scanner with 0 neighbours exited with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in gen_server:terminate/7 line 804
(share3@127.0.0.1)1> 10:45:30.502 [error] Supervisor sync had child sync_scanner started with sync_scanner:start_link() at <0.1668.0> exit with reason no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in context child_terminated
(share3@127.0.0.1)1> Scanning source files...
(share3@127.0.0.1)1> 10:45:30.835 [error] gen_server sync_scanner terminated with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500
(share3@127.0.0.1)1> 10:45:30.835 [error] CRASH REPORT Process sync_scanner with 0 neighbours exited with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in gen_server:terminate/7 line 804
(share3@127.0.0.1)1> 10:45:30.835 [error] Supervisor sync had child sync_scanner started with sync_scanner:start_link() at <0.1679.0> exit with reason no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in context child_terminated
(share3@127.0.0.1)1> Scanning source files...
(share3@127.0.0.1)1> 10:45:31.330 [error] gen_server sync_scanner terminated with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500
(share3@127.0.0.1)1> 10:45:31.338 [error] CRASH REPORT Process sync_scanner with 0 neighbours exited with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in gen_server:terminate/7 line 804
(share3@127.0.0.1)1> 10:45:31.338 [error] Supervisor sync had child sync_scanner started with sync_scanner:start_link() at <0.1692.0> exit with reason no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in context child_terminated
(share3@127.0.0.1)1> 10:45:31.965 [error] gen_server sync_scanner terminated with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500
(share3@127.0.0.1)1> 10:45:31.967 [error] CRASH REPORT Process sync_scanner with 0 neighbours exited with reason: no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in gen_server:terminate/7 line 804
(share3@127.0.0.1)1> 10:45:31.968 [error] Supervisor sync had child sync_scanner started with sync_scanner:start_link() at <0.1703.0> exit with reason no case clause matching {error,nofile} in sync_scanner:reload_if_necessary/7 line 500 in context child_terminated
(share3@127.0.0.1)1> 10:45:31.969 [error] Supervisor sync had child sync_scanner started with sync_scanner:start_link() at <0.1703.0> exit with reason reached_max_restart_intensity in context shutdown
(share3@127.0.0.1)1> 10:45:31.969 [info] Application sync exited with reason: shutdown
(share3@127.0.0.1)1> 10:45:31.969 [error] Supervisor share3_sup had child share3 started with share3:start() at <0.156.0> exit with reason noproc in context shutdown_error
(share3@127.0.0.1)1> 
=INFO REPORT==== 8-May-2015::10:45:32 ===
stop_ready([], <0.173.0>)
(share3@127.0.0.1)1> 
=INFO REPORT==== 8-May-2015::10:45:32 ===
stop_ready([{{1431,74730,66399},<0.175.0>}], <0.440.0>)
(share3@127.0.0.1)1> {"Kernel pid terminated",application_controller,"{application_terminated,sync,shutdown}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_terminated,sync,shutdown})
mattias@ubuntu:~$ 

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions