diff options
author | Björn Gustavsson <[email protected]> | 2016-05-16 14:56:03 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-05-16 15:07:15 +0200 |
commit | cc59f962511733c5dfcb1be27a274f9298736006 (patch) | |
tree | e466cf70e5673971c08d42851bab597dccef9a7a /erts/preloaded/ebin | |
parent | f4c71989ae8dc3c290e9236f38543bee0a6a8e77 (diff) | |
download | otp-cc59f962511733c5dfcb1be27a274f9298736006.tar.gz otp-cc59f962511733c5dfcb1be27a274f9298736006.tar.bz2 otp-cc59f962511733c5dfcb1be27a274f9298736006.zip |
Tolerate bad directories in the code path
A bad directory in the path would prevent the run-time system
from starting:
$ echo >foobar
$ erl -pa foobar
{"init terminating in do_boot",{load_failed,[supervisor,kernel,gen_server,file_io_server,filename,file,erl_parse,error_logger,code_server,erl_lint,proc_lib,code,application_controller,application_master,gen_event,application,error_handler,lists,heart,gen,file_server,ets,erl_eval]}}
Crash dump is being written to: erl_crash.dump...done
init terminating in do_boot ()
The reason is that when attempting to read each of the BEAM files,
there would be an 'enotdir' error which
erl_prim_load:get_modules/2,3 assumed was a fatal error.
Update erl_prim_load:get_modules/2,3 to ignore any error and try
the next directory in the path.
Reported-by: http://bugs.erlang.org/browse/ERL-142
Reported-by: Michael Truog
Diffstat (limited to 'erts/preloaded/ebin')
-rw-r--r-- | erts/preloaded/ebin/erl_prim_loader.beam | bin | 55780 -> 55732 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/erts/preloaded/ebin/erl_prim_loader.beam b/erts/preloaded/ebin/erl_prim_loader.beam Binary files differindex de2693472a..66e443f396 100644 --- a/erts/preloaded/ebin/erl_prim_loader.beam +++ b/erts/preloaded/ebin/erl_prim_loader.beam |