rebar3 icon indicating copy to clipboard operation
rebar3 copied to clipboard

Rebar mix plugin crash under `do` sequence

Open maximvl opened this issue 4 years ago • 4 comments

Pre-Check

Hello, I'm facing an issue is related to https://github.com/tsloughter/rebar_mix/ plugin causing a crash in Rebar. @tsloughter suggested me to report here.

Environment

  • Add the result of rebar3 report to your message:
Rebar3 report
 version 3.11.1
 generated at 2019-07-17T07:22:38+00:00
=================
Please submit this along with your issue at https://github.com/erlang/rebar3/issues (and feel free to edit out private information, if any)
-----------------
Task: rebar3
Entered as:
  rebar3 do dialyzer, ct
-----------------
Operating System: x86_64-unknown-linux-gnu
ERTS: Erlang/OTP 22 [erts-10.4.3] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]
Root Directory: /home/maxim/.asdf/installs/erlang/22.0.4
Library directory: /home/maxim/.asdf/installs/erlang/22.0.4/lib
-----------------
Loaded Applications:
bbmustache: 1.6.1
certifi: 2.5.1
cf: 0.2.2
common_test: 1.17.3
compiler: 7.4.2
crypto: 4.5.1
cth_readable: 1.4.4
dialyzer: 4.0.1
edoc: 0.11
erlware_commons: 1.3.1
eunit: 2.3.7
eunit_formatters: 0.5.0
getopt: 1.0.1
hipe: 3.19
inets: 7.0.8
kernel: 6.4.1
providers: 1.8.1
public_key: 1.6.7
relx: 3.32.1
sasl: 3.4
snmp: 5.3
ssl_verify_fun: 1.1.5
stdlib: 3.9.2
syntax_tools: 2.2
tools: 3.2

-----------------
Escript path: /home/maxim/bin/rebar3
Providers:
  app_discovery as clean compile compile compile consolidate_protocols cover ct cut deps dialyzer do docs edoc erl_vsn escriptize eunit find_elixir_libs get-deps help install install_deps key list lock new owner path pkgs publish release relup repo report repos retire revert search shell state tar tree unlock update upgrade upgrade upgrade user version xref

Current behaviour

The plugin causes a failure when I run a sequence with do command, an example below. Single invocations do not have this issue. I was able to reproduce this on an empty project with

{plugins, [
  {rebar_mix, ".*", {git, "https://github.com/tsloughter/rebar_mix", {branch, "master"}}}
]}.
> env DEBUG=1 rebar3 do dialyzer, ct
===> Load global config file /home/maxim/.config/rebar3/rebar.config
===> 22.0.4 satisfies the requirement for minimum OTP version 18
===> sh info:
	cwd: "/home/maxim/tmp/mix_test"
	cmd: elixir -e "IO.puts(:code.lib_dir(:elixir))"

===> 	opts: [{env,[{"ERL_FLAGS",[]}]},
                       {return_on_error,true},
                       {use_stdout,false}]

===> Port Cmd: elixir -e "IO.puts(:code.lib_dir(:elixir))"
Port Opts: [{env,[{"ERL_FLAGS",[]}]},
            exit_status,
            {line,16384},
            use_stdio,stderr_to_stdout,hide,eof]

===> Expanded command sequence to be run: [{default,do}]
===> Provider: {default,do}
===> Expanded command sequence to be run: [{default,app_discovery},
                                                  {default,install_deps},
                                                  {default,lock},
                                                  {default,compile},
                                                  {default,dialyzer}]
===> Provider: {default,app_discovery}
===> Not adding provider mix consolidate_protocols from module rebar_mix_hook because it already exists from module rebar_mix_hook
===> Not adding provider mix find_elixir_libs from module rebar_mix_elixir_finder_hook because it already exists from module rebar_mix_elixir_finder_hook
===> sh info:
	cwd: "/home/maxim/tmp/mix_test"
	cmd: elixir -e "IO.puts(:code.lib_dir(:elixir))"

===> 	opts: [{env,[{"ERL_FLAGS",[]}]},
                       {return_on_error,true},
                       {use_stdout,false}]

===> Port Cmd: elixir -e "IO.puts(:code.lib_dir(:elixir))"
Port Opts: [{env,[{"ERL_FLAGS",[]}]},
            exit_status,
            {line,16384},
            use_stdio,stderr_to_stdout,hide,eof]

===> Provider: {default,install_deps}
===> Verifying dependencies...
===> Provider: {default,lock}
===> Provider: {default,compile}
===> run_hooks("/home/maxim/tmp/mix_test", pre_hooks, compile) -> no hooks defined

===> Compiling mix_test
===> run_hooks("/home/maxim/tmp/mix_test", pre_hooks, compile) -> no hooks defined

===> run_hooks("/home/maxim/tmp/mix_test", pre_hooks, erlc_compile) -> no hooks defined

===> erlopts [debug_info]
===> files to compile ["/home/maxim/tmp/mix_test/src/mix_test_sup.erl",
                              "/home/maxim/tmp/mix_test/src/mix_test_app.erl"]
===> run_hooks("/home/maxim/tmp/mix_test", post_hooks, erlc_compile) -> no hooks defined

===> run_hooks("/home/maxim/tmp/mix_test", pre_hooks, app_compile) -> no hooks defined

===> run_hooks("/home/maxim/tmp/mix_test", post_hooks, app_compile) -> no hooks defined

===> run_hooks("/home/maxim/tmp/mix_test", post_hooks, compile) -> no hooks defined

===> run_hooks("/home/maxim/tmp/mix_test", post_hooks, compile) -> no hooks defined

===> Provider: {default,dialyzer}
===> Dialyzer starting, this may take a while...
===> Updating plt...
===> Resolving files...
===> kernel modules: [user_sup,logger_olp,local_udp,inet_tcp,inet6_tcp,
                             group,global_group,gen_tcp,gen_sctp,disk_log_sup,
                             disk_log_1,wrap_log_reader,user,standard_error,
                             pg2,logger_server,logger_handler_watcher,
                             logger_formatter,logger,inet_db,
                             hipe_unified_loader,file_server,file_io_server,
                             error_logger,error_handler,erl_signal_handler,
                             erl_boot_server,disk_log_server,code_server,
                             application_starter,application_master,
                             application_controller,rpc,os,logger_filters,
                             kernel_refc,inet_res,inet_hosts,inet_dns,dist_ac,
                             raw_file_io_list,raw_file_io_delayed,
                             raw_file_io_compressed,logger_backend,
                             inet_tcp_dist,inet6_tcp_dist,inet,heart,erl_epmd,
                             seq_trace,raw_file_io_inflate,
                             raw_file_io_deflate,ram_file,inet_parse,
                             inet_gethost_native,file,code,user_drv,
                             raw_file_io_raw,logger_config,kernel_config,
                             inet_config,erts_debug,disk_log,logger_std_h,
                             logger_simple_h,logger_disk_log_h,global_search,
                             auth,logger_proxy,group_history,erl_reply,
                             net_kernel,kernel,global,erl_ddll,dist_util,
                             net_adm,logger_h_common,erl_distribution,
                             application,raw_file_io,logger_sup,local_tcp,
                             inet_udp,inet_sctp,inet6_udp,inet6_sctp,gen_udp]
===> stdlib modules: [zip,dets_sup,timer,supervisor,proc_lib,io_lib,
                             gen_server,filelib,file_sorter,erl_tar,erl_error,
                             dets_server,calendar,beam_lib,sys,sofs,sets,qlc,
                             proplists,ordsets,maps,lists,gb_trees,gb_sets,
                             eval_bits,ets,erl_expand_records,erl_bits,
                             digraph_utils,dets_utils,dets,c,shell_default,
                             rand,qlc_pt,orddict,io_lib_fread,io_lib_format,
                             gen_event,escript,erl_lint,edlin_expand,dict,
                             base64,unicode,supervisor_bridge,slave,re,queue,
                             filename,erl_parse,erl_compile,erl_abstract_code,
                             win32reg,uri_string,string,erl_posix_msg,math,
                             log_mf_h,error_logger_tty_h,error_logger_file_h,
                             digraph,io_lib_pretty,dets_v9,binary,array,
                             unicode_util,shell,pool,otp_internal,
                             erl_internal,erl_eval,random,ms_transform,
                             gen_statem,gen_fsm,gen,erl_scan,edlin,io,
                             erl_anno,erl_pp,epp]
===> erts modules: [prim_zip,zlib,prim_buffer,
                           erts_literal_area_collector,
                           erts_dirty_process_signal_handler,erts_code_purger,
                           erl_tracer,erl_prim_loader,counters,atomics,socket,
                           prim_inet,net,init,erl_init,prim_file,erlang,
                           prim_eval,erts_internal,persistent_term]
===> crypto modules: [crypto_ec_curves,crypto]
===> Checking 194 files in "/home/maxim/tmp/mix_test/_build/default/rebar3_22.0.4_plt"...
===> Running dialyzer with options: [{warnings,
                                             [no_return,no_unused,
                                              no_improper_lists,no_fun_app,
                                              no_match,no_opaque,no_fail_call,
                                              no_contracts,no_behaviours,
                                              no_undefined_callbacks]},
                                            {check_plt,false},
                                            {analysis_type,plt_check},
                                            {get_warnings,false},
                                            {init_plt,
                                             "/home/maxim/tmp/mix_test/_build/default/rebar3_22.0.4_plt"},
                                            {output_plt,
                                             "/home/maxim/tmp/mix_test/_build/default/rebar3_22.0.4_plt"},
                                            {from,byte_code},
                                            {files,
                                             ["/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/uri_string.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_anno.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/dets_v9.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/user_drv.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_disk_log_h.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_h_common.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/error_handler.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/error_logger_tty_h.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/erl_boot_server.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/pg2.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/proc_lib.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/math.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/gen.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_server.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet6_udp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/sys.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/sets.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/re.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/gen_fsm.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/error_logger_file_h.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/array.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/local_udp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/socket.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/erlang.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/ordsets.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_udp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/file.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/win32reg.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/timer.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/rpc.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_db.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_config.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/group.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/global_group.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/erl_signal_handler.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/erl_tracer.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/supervisor_bridge.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/io_lib.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/dets_server.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/os.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/erl_distribution.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/erl_ddll.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/auth.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/erts_literal_area_collector.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/erl_prim_loader.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/slave.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/ms_transform.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/gen_event.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_expand_records.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/user.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/raw_file_io_delayed.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_backend.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/dets.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/erts_debug.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/application.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/io_lib_pretty.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_parse.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/binary.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/prim_inet.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/net.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/supervisor.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_pp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/calendar.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/init.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/erts_code_purger.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/crypto-4.5.1/ebin/crypto_ec_curves.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/unicode.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/string.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/gb_sets.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/filelib.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_scan.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/digraph_utils.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_formatter.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/code.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/zlib.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/unicode_util.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/shell_default.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_simple_h.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_filters.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/gen_tcp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/application_starter.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/erl_init.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/filename.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/eval_bits.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_tar.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/file_io_server.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/file_sorter.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_olp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/gen_udp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/persistent_term.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/qlc_pt.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/log_mf_h.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/gb_trees.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_posix_msg.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/c.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/ram_file.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/net_kernel.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_sup.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet6_tcp_dist.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet6_sctp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/hipe_unified_loader.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/dist_ac.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/application_master.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/shell.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/proplists.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/gen_server.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_abstract_code.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/dets_utils.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/raw_file_io_compressed.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_dns.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/heart.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/disk_log_1.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/prim_zip.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/erts_internal.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/base64.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_std_h.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/error_logger.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/pool.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/escript.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_eval.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/user_sup.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/group_history.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/otp_internal.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/io_lib_fread.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/gen_statem.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_internal.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/digraph.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/dets_sup.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/raw_file_io_list.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/prim_buffer.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/ets.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_error.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_bits.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/dict.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_hosts.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/erl_epmd.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/orddict.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_lint.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/wrap_log_reader.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_config.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/io_lib_format.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/standard_error.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/disk_log_server.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/atomics.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/zip.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/erl_compile.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/edlin_expand.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/seq_trace.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/qlc.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/io.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/disk_log.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/rand.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/queue.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/epp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_proxy.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_res.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/global.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/dist_util.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/prim_file.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/kernel_config.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/global_search.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/erl_reply.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_gethost_native.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/gen_sctp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/erts_dirty_process_signal_handler.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/edlin.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/raw_file_io.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/net_adm.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/kernel_refc.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/random.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/maps.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/counters.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/raw_file_io_inflate.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger_handler_watcher.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_parse.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/sofs.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/beam_lib.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/application_controller.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/raw_file_io_deflate.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet6_tcp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/raw_file_io_raw.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/local_tcp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/kernel.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_tcp_dist.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_sctp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/code_server.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/erts-10.4.3/ebin/prim_eval.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/inet_tcp.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/file_server.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/stdlib-3.9.2/ebin/lists.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/disk_log_sup.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/kernel-6.4.1/ebin/logger.beam",
                                              "/home/maxim/.asdf/installs/erlang/22.0.4/lib/crypto-4.5.1/ebin/crypto.beam"]}]

===> Doing success typing analysis...
===> Resolving files...
===> mix_test modules: [mix_test_sup,mix_test_app]
===> Analyzing 2 files with "/home/maxim/tmp/mix_test/_build/default/rebar3_22.0.4_plt"...
===> Running dialyzer with options: [{warnings,[]},
                                            {check_plt,false},
                                            {analysis_type,succ_typings},
                                            {get_warnings,true},
                                            {from,byte_code},
                                            {files,
                                             ["/home/maxim/tmp/mix_test/_build/default/lib/mix_test/ebin/mix_test_sup.beam",
                                              "/home/maxim/tmp/mix_test/_build/default/lib/mix_test/ebin/mix_test_app.beam"]},
                                            {init_plt,
                                             "/home/maxim/tmp/mix_test/_build/default/rebar3_22.0.4_plt"}]

===> Expanded command sequence to be run: [{default,app_discovery},
                                                  {default,install_deps},
                                                  {default,lock},
                                                  {default,ct}]
===> Provider: {default,app_discovery}
===> Not adding provider mix consolidate_protocols from module rebar_mix_hook because it already exists from module rebar_mix_hook
===> Not adding provider mix find_elixir_libs from module rebar_mix_elixir_finder_hook because it already exists from module rebar_mix_elixir_finder_hook
===> sh info:
	cwd: "/home/maxim/tmp/mix_test"
	cmd: elixir -e "IO.puts(:code.lib_dir(:elixir))"

===> 	opts: [{env,[{"ERL_FLAGS",[]}]},
                       {return_on_error,true},
                       {use_stdout,false}]

===> Port Cmd: elixir -e "IO.puts(:code.lib_dir(:elixir))"
Port Opts: [{env,[{"ERL_FLAGS",[]}]},
            exit_status,
            {line,16384},
            use_stdio,stderr_to_stdout,hide,eof]

===> error: badarg [{erlang,'++',
                               [{rebar_mix_elixir_finder_hook,
                                    elixir_load_error},
                                "~n"],
                               []},
                           {rebar_state,'-create_logic_providers/2-fun-0-',2,
                               [{file,
                                    "/opt/rebar3-3.11.1/src/rebar_state.erl"},
                                {line,481}]},
                           {lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
                           {rebar_state,create_logic_providers,2,
                               [{file,
                                    "/opt/rebar3-3.11.1/src/rebar_state.erl"},
                                {line,478}]},
                           {rebar_plugins,'-handle_plugins/4-fun-0-',4,
                               [{file,
                                    "/opt/rebar3-3.11.1/src/rebar_plugins.erl"},
                                {line,101}]},
                           {lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
                           {rebar_plugins,handle_plugins,4,
                               [{file,
                                    "/opt/rebar3-3.11.1/src/rebar_plugins.erl"},
                                {line,99}]},
                           {lists,foldl,3,[{file,"lists.erl"},{line,1263}]}]
=ERROR REPORT==== 17-Jul-2019::08:29:02.156511 ===
Loading of /home/maxim/.asdf/installs/elixir/1.7.4/bin/../lib/elixir/../elixir/ebin/elixir.beam failed: not_purged

===> "Failed creating providers. Run with DEBUG=1 for stacktrace or consult rebar3.crashdump."

Expected behaviour

At least Rebar should not crash with badarg issue and report plugin error which will be handled in plugin repo.

maximvl avatar Jul 17 '19 07:07 maximvl

This is likely a bug in the plugin itself regarding path handling. It might be worth opening the issue there directly, although I guess @tsloughter would know better if something odd has to be taking place within rebar3 itself for this to happen.

ferd avatar Jul 19 '19 11:07 ferd

@ferd it crashes in creating the providers is why I suspected it was an issue in rebar3 itself. But possible that the plugin is attempting to use something incorrect as a provider and that is causing the crash.

tsloughter avatar Jul 20 '19 14:07 tsloughter

Yea, just looked and it appears there are 2 bugs. One in rebar_state:

?ERROR(Reason++"~n", []),

And one in rebar3_mix that I'm not sure what it is yet.

tsloughter avatar Jul 20 '19 14:07 tsloughter

rebar3: 3.1.14 rebar_mix: master

I changed rebar.config as per the original report:

{plugins, [
  {rebar_mix, ".*", {git, "https://github.com/tsloughter/rebar_mix", {branch, "master"}}}
]}.

rebar3 do dialyzer, ct doesn't crash. (at least, I got to update Elixir to 1.10.4 😄)

paulo-ferraz-oliveira avatar Sep 15 '20 01:09 paulo-ferraz-oliveira