I am trying to setup and deploy a grisp application from this github: "https://github.com/lunelis/sensor_fusion" but when trying to deploy to my SD card I get an "Uncaught error in rebar_core" error. When looking in the rebar3.crashdump I find that the error is a "{badmatch,{error,badparent}}".
Environment
$ rebar3 report grisp deploy
Rebar3 report
version 3.22.1+build.5363.ref06aaecd5
generated at 2024-04-05T08:00:39+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: grispdeploy
Entered as:
grispdeploy
-----------------
Operating System: x86_64-pc-linux-gnu
ERTS: Erlang/OTP 25 [erts-13.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Root Directory: /home/cedric/TFE/erl25
Library directory: /home/cedric/TFE/erl25/lib
-----------------
Loaded Applications:
bbmustache: 1.12.2
certifi: 2.12.0
cf: 0.3.1
common_test: 1.24
compiler: 8.2.4
crypto: 5.1.3
cth_readable: 1.5.1
dialyzer: 5.0.5
edoc: 1.2
erlware_commons: 1.6.0
eunit: 2.8.2
eunit_formatters: 0.5.0
getopt: 1.0.2
inets: 8.3
kernel: 8.5.4
providers: 1.9.0
public_key: 1.13.3
relx: 4.8.0
sasl: 4.2
snmp: 5.13.4
ssl_verify_fun: 1.1.7
stdlib: 4.3
syntax_tools: 3.0.1
tools: 3.5.3
-----------------
Escript path: undefined
Providers:
alias app_discovery as build build clean compile compile completion cover ct cut deploy deps dialyzer do edoc escriptize eunit get-deps help install install_deps list lock manifest new organization owner package path pkgs publish release relup report report repos retire search shell state tar tree unlock update upgrade upgrade upgrade user vendor version version xref
Current behaviour
I get the error "Uncaught error in rebar_core. Run with DIAGNOSTIC=1 to see stacktrace or consult rebar3.crashdump"
DEBUG=1 rebar3 grisp deploy
===> Load global config file /home/cedric/.config/rebar3/rebar.config
===> 25.3 satisfies the requirement for minimum OTP version 18
===> Evaluating config script "/home/cedric/TFE/erl25/.cache/rebar3/plugins/hex_core/rebar.config.script"
===> 25.3 satisfies the requirement for minimum OTP version 19.3
===> Compile (apps)
===> 25.3 satisfies the requirement for minimum OTP version 21.0
===> Compile (apps)
===> 25.3 satisfies the requirement for minimum OTP version 18
===> Evaluating config script "/home/cedric/TFE/sensor_fusion/_build/default/plugins/hex_core/rebar.config.script"
===> 25.3 satisfies the requirement for minimum OTP version 19.3
===> Compile (apps)
===> Not adding provider hex user from module rebar3_hex_user because it already exists from module rebar3_hex_user
===> Not adding provider hex build from module rebar3_hex_build because it already exists from module rebar3_hex_build
===> Not adding provider hex cut from module rebar3_hex_cut because it already exists from module rebar3_hex_cut
===> Not adding provider hex owner from module rebar3_hex_owner because it already exists from module rebar3_hex_owner
===> Not adding provider hex organization from module rebar3_hex_organization because it already exists from module rebar3_hex_organization
===> Not adding provider hex search from module rebar3_hex_search because it already exists from module rebar3_hex_search
===> Not adding provider hex retire from module rebar3_hex_retire because it already exists from module rebar3_hex_retire
===> Not adding provider hex publish from module rebar3_hex_publish because it already exists from module rebar3_hex_publish
===> 25.3 satisfies the requirement for minimum OTP version 21.0
===> Compile (apps)
===> Not adding provider grisp deploy from module rebar3_grisp_deploy because it already exists from module rebar3_grisp_deploy
===> Not adding provider grisp build from module rebar3_grisp_build because it already exists from module rebar3_grisp_build
===> Not adding provider grisp package from module rebar3_grisp_package because it already exists from module rebar3_grisp_package
===> Not adding provider grisp version from module rebar3_grisp_version because it already exists from module rebar3_grisp_version
===> Not adding provider grisp report from module rebar3_grisp_report because it already exists from module rebar3_grisp_report
===> Expanded command sequence to be run: []
===> Running provider: do
===> Expanded command sequence to be run: [app_discovery,install_deps,lock,compile,{grisp,deploy}]
===> Running provider: app_discovery
===> Found top-level apps: [sensor_fusion]
using config: [{src_dirs,["src"]},{lib_dirs,["apps/*","lib/*","."]}]
===> Evaluating config script "/home/cedric/TFE/sensor_fusion/_build/default/lib/grisp/rebar.config.script"
===> 25.3 satisfies the requirement for minimum OTP version 18
===> Evaluating config script "/home/cedric/TFE/sensor_fusion/_build/default/plugins/hex_core/rebar.config.script"
===> 25.3 satisfies the requirement for minimum OTP version 19.3
===> Compile (apps)
===> Not adding provider hex user from module rebar3_hex_user because it already exists from module rebar3_hex_user
===> Not adding provider hex build from module rebar3_hex_build because it already exists from module rebar3_hex_build
===> Not adding provider hex cut from module rebar3_hex_cut because it already exists from module rebar3_hex_cut
===> Not adding provider hex owner from module rebar3_hex_owner because it already exists from module rebar3_hex_owner
===> Not adding provider hex organization from module rebar3_hex_organization because it already exists from module rebar3_hex_organization
===> Not adding provider hex search from module rebar3_hex_search because it already exists from module rebar3_hex_search
===> Not adding provider hex retire from module rebar3_hex_retire because it already exists from module rebar3_hex_retire
===> Not adding provider hex publish from module rebar3_hex_publish because it already exists from module rebar3_hex_publish
===> 25.3 satisfies the requirement for minimum OTP version 21.0
===> Compile (apps)
===> Not adding provider grisp deploy from module rebar3_grisp_deploy because it already exists from module rebar3_grisp_deploy
===> Not adding provider grisp build from module rebar3_grisp_build because it already exists from module rebar3_grisp_build
===> Not adding provider grisp package from module rebar3_grisp_package because it already exists from module rebar3_grisp_package
===> Not adding provider grisp version from module rebar3_grisp_version because it already exists from module rebar3_grisp_version
===> Not adding provider grisp report from module rebar3_grisp_report because it already exists from module rebar3_grisp_report
===> Running provider: install_deps
===> Verifying dependencies...
===> Running provider: lock
===> Running provider: compile
===> Compile (apps)
===> Running hooks for compile with configuration:
===> {pre_hooks, []}.
===> Compile (project_apps)
===> Running hooks for compile in app sensor_fusion (/home/cedric/TFE/sensor_fusion) with configuration:
===> {pre_hooks, []}.
===> Running hooks for erlc_compile in app sensor_fusion (/home/cedric/TFE/sensor_fusion) with configuration:
===> {pre_hooks, []}.
===> Analyzing applications...
===> Compiling sensor_fusion
===> compile options: {erl_opts, [debug_info]}.
===> files to analyze ["/home/cedric/TFE/sensor_fusion/src/e13.erl",
"/home/cedric/TFE/sensor_fusion/src/e11.erl",
"/home/cedric/TFE/sensor_fusion/src/e4.erl",
"/home/cedric/TFE/sensor_fusion/src/nav.erl",
"/home/cedric/TFE/sensor_fusion/src/sensor_fusion.erl",
"/home/cedric/TFE/sensor_fusion/src/e6.erl",
"/home/cedric/TFE/sensor_fusion/src/e10.erl",
"/home/cedric/TFE/sensor_fusion/src/sonar.erl",
"/home/cedric/TFE/sensor_fusion/src/killer.erl",
"/home/cedric/TFE/sensor_fusion/src/sensor_fusion_sup.erl",
"/home/cedric/TFE/sensor_fusion/src/mag.erl",
"/home/cedric/TFE/sensor_fusion/src/e8.erl",
"/home/cedric/TFE/sensor_fusion/src/measure_counter.erl",
"/home/cedric/TFE/sensor_fusion/src/numerl.erl",
"/home/cedric/TFE/sensor_fusion/src/e5.erl",
"/home/cedric/TFE/sensor_fusion/src/bilateration.erl",
"/home/cedric/TFE/sensor_fusion/src/nav3.erl",
"/home/cedric/TFE/sensor_fusion/src/e7.erl",
"/home/cedric/TFE/sensor_fusion/src/e9.erl"]
===> Running hooks for erlc_compile in app sensor_fusion (/home/cedric/TFE/sensor_fusion) with configuration:
===> {post_hooks, []}.
===> Running hooks for app_compile in app sensor_fusion (/home/cedric/TFE/sensor_fusion) with configuration:
===> {pre_hooks, []}.
===> Running hooks for app_compile in app sensor_fusion (/home/cedric/TFE/sensor_fusion) with configuration:
===> {post_hooks, []}.
===> Running hooks for compile in app sensor_fusion (/home/cedric/TFE/sensor_fusion) with configuration:
===> {post_hooks, []}.
===> Running hooks for compile with configuration:
===> {post_hooks, []}.
===> Running provider: {grisp,deploy}
===> [rebar3_grisp] [config]
===> [rebar3_grisp] [deploy]
===> [rebar3_grisp] [deploy,validate]
===> [rebar3_grisp] [deploy,validate,apps]
* Resolving OTP version
===> sh command:
git ls-remote --tags --refs https://github.com/erlang/otp
===> sh output:
e7f3465450b32dfcc4e46f62baae8d3cd4e84d9c refs/tags/OTP-17.0
[...]
07e9bea5f2e23279f202b5fa06659a66a0fee360 refs/tags/erl_1211-bp
25.2.3 (requirement was "25.2.3")
===> [rebar3_grisp] [deploy,collect]
===> GRiSP hash:
e5256dda82298feb3ebcf5d7e37e58b3ac2877b25198e753ff71dbdb3d8dea60
[{<<"00100-rtems.patch">>,
<<"2af01f4bea697209ec65f10c97212fff540ee106346749106a65d34b5e4412a4">>},
{<<"00300-drivers-nifs.patch">>,
<<"d3e469631ef8d253368f67d5c5d2b47ddf8290e48e7331362ca84863ec97b66">>},
{<<"erts/emulator/drivers/unix/grisp_termios_drv.c">>,
<<"7681801fca2aa5639e32365e9fad1626e3226f205bd3a7f4944e6e57ea29a3d0">>},
{<<"erts/emulator/nifs/common/grisp_gpio_nif.c">>,
<<"6d88dab1b11f41b7ca34791b67bb3dcdc288262db0c4c0ac01707248ed75194e">>},
{<<"erts/emulator/nifs/common/grisp_hw_nif.c">>,
<<"7be1ac99d35234c7370728d1bc3a1bdf6a31f3bca2c181406336959567e6c528">>},
{<<"erts/emulator/nifs/common/grisp_i2c_nif.c">>,
<<"eb989c69d1455eb84a9e3f0ff5646e4b9696cd8910a8f9f57d183925417c2cd7">>},
{<<"erts/emulator/nifs/common/grisp_rtems_nif.c">>,
<<"86840705643b73bda6edafaa6a65653346eede3f6be47c160842c192b6e98646">>},
{<<"erts/emulator/nifs/common/grisp_spi_nif.c">>,
<<"71af657167e7fe8b94463a589f0ee1a72e6572d5f41b28f685481cfcef0949d7">>},
{<<"erts/emulator/nifs/common/numerl_nif.c">>,
<<"95f259a770d68d75525006c5930381da0b5c72032c5dd37ab4ca82e3bc7d411b">>},
{<<"erts/emulator/sys/unix/erl_main.c">>,
<<"a12478373a15eede9f7ee3395724d2af7451bd53c579021fa255d2404c53e0d0">>},
{<<"post-install-00500-clean.sh">>,
<<"8257667f99ce2814c6f15f3b9b1c35765f986e9da1661736402dc91f78ad52a">>},
{<<"xcomp/erl-xcomp-arm-rtems5-25.conf">>,
<<"17b266770927450e17db2bd996da3ddcd8437a52421142fdbcbfb2e004f40ce7">>},
{<<"xcomp/erl-xcomp-arm-rtems5.conf">>,
<<"6340b8cc1bae3f205ea0d5323a9e7054efa804231d67b86069208c148d924c00">>}]
===> [rebar3_grisp] [deploy,package]
* Using custom OTP (e5256dda)
===> [rebar3_grisp] [deploy,release]
===> [rebar3_grisp] [deploy,release,
{start,#{erts =>
<<"/home/cedric/TFE/sensor_fusion/_grisp/grisp2/otp/25.2.3/install">>,
name => sensor_fusion,
version => "1.0.0"}}]
===> ARGS: ["-n",sensor_fusion,"-v","1.0.0"]
===> ROOT: <<"/home/cedric/TFE/sensor_fusion/_grisp/grisp2/otp/25.2.3/install">>
===> Configuring releases the {relx, ...} entry from rebar.config
===> Running app-specific hooks
===> Running hooks for release in app sensor_fusion (/home/cedric/TFE/sensor_fusion) with configuration:
===> {pre_hooks, []}.
===> Running project-wide hooks
===> Running hooks for release with configuration:
===> {pre_hooks, []}.
===> Solving Release sensor_fusion-1.0.0
===> System libs dir to search for apps /home/cedric/TFE/sensor_fusion/_grisp/grisp2/otp/25.2.3/install/lib
===> Resolved sensor_fusion-1.0.0
===> release: sensor_fusion-1.0.0
erts: 13.2
goals:
grisp
epmd
sensor_fusion
hera
runtime_tools
hera_synchronization
applications:
{kernel,"8.5.3"}
{stdlib,"4.2"}
{mapz,"2.2.0"}
{grisp,"2.4.0"}
{epmd,"1.0.0",none}
{hera,"1.0.0"}
{sensor_fusion,"1.0.0"}
{runtime_tools,"1.19"}
{hera_synchronization,"1.0.0"}
===> Assembling release sensor_fusion-1.0.0...
===> Release output dir /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/kernel-8.5.3/ebin/kernel.app
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/stdlib-4.2/ebin/stdlib.app
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/mapz-2.2.0/ebin/mapz.app
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/grisp-2.4.0/ebin/grisp.app
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/epmd-1.0.0/ebin/epmd.app
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/hera-1.0.0/ebin/hera.app
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/sensor_fusion-1.0.0/ebin/sensor_fusion.app
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/runtime_tools-1.19/ebin/runtime_tools.app
===> Rewriting .app file: /home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/lib/hera_synchronization-1.0.0/ebin/hera_synchronization.app
===> Including Erts from /home/cedric/TFE/sensor_fusion/_grisp/grisp2/otp/25.2.3/install
===> There are missing function calls in the release.
===> Make sure all applications needed at runtime are included in the release.
===> sensor_fusion:start/2 calls undefined function pmod_maxsonar:set_mode/1
===> Warnings generating release:
*WARNING* Missing application sasl. Can not upgrade with this release
===> release start script created
===> Release successfully assembled: _build/grisp/rel/sensor_fusion
===> Running app-specific hooks
===> Running hooks for release in app sensor_fusion (/home/cedric/TFE/sensor_fusion) with configuration:
===> {post_hooks, []}.
===> Running project-wide hooks
===> Running hooks for release with configuration:
===> {post_hooks, []}.
===> [rebar3_grisp] [deploy,release,
{done,#{dir =>
"/home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion",
erts =>
<<"/home/cedric/TFE/sensor_fusion/_grisp/grisp2/otp/25.2.3/install">>,
name => sensor_fusion,
version => "1.0.0"}}]
===> [rebar3_grisp] [deploy,copy]
* Running pre_script
===> sh command:
rm -rf /media/cedric/GRiSP/*
===> sh output:
* Copying release...
===> sh command:
cp -R "/home/cedric/TFE/sensor_fusion/_build/grisp/rel/sensor_fusion/" "/media/cedric/GRiSP/sensor_fusion"
===> sh output:
===> [rebar3_grisp] [deploy,copy,release,{copy,{result,{ok,[]}}}]
* Copying files...
[sensor_fusion] erl_inetrc
[sensor_fusion] grisp.ini
===> Uncaught error in rebar_core. Run with DIAGNOSTIC=1 to see stacktrace or consult rebar3.crashdump
===> Uncaught error: {badmatch,{error,badparent}}
===> Stack trace to the error location:
[{rebar3_grisp_deploy,do,1,
[{file,"/home/cedric/TFE/sensor_fusion/_build/default/plugins/rebar3_grisp/src/rebar3_grisp_deploy.erl"},
{line,155}]},
{rebar_core,do,2,
[{file,"/home/cedric/TFE/rebar3/apps/rebar/src/rebar_core.erl"},
{line,155}]},
{rebar_prv_do,do_task,5,
[{file,"/home/cedric/TFE/rebar3/apps/rebar/src/rebar_prv_do.erl"},
{line,87}]},
{rebar_core,do,2,
[{file,"/home/cedric/TFE/rebar3/apps/rebar/src/rebar_core.erl"},
{line,155}]},
{rebar3,run_aux,2,
[{file,"/home/cedric/TFE/rebar3/apps/rebar/src/rebar3.erl"},
{line,205}]},
{rebar3,main,1,
[{file,"/home/cedric/TFE/rebar3/apps/rebar/src/rebar3.erl"},
{line,66}]},
{init,start_em,1,[]},
{init,do_boot,3,[]}]
===> When submitting a bug report, please include the output of `rebar3 report "your command"`
Expected behaviour
I would like the application to be deployed on my SD card to run the application on a grisp board
Pre-Check
I am trying to setup and deploy a grisp application from this github: "https://github.com/lunelis/sensor_fusion" but when trying to deploy to my SD card I get an "Uncaught error in rebar_core" error. When looking in the rebar3.crashdump I find that the error is a "{badmatch,{error,badparent}}".
Environment
Current behaviour
I get the error "Uncaught error in rebar_core. Run with DIAGNOSTIC=1 to see stacktrace or consult rebar3.crashdump"
Expected behaviour
I would like the application to be deployed on my SD card to run the application on a grisp board