Self-Compile ejabberd rebar3 resulting in ejabberd init process crash. Erlang/OTP 25
thealacer opened this issue · comments
thealacer commented
Environment
- ejabberd version: 24.02.25 (master since 25th March 2024)
- Erlang version:
erlang/otp 25
- OS: Linux - Debian bookworm (With and Without backports)
- Installed from: source (main repo and checkout 24.02)
Configuration (only if needed): grep -Ev '^$|^\s*#' ejabberd.yml
Compile Commands:
Not working with rebar 3 Self Compile Configuration:
./configure --enable-user=ejabberd --enable-group=ejabberd --enable-all --with-rebar=~./rebar3 --disable-elixir --enable-new-sql-schema --enable-pgsql
Working with rebar Self Compile Configuration:
./configure --enable-user=ejabberd --enable-group=ejabberd --enable-all --with-rebar=./rebar --disable-elixir --enable-new-sql-schema --enable-pgsql
./configure --enable-user=ejabberd --enable-group=ejabberd --enable-all --with-rebar= --disable-elixir --enable-new-sql-schema --enable-pgsql
loglevel: error
...
Errors from error.log/crash.log
=erl_crash_dump:0.5
Wed Mar 27 22:03:49 2024
Slogan: init terminating in do_boot ({undef,[{ejabberd,start,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]})
System version: Erlang/OTP 25 [erts-13.1.5] [source] [64-bit] [smp:128:2] [ds:128:2:10] [async-threads:1] [jit:ns]
Taints:
Atoms: 8773
Calling Thread: scheduler:2
=scheduler:1
Bug description
- ejabberd Startup Fails when it is compiled with rebar3 on 24.02.x.
- The issue was not present on 24.02.7 when last tested using Master Branch on 7th March 2024
- This issue is present on 24.02.25 when tested using master branch since 26th March 2024
- The Bug is same if we git checkout tag 24.04 or compile 24.02 from master branch
Step to Product/Re-Produce:
- Just change the
./configure --with-rebar=~./rebar3
to./configure --with-rebar=./rebar
or./configure --with-rebar
and it works well. - Changing back to rebar3 option does not work.
thealacer commented
The Issue is not in Ejabberd rather on my compile script Since I was Compiling rebar3 from source as well.
Therefore if anyone is going to Self Compile rebar3 please use below option for ejabberd compile configuration:
./configure --rebar=/path to the full rebar3 compiled directory/./rebar3
In case if you want to use the rebar3 downloaded along ejabberd repo clone, please use below option for ejabberd compile config:
./configure --rebar=./rebar3
Licaon_Kter commented
That's how I use it :)