Warnings
Non-fatal quality signals detected by the BEAM scanner. These packages compile and pass — but use patterns worth knowing about for Nerves firmware (reproducibility, runtime behavior, host-tool dependencies).
Non-deterministic build
144 packages
Repeated builds of this package's source produced different binaries — its compiled output isn't reproducible. Breaks firmware-image determinism (you can't audit that two builds of the same source produced the same firmware) and complicates debugging.
Show 144 affected packages
Calls :erlang.halt / System.halt
85 packages
Package code calls into a function that halts the BEAM VM. On a Nerves device that means the firmware reboots — usually surprising unless this is intentionally a reboot helper.
Show 85 affected packages
anubis_mcp
@1.2.0
bedrock
@0.5.0
Elixir.Mix.Tasks.Bedrock.AnalyzeIndex Elixir.System:halt/1
Elixir.Mix.Tasks.Bedrock.DumpStorage Elixir.System:halt/1
common_test
@1.30
deciduex
@0.14.0-beta.3
Elixir.Deciduex.Application Elixir.System:halt/1
Elixir.Deciduex.CLI Elixir.System:halt/1
dialyzer
@5.4
diode_client
@1.4.6
edoc
@1.4.1
emqtt
@1.14.7
erlydtl
@0.14.0
ex_mcp
@0.9.1
Elixir.ExMCP.StdioLauncher Elixir.System:halt/1
Elixir.Mix.Tasks.Mcp.SyncSpec Elixir.System:halt/1
Elixir.Mix.Tasks.Test.Suite Elixir.System:halt/1
gpb
@4.21.7
h2
@0.6.1
hermes_mcp
@0.14.1
hex
@2.4.1
igniter
@0.8.1
inets
@9.6.2
kernel
@10.6.3
localize
@0.21.0
loom_ex
@0.1.4
Elixir.LoomEx.Application Elixir.System:halt/1
Elixir.LoomEx.CLI Elixir.System:halt/1
luerl
@1.5.1
nerves_hub_cli
@2.1.0
Elixir.Mix.NervesHubCLI.Shell Elixir.System:halt/1
Elixir.NervesHubCLI.CLI.Shell Elixir.System:halt/1
no_noncense
@1.1.3
phia_ui
@0.1.17
Elixir.Mix.Tasks.Phia.Design Elixir.System:halt/1
Elixir.Mix.Tasks.Phia.Design.Analyze Elixir.System:halt/1
Elixir.Mix.Tasks.Phia.Design.Export Elixir.System:halt/1
phoenix
@1.8.7
phoenix_kit
@1.7.128
plushie
@0.6.0
Elixir.Mix.Tasks.Plushie.Replay Elixir.System:halt/1
Elixir.Mix.Tasks.Plushie.Script Elixir.System:halt/1
property_damage
@0.1.0
Elixir.Mix.Tasks.Pd.Gen.Adapter Elixir.System:halt/1
Elixir.Mix.Tasks.Pd.Gen.Projection Elixir.System:halt/1
Elixir.Mix.Tasks.Pd.Integration Elixir.System:halt/1
quic
@1.4.5
rabbit_common
@4.2.1
ragex
@0.11.0
Elixir.Mix.Tasks.Ragex.Analyze Elixir.System:halt/1
Elixir.Mix.Tasks.Ragex.Audit Elixir.System:halt/1
Elixir.Mix.Tasks.Ragex.Completions Elixir.System:halt/1
raxol
@2.4.0
Elixir.Mix.Tasks.Raxol.Bench.Advanced Elixir.System:halt/1
Elixir.Mix.Tasks.Raxol.Bench.MemoryAnalysis Elixir.System:halt/1
Elixir.Mix.Tasks.Raxol.Memory.Debug Elixir.System:halt/1
req_llm
@1.14.0
sagents
@0.6.0
Elixir.Mix.Tasks.Sagents.Gen.LiveHelpers Elixir.System:halt/1
Elixir.Mix.Tasks.Sagents.Setup Elixir.System:halt/1
scrypath
@0.3.3
Elixir.Mix.Tasks.Scrypath.Settings.Diff Elixir.System:halt/1
Elixir.Mix.Tasks.Verify.ReleaseParity Elixir.System:halt/1
sobelow
@0.14.1
stdlib
@7.3
tools
@4.1.4
torngen
@0.1.10
zen_websocket
@0.4.2
Uses System.shell / :os.cmd
27 packages
Spawns a shell to run commands (System.shell/:os.cmd), as opposed to executing a binary directly with Port.open/System.cmd. Brittle — the target shell may not exist or behave like the dev host — and a shell-injection surface for any user-provided arguments.
Show 27 affected packages
burrito
@1.5.0
common_test
@1.30
dialyzer
@5.4
erlware_commons
@1.6.0
kernel
@10.6.3
mochiweb
@3.3.0
os_mon
@2.11.2
owl
@0.13.0
rabbit_common
@4.2.1
runtime_tools
@2.3.1
sobelow
@0.14.1
Writes to its source directory during build
15 packages
The package's build step wrote files into `deps//` (its own source tree) rather than staying inside `MIX_BUILD_PATH`. Bad form on Nerves because those stray artifacts persist across `MIX_TARGET` switches — a NIF compiled for rpi4 stays in source and breaks the x86_64 build that follows.
Show 15 affected packages
ex_libsrt
@0.1.7
c_src/ex_libsrt/_generated/.gitignore
c_src/ex_libsrt/_generated/nif/srt_nif.c
c_src/ex_libsrt/_generated/nif/srt_nif.cpp
c_src/ex_libsrt/_generated/nif/srt_nif.h
makeup_syntect
@0.1.4
priv/native/libmakeup_syntect-v0.1.4-nif-2.15-riscv64gc-unknown-linux-gnu.so
priv/native/libmakeup_syntect-v0.1.4-nif-2.15-x86_64-unknown-linux-musl.so
membrane_camera_capture_plugin
@0.7.5
c_src/membrane_camera_capture_plugin/_generated/.gitignore
c_src/membrane_camera_capture_plugin/_generated/camera_capture.h
c_src/membrane_camera_capture_plugin/_generated/nif/camera_capture.c
c_src/membrane_camera_capture_plugin/_generated/nif/camera_capture.cpp
membrane_ffmpeg_swresample_plugin
@0.20.5
c_src/membrane_ffmpeg_swresample_plugin/_generated/.gitignore
c_src/membrane_ffmpeg_swresample_plugin/_generated/converter.h
c_src/membrane_ffmpeg_swresample_plugin/_generated/nif/converter.c
c_src/membrane_ffmpeg_swresample_plugin/_generated/nif/converter.cpp
membrane_mp3_lame_plugin
@0.18.5
c_src/membrane_mp3_lame_plugin/_generated/.gitignore
c_src/membrane_mp3_lame_plugin/_generated/encoder.h
c_src/membrane_mp3_lame_plugin/_generated/nif/encoder.c
c_src/membrane_mp3_lame_plugin/_generated/nif/encoder.cpp
membrane_rtmp_plugin
@0.29.3
c_src/membrane_rtmp_plugin/sink/_generated/.gitignore
c_src/membrane_rtmp_plugin/sink/_generated/nif/rtmp_sink.c
c_src/membrane_rtmp_plugin/sink/_generated/nif/rtmp_sink.cpp
c_src/membrane_rtmp_plugin/sink/_generated/nif/rtmp_sink.h