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 /lib/compiler/src/cerl.erl | |
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 'lib/compiler/src/cerl.erl')
0 files changed, 0 insertions, 0 deletions