meta-erlang icon indicating copy to clipboard operation
meta-erlang copied to clipboard

couchdb 3.4.2 with erlang/otp 27 fails

Open joaohf opened this issue 9 months ago • 2 comments

When building couchdb 3.4.2 with erlang/otp 27, I got the following error:

| NOTE: make -j 12 DESTDIR=/build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/image install                                                                                                  
| ==> snappy (compile)                  
| ==> ibrowse (compile)                                                                                     
| ==> jiffy (compile)                                                                                       
| ==> mochiweb (compile)                                                                                    
| ==> meck (compile)                                                                                        
| ==> recon (compile)                                                                                                                                                                                                    
| ==> proper (compile)                                                                                      
| ==> couch_epi (compile)                                                                                   
| ==> config (compile)                                                                                      
| ==> couch_log (compile)                                                                                   
| WARN:  Missing plugins: [pc]                    
| ==> b64url (compile)                                                                                      
| WARN:  Missing plugins: [pc]                                                                              
| ==> exxhash (compile)                                                                                     
| ==> ets_lru (compile)                                                                                                                                                                                                  
| ==> couch_quickjs (compile)                                                                               
| make[1]: Entering directory '/build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/git/src/couch_quickjs/quickjs'
| make[1]: warning: -j8 forced in submake: resetting jobserver mode.
| make[1]: 'libquickjs.lto.a' is up to date.
| make[1]: 'qjsc' is up to date.
| make[1]: Leaving directory '/build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/git/src/couch_quickjs/quickjs'
| ==> chttpd (compile)
| ==> couch (compile)
| ==> couch_event (compile)
| ==> mem3 (compile)
| ==> couch_index (compile)
| ==> couch_mrview (compile)
| ==> couch_replicator (compile)
| ==> couch_pse_tests (compile)
| ==> couch_stats (compile)
| ==> couch_peruser (compile)
| ==> couch_tests (compile)
| ==> couch_dist (compile)
| ==> custodian (compile)
| ==> ddoc_cache (compile)
| ==> dreyfus (compile)
| ==> nouveau (compile)
| ==> fabric (compile)
| ==> global_changes (compile)
| ==> ioq (compile)
| ==> jwtf (compile)
| ==> ken (compile)
| ==> mango (compile)
| ==> rexi (compile)
| ==> setup (compile)
| ==> smoosh (compile)
| ==> weatherreport (compile)
| ==> couch_prometheus (compile)
| ==> couch_scanner (compile)
| ==> rel (compile)
| ==> git (compile)
| ==> weatherreport (escriptize)
| WARN:  'escriptize' command does not apply to directory /build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/git/rel
| WARN:  'escriptize' command does not apply to directory /build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/git
| Installing CouchDB into rel/couchdb/ ...
| WARN:  Missing plugins: [pc]
| WARN:  Missing plugins: [pc]
| ==> rel (generate)
| =CRASH REPORT==== 17-Mar-2025::00:51:27.252198 ===
|   crasher:
|     initial call: reltool_server:init/1
|     pid: <0.194.0>
|     registered_name: []
|     exception exit: {{badmatch,false},
|                      [{reltool_server,'-libs_to_dirs/2-fun-0-',2,
|                                       [{file,"reltool_server.erl"},
|                                        {line,1775}]},
|                       {reltool_server,'-libs_to_dirs/2-lc$^1/1-0-',2,
|                                       [{file,"reltool_server.erl"},
|                                        {line,1780}]},
|                       {reltool_server,libs_to_dirs,2,
|                                       [{file,"reltool_server.erl"},
|                                        {line,1780}]},
|                       {reltool_server,refresh,1,
|                                       [{file,"reltool_server.erl"},
|                                        {line,1717}]},
|                       {reltool_server,do_init,1,
|                                       [{file,"reltool_server.erl"},
|                                        {line,158}]}, 
|                       {reltool_server,init,1,
|                                       [{file,"reltool_server.erl"},
|                                        {line,136}]},
|                       {proc_lib,init_p_do_apply,3,
|                                 [{file,"proc_lib.erl"},{line,329}]}]}
|       in function  reltool_server:init/1 (reltool_server.erl, line 141)
|     ancestors: [<0.10.0>]
|     message_queue_len: 0
|     messages: []
|     links: [<0.10.0>]
|     dictionary: []
|     trap_exit: false
|     status: running
|     heap_size: 10958
|     stack_size: 29
|     reductions: 5454
|   neighbours:
|     neighbour:
|       pid: <0.10.0>
|       registered_name: []
|       initial_call: {erlang,apply,2}
|       current_function: {proc_lib,sync_start,2}
|       ancestors: []
|       message_queue_len: 0
|       links: [<0.0.0>,<0.194.0>]
|       trap_exit: false
|       status: waiting
|       heap_size: 17731
|       stack_size: 94
|       reductions: 2053854
|       current_stacktrace: [{proc_lib,sync_start,2,[{file,"proc_lib.erl"},{line,434}]},
|                   {reltool,start_server,1,[{file,"reltool.erl"},{line,336}]},
|                   {rebar_reltool,generate,2,
|                                  [{file,"src/rebar_reltool.erl"},{line,53}]},
|                   {rebar_core,run_modules,4,
|                               [{file,"src/rebar_core.erl"},{line,493}]},
|                   {rebar_core,execute,6,
|                               [{file,"src/rebar_core.erl"},{line,418}]},
|                   {rebar_core,maybe_execute,8,
|                               [{file,"src/rebar_core.erl"},{line,302}]},
|                   {rebar_core,process_dir1,7,
|                               [{file,"src/rebar_core.erl"},{line,261}]},
|                   {rebar_core,process_each,5,
|                               [{file,"src/rebar_core.erl"},{line,351}]}]
| Runtime terminating during boot ({{badmatch,false},[{reltool_server,'-libs_to_dirs/2-fun-0-',2,[{file,"reltool_server.erl"},{line,1775}]},{reltool_server,'-libs_to_dirs/2-lc$^1/1-0-',2,[{file,"reltool_server.erl"},{
line,1780}]},{reltool_server,libs_to_dirs,2,[{file,"reltool_server.erl"},{line,1780}]},{reltool_server,refresh,1,[{file,"reltool_server.erl"},{line,1717}]},{reltool_server,do_init,1,[{file,"reltool_server.erl"},{line,
158}]},{reltool_server,init,1,[{file,"reltool_server.erl"},{line,136}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,329}]}]})
| 
| Crash dump is being written to: erl_crash.dump...done
| make: *** [Makefile:411: release] Error 1
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.

erl_crash.dump.zip

It works when configuring PREFERRED_VERSION to 25:

PREFERRED_VERSION_erlang = "25.3.2.15"
PREFERRED_VERSION_erlang-native = "25.3.2.15"
PREFERRED_VERSION_nativesdk-erlang = "25.3.2.15"

joaohf avatar Mar 17 '25 01:03 joaohf

Thanks for the hint. I only had these versions available: WARNING: versions of erlang-native available: 25.3.2.20 26.2.5.11 27.3.3 But with 25.3.2.20 it works!

chruetli avatar Apr 22 '25 14:04 chruetli

Hi @chruetli

I had to update Erlang/OTP versions due a security fix. Let me know it something is not working as expected. I'm still testing and reviewing some points.

joaohf avatar Apr 22 '25 17:04 joaohf

Hi Joao,

I just tried to rebuild my project and noticed that the error occurred again. The Erlang/OPT version is 3.4.3/27. It fails with exactly the same message as before (first message in this thread) WARNING: versions of erlang-native available: 25.3.2.21 26.2.5.15 27.3.4.3 It doesn't work with 27.3.4.3 but with 25.3.2.21 it works again!

chruetli avatar Oct 06 '25 05:10 chruetli

Hi @chruetli

I've tested on latest master, couchdb-3.4.3 recipe and Erlang/OTP 27. It is working now.

# meta-erlang-elixir
ELIXIR_VERSION = "1.17.1"
PREFERRED_VERSION_elixir = "${ELIXIR_VERSION}"
PREFERRED_VERSION_elixir-native = "${ELIXIR_VERSION}"
PREFERRED_VERSION_nativesdk-elixir = "${ELIXIR_VERSION}"

# meta-erlang-erlang
ERLANG_VERSION = "27.3.4.3"
PREFERRED_VERSION_erlang = "${ERLANG_VERSION}"
PREFERRED_VERSION_erlang-native = "${ERLANG_VERSION}"
PREFERRED_VERSION_nativesdk-erlang = "${ERLANG_VERSION}"

It is good to cleansstate erlang erlang-native before trying it.

Not only the build is working but also running couchdb is also ok.

joaohf avatar Oct 10 '25 00:10 joaohf

Hi,

I'm closing this one. Feel free to reopen it if needed.

joaohf avatar Nov 14 '25 20:11 joaohf