erlang / rebar3

Erlang build tool that makes it easy to compile and test Erlang applications and releases.
http://www.rebar3.org
Apache License 2.0
1.71k stars 517 forks source link

rebar3 auto: Error loading module enotify #2845

Open brigadier opened 1 year ago

brigadier commented 1 year ago

rebar3 auto crashes on second change with

beam/beam_load.c(148): Error loading module enotify:
  please re-compile this module with an Erlang/OTP 26 compiler or update your Erlang/OTP version

Steps to reproduce:

rebar3 auto --config=/path/to/config.file call a function from shell - success change something, call the function again - success change something again - crash

3> palette_pg_worker:conn().

DEBUG: palette_pg_worker:25
"2"
  2

{ok,<0.412.0>}
4> palette_pg_worker:conn().
{ok,<0.406.0>}
5> =ERROR REPORT==== 14-Nov-2023::19:23:25.870893 ===
beam/beam_load.c(148): Error loading module enotify:
  please re-compile this module with an Erlang/OTP 26 compiler or update your Erlang/OTP version

=WARNING REPORT==== 14-Nov-2023::19:23:25.871055 ===
** Undefined handle_info in enotify
** Unhandled message: {#Port<0.4>,
                       {data,{eol,"/home/evgeny/projects/palette/palette/apps/palette/src/ CREATE palette_pg_worker.erl~"}}}

=WARNING REPORT==== 14-Nov-2023::19:23:25.872147 ===
** Undefined handle_info in enotify
5> palette_pg_worker:conn().
{ok,<0.411.0>}

rebar3 report auto

Rebar3 report
 version 3.22.0+build.5284.refc46bec6a
 generated at 2023-11-14T16:27:16+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: auto
Entered as:
  auto
-----------------
Operating System: x86_64-pc-linux-gnu
ERTS: Erlang/OTP 26 [erts-14.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]
Root Directory: /home/evgeny/erlang/26.0
Library directory: /home/evgeny/erlang/26.0/lib
-----------------
Loaded Applications:
bbmustache: 1.12.2
certifi: 2.11.0
cf: 0.3.1
common_test: 1.25
compiler: 8.3
crypto: 5.2
cth_readable: 1.5.1
dialyzer: 5.1
edoc: 1.2
erlware_commons: 1.6.0
eunit: 2.8.2
eunit_formatters: 0.5.0
getopt: 1.0.2
inets: 9.0
kernel: 9.0
providers: 1.9.0
public_key: 1.14
relx: 4.8.0
sasl: 4.2.1
snmp: 5.14
ssl_verify_fun: 1.1.6
stdlib: 5.0
syntax_tools: 3.1
tools: 3.6

-----------------
Escript path: /home/evgeny/.cache/rebar3/bin/rebar3
Providers:
  app_discovery as auto build clean compile compile compile cover ct cut deps dialyzer do edoc escriptize eunit get-deps help install install_deps list lock new organization owner path pkgs publish release relup report repos retire search shell state tar tree unlock update upgrade upgrade upgrade user vendor version xref 

I have multiple version of erlang managed by kerl

ferd commented 1 year ago

Rebar3 auto is a third party plugin we do not maintain. The actual repository for these problems is at https://github.com/vans163/rebar3_auto

I notice that the plugin hasn't had an update in 3 years and that enotify has not since 2015. There's a possibility that the problem is not the erlang version you use, but the NIF API that the plugin's dependency relies on.