Build log
nerves_system_qemu_aarch64
legendary_core 8.12.0 · fail · run legendary_core-8.12.0-1790974005865
1790 of 1790 lines
1Resolving Hex dependencies...2Resolution completed in 0.725s3Unchanged:4 bamboo 1.6.05 bamboo_smtp 3.0.06 castore 0.1.227 certifi 2.15.08 circular_buffer 1.1.09 cldr_utils 2.29.710 connection 1.1.011 cowboy 2.19.012 cowboy_telemetry 0.4.013 cowlib 2.20.0 VULNERABLE!14 EEF-CVE-2026-43966 (MEDIUM)15 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c16 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/217 https://osv.dev/vulnerability/EEF-CVE-2026-439661819 EEF-CVE-2026-43969 (LOW)20 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5621 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/122 https://osv.dev/vulnerability/EEF-CVE-2026-4396923 db_connection 2.10.224 decimal 2.4.1 VULNERABLE!25 EEF-CVE-2026-32686 (MEDIUM)26 aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v27 Unbounded exponent in decimal enables unauthenticated DoS28 https://osv.dev/vulnerability/EEF-CVE-2026-3268629 ecto 3.11.230 ecto_sql 3.11.331 elixir_make 0.10.032 ex_aws 2.4.433 ex_aws_s3 2.5.934 ex_cldr 2.33.235 ex_prompt 0.2.036 ex_url 1.4.037 expo 1.1.138 fun_with_flags 1.9.039 fun_with_flags_ui 0.8.140 gen_smtp 0.15.041 gettext 0.26.242 hackney 1.25.0 VULNERABLE!43 EEF-CVE-2026-47071 (HIGH)44 aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr45 SOCKS5 TLS upgrade ignores caller timeout in hackney46 https://osv.dev/vulnerability/EEF-CVE-2026-470714748 EEF-CVE-2026-47076 (MEDIUM)49 aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq50 SSRF allowlist bypass via percent-encoded host in hackney51 https://osv.dev/vulnerability/EEF-CVE-2026-470765253 EEF-CVE-2026-47069 (LOW)54 aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw255 CRLF injection in cookie domain/path options in hackney56 https://osv.dev/vulnerability/EEF-CVE-2026-470695758 EEF-CVE-2026-47075 (MEDIUM)59 aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf60 CR/LF injection in query parameter in hackney61 https://osv.dev/vulnerability/EEF-CVE-2026-4707562 idna 6.1.163 interactive_cmd 0.1.464 jason 1.4.565 legendary_core 8.12.066 libcluster 3.5.067 linguist 0.3.268 metrics 1.0.169 mime 2.0.770 mimerl 1.5.071 nerves 2.0.0-pre.272 nerves_discovery 0.1.573 nerves_logging 0.2.474 nerves_runtime 0.13.1375 nerves_system_bbb 2.30.276 nerves_system_br 1.34.477 nerves_system_mangopi_mq_pro 0.17.278 nerves_system_qemu_aarch64 0.4.279 nerves_system_rpi0 2.1.280 nerves_system_rpi4 2.1.281 nerves_system_rpi5 2.1.282 nerves_system_trellis 0.5.083 nerves_system_x86_64 1.34.284 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.185 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.186 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.187 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.188 nerves_toolchain_x86_64_nerves_linux_musl 15.3.189 nerves_uevent 0.1.790 nimble_parsec 1.4.291 oban 2.19.492 parse_trans 3.4.193 phoenix 1.7.2494 phoenix_ecto 4.7.095 phoenix_html 3.3.496 phoenix_live_view 0.18.18 VULNERABLE!97 EEF-CVE-2026-64941 (LOW)98 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf99 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR100 https://osv.dev/vulnerability/EEF-CVE-2026-64941101 phoenix_pubsub 2.3.0102 phoenix_template 1.0.4103 phoenix_view 2.0.4104 plug 1.20.3105 plug_cowboy 2.9.0106 plug_crypto 2.2.0107 postgrex 0.16.5 VULNERABLE!108 EEF-CVE-2026-32687 (HIGH)109 aka: CVE-2026-32687, GHSA-r73h-97w8-m54h110 SQL injection via channel name in Postgrex.Notifications.listen/3 and unlisten/3111 https://osv.dev/vulnerability/EEF-CVE-2026-32687112113 EEF-CVE-2026-58225 (LOW)114 aka: CVE-2026-58225, GHSA-4mw9-4qgj-m97w115 SQL injection via unescaped dollar-quote in Postgrex.Notifications reconnect replay causes notification denial of service116 https://osv.dev/vulnerability/EEF-CVE-2026-58225117 pow 1.0.39118 property_table 0.3.4119 ranch 2.3.0120 ring_logger 0.11.7121 shorter_maps 2.2.5122 ssl_verify_fun 1.1.7123 sweet_xml 0.7.5124 tablet 0.3.3125 telemetry 1.4.2126 telemetry_metrics 0.6.2127 telemetry_poller 1.3.0128 toolshed 0.5.0129 uboot_env 1.0.2130 unicode_util_compat 0.7.1131 waffle 1.1.10132 websock 0.5.3133 websock_adapter 0.5.9134 yamerl 0.10.0135 yaml_elixir 2.12.2136* Getting legendary_core (Hex package)137* Getting nerves (Hex package)138* Getting ring_logger (Hex package)139* Getting toolshed (Hex package)140* Getting nerves_runtime (Hex package)141* Getting nerves_system_bbb (Hex package)142* Getting nerves_system_mangopi_mq_pro (Hex package)143* Getting nerves_system_qemu_aarch64 (Hex package)144* Getting nerves_system_rpi0 (Hex package)145* Getting nerves_system_rpi4 (Hex package)146* Getting nerves_system_rpi5 (Hex package)147* Getting nerves_system_trellis (Hex package)148* Getting nerves_system_x86_64 (Hex package)149* Getting nerves_system_br (Hex package)150* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)151* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)152* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)153* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)154* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)155* Getting nerves_logging (Hex package)156* Getting nerves_uevent (Hex package)157* Getting uboot_env (Hex package)158* Getting elixir_make (Hex package)159* Getting property_table (Hex package)160* Getting circular_buffer (Hex package)161* Getting interactive_cmd (Hex package)162* Getting nerves_discovery (Hex package)163* Getting tablet (Hex package)164* Getting bamboo (Hex package)165* Getting bamboo_smtp (Hex package)166* Getting ecto_sql (Hex package)167* Getting ex_aws (Hex package)168* Getting ex_aws_s3 (Hex package)169* Getting ex_cldr (Hex package)170* Getting ex_prompt (Hex package)171* Getting ex_url (Hex package)172* Getting fun_with_flags (Hex package)173* Getting fun_with_flags_ui (Hex package)174* Getting gettext (Hex package)175* Getting jason (Hex package)176* Getting libcluster (Hex package)177* Getting linguist (Hex package)178* Getting mime (Hex package)179* Getting oban (Hex package)180* Getting phoenix (Hex package)181* Getting phoenix_ecto (Hex package)182* Getting phoenix_html (Hex package)183* Getting phoenix_live_view (Hex package)184* Getting phoenix_pubsub (Hex package)185* Getting phoenix_template (Hex package)186* Getting phoenix_view (Hex package)187* Getting plug_cowboy (Hex package)188* Getting postgrex (Hex package)189* Getting pow (Hex package)190* Getting shorter_maps (Hex package)191* Getting sweet_xml (Hex package)192* Getting telemetry_metrics (Hex package)193* Getting telemetry_poller (Hex package)194* Getting waffle (Hex package)195* Getting hackney (Hex package)196* Getting certifi (Hex package)197* Getting idna (Hex package)198* Getting metrics (Hex package)199* Getting mimerl (Hex package)200* Getting parse_trans (Hex package)201* Getting ssl_verify_fun (Hex package)202* Getting unicode_util_compat (Hex package)203* Getting telemetry (Hex package)204* Getting ecto (Hex package)205* Getting decimal (Hex package)206* Getting connection (Hex package)207* Getting db_connection (Hex package)208* Getting cowboy (Hex package)209* Getting cowboy_telemetry (Hex package)210* Getting plug (Hex package)211* Getting plug_crypto (Hex package)212* Getting cowlib (Hex package)213* Getting ranch (Hex package)214* Getting castore (Hex package)215* Getting websock_adapter (Hex package)216* Getting websock (Hex package)217* Getting yaml_elixir (Hex package)218* Getting yamerl (Hex package)219* Getting expo (Hex package)220* Getting nimble_parsec (Hex package)221* Getting cldr_utils (Hex package)222* Getting gen_smtp (Hex package)223Found packages with security advisories, see above for details224You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more225==> nerves_system_br226Generated nerves_system_br app227==> connection228Compiling 1 file (.ex)229 warning: using single-quoted strings to represent charlists is deprecated.230 Use ~c"" if you indeed want a charlist or use "" instead.231 You may run "mix format --migrate" to change all single-quoted232 strings to use the ~c sigil and fix this warning.233 │234 553 │ [{:data, [{'State', mod_state}]}]235 │ ~236 │237 └─ lib/connection.ex:553:20238239 warning: using single-quoted strings to represent charlists is deprecated.240 Use ~c"" if you indeed want a charlist or use "" instead.241 You may run "mix format --migrate" to change all single-quoted242 strings to use the ~c sigil and fix this warning.243 │244 680 │ format = '** Generic server ~p terminating \n' ++245 │ ~246 │247 └─ lib/connection.ex:680:14248249 warning: using single-quoted strings to represent charlists is deprecated.250 Use ~c"" if you indeed want a charlist or use "" instead.251 You may run "mix format --migrate" to change all single-quoted252 strings to use the ~c sigil and fix this warning.253 │254 681 │ '** Last message in was ~p~n' ++ ## No last message255 │ ~256 │257 └─ lib/connection.ex:681:7258259 warning: using single-quoted strings to represent charlists is deprecated.260 Use ~c"" if you indeed want a charlist or use "" instead.261 You may run "mix format --migrate" to change all single-quoted262 strings to use the ~c sigil and fix this warning.263 │264 682 │ '** When Server state == ~p~n' ++265 │ ~266 │267 └─ lib/connection.ex:682:7268269 warning: using single-quoted strings to represent charlists is deprecated.270 Use ~c"" if you indeed want a charlist or use "" instead.271 You may run "mix format --migrate" to change all single-quoted272 strings to use the ~c sigil and fix this warning.273 │274 683 │ '** Reason for termination == ~n** ~p~n'275 │ ~276 │277 └─ lib/connection.ex:683:7278279Generated connection app280==> mime281Compiling 1 file (.ex)282Generated mime app283==> circular_buffer284Compiling 1 file (.ex)285Generated circular_buffer app286==> nerves_compatibility_test287===> Analyzing applications...288===> Compiling gen_smtp289 ┌─ src/gen_smtp_server_session.erl:290 │291 265 │ case catch Module:code_change(OldVsn, State#state.callbackstate, Extra) of292 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.293Compile directive 'nowarn_deprecated_catch' can be used to suppress294warnings in selected modules.295296 ┌─ src/gen_smtp_server_session.erl:297 │298 389 │ crypto:start(), % ensure crypto is started, we're gonna need it299 │ ╰── Warning: crypto:start/0 is deprecated; use application:start(crypto) instead300301302 ┌─ src/gen_smtp_server.erl:303 │304 225 │ lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),305 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.306Compile directive 'nowarn_deprecated_catch' can be used to suppress307warnings in selected modules.308309310 ┌─ src/smtp_util.erl:311 │312 73 │ Bin = crypto:hmac(md5, Key, Data),313 │ ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead314315316 ┌─ src/gen_smtp_client.erl:317 │318 620 │ case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of319 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.320Compile directive 'nowarn_deprecated_catch' can be used to suppress321warnings in selected modules.322323324 ┌─ src/gen_smtp_application.erl:325 │326 12 │ start_ok(_App, {error, {already_started, _App}}) -> ok;327 │ ╰── Warning: variable '_App' is bound multiple times in this pattern.328If you mean to ignore this value, use '_' or329a different underscore-prefixed name330331 ┌─ src/gen_smtp_application.erl:332 │333 12 │ start_ok(_App, {error, {already_started, _App}}) -> ok;334 │ ╰── Warning: variable '_App' is bound multiple times in this pattern.335If you mean to ignore this value, use '_' or336a different underscore-prefixed name337338339==> plug_crypto340Compiling 5 files (.ex)341Generated plug_crypto app342==> nerves_compatibility_test343===> Analyzing applications...344===> Compiling mimerl345==> ex_prompt346Compiling 1 file (.ex)347Generated ex_prompt app348==> nerves_compatibility_test349===> Analyzing applications...350===> Compiling ranch351==> ssl_verify_fun352Compiling 7 files (.erl)353Generated ssl_verify_fun app354==> tablet355Compiling 2 files (.ex)356Generated tablet app357==> elixir_make358Compiling 8 files (.ex)359Generated elixir_make app360==> nerves_logging361 CC kmsg_tailer.o362 LD kmsg_tailer363Compiling 5 files (.ex)364Generated nerves_logging app365warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"366 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2367 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1368 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5369 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2370 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4371 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2372373==> castore374Compiling 1 file (.ex)375Generated castore app376==> nerves_compatibility_test377===> Analyzing applications...378===> Compiling cowlib379==> nerves_discovery380Compiling 5 files (.ex)381Generated nerves_discovery app382==> ring_logger383Compiling 7 files (.ex)384Generated ring_logger app385==> decimal386Compiling 4 files (.ex)387 warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)388 │389 2842 │ defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity390 │ ~391 │392 └─ lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1393394Generated decimal app395==> jason396Compiling 10 files (.ex)397Generated jason app398==> interactive_cmd399Compiling 1 file (.ex)400Generated interactive_cmd app401==> nerves402Compiling 65 files (.ex)403 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)404 │405 6 │ defmodule Mix.Tasks.Nerves.Init do406 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~407 │408 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)409410 warning: redefining module Nerves (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.beam)411 │412 6 │ defmodule Nerves do413 │ ~~~~~~~~~~~~~~~~~~~414 │415 └─ lib/nerves.ex:6: Nerves (module)416417 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)418 │419 5 │ defmodule Nerves.ArtifactResolver do420 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~421 │422 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)423424 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)425 │426 6 │ defmodule Nerves.BuildAction.AppModes do427 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~428 │429 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)430431 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)432 │433 5 │ defmodule Nerves.BuildAction.CheckExecutables do434 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~435 │436 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)437438 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)439 │440 8 │ defmodule Nerves.BuildAction.Erlinit do441 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~442 │443 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)444445 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)446 │447 5 │ defmodule Nerves.BuildAction.Firmware do448 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~449 │450 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)451452 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)453 │454 7 │ defmodule Nerves.BuildAction.IExStartupCheck do455 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~456 │457 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)458459 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)460 │461 5 │ defmodule Nerves.BuildAction.NervesV1System do462 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~463 │464 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)465466 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)467 │468 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do469 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~470 │471 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)472473 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)474 │475 5 │ defmodule Nerves.BuildAction.Rootfs do476 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~477 │478 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)479480 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)481 │482 6 │ defmodule Nerves.BuildAction.SortApps do483 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~484 │485 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)486487 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)488 │489 5 │ defmodule Nerves.BuildAction.StripAll do490 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~491 │492 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)493494 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)495 │496 5 │ defmodule Nerves.BuildAction.Trimmer do497 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~498 │499 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)500501 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)502 │503 5 │ defmodule Nerves.BuildPlan do504 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~505 │506 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)507508 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)509 │510 5 │ defmodule Nerves.BuildPlan.Checks do511 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~512 │513 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)514515 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Container.beam)516 │517 6 │ defmodule Nerves.Container do518 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~519 │520 └─ lib/nerves/container.ex:6: Nerves.Container (module)521522 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)523 │524 5 │ defmodule Nerves.Fingerprint do525 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~526 │527 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)528529 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)530 │531 5 │ defmodule Nerves.MixPackage do532 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~533 │534 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)535536 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Paths.beam)537 │538 5 │ defmodule Nerves.Paths do539 │ ~~~~~~~~~~~~~~~~~~~~~~~~~540 │541 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)542543 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)544 │545 5 │ defmodule Nerves.TargetTuple do546 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~547 │548 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)549550Generated nerves app551==> nerves_toolchain_aarch64_nerves_linux_gnu552Compiling 1 file (.ex)553Generated nerves_toolchain_aarch64_nerves_linux_gnu app554==> nerves_system_qemu_aarch64555Compiling 1 file (.ex)556Generated nerves_system_qemu_aarch64 app557==> nimble_parsec558Compiling 4 files (.ex)559Generated nimble_parsec app560==> nerves_compatibility_test561===> Analyzing applications...562===> Compiling unicode_util_compat563===> Analyzing applications...564===> Compiling idna565===> Analyzing applications...566===> Compiling telemetry567==> libcluster568Compiling 13 files (.ex)569Generated libcluster app570==> telemetry_metrics571Compiling 7 files (.ex)572 warning: unused require Logger573 │574 391 │ require Logger575 │ ~576 │577 └─ lib/telemetry_metrics.ex:391:3578579Generated telemetry_metrics app580==> nerves_compatibility_test581===> Analyzing applications...582===> Compiling telemetry_poller583==> ecto584Compiling 56 files (.ex)585 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead586 │587 297 │ @spec insert(588 │ ~~~~~~~~~~~~~589 │590 └─ lib/ecto/multi.ex:297: Ecto.Multi (module)591592 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead593 │594 338 │ @spec update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t595 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~596 │597 └─ lib/ecto/multi.ex:338: Ecto.Multi (module)598599 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead600 │601 371 │ @spec insert_or_update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t602 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~603 │604 └─ lib/ecto/multi.ex:371: Ecto.Multi (module)605606 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead607 │608 417 │ @spec delete(609 │ ~~~~~~~~~~~~~610 │611 └─ lib/ecto/multi.ex:417: Ecto.Multi (module)612613 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead614 │615 451 │ @spec one(616 │ ~~~~~~~~~~617 │618 └─ lib/ecto/multi.ex:451: Ecto.Multi (module)619620 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead621 │622 482 │ @spec all(623 │ ~~~~~~~~~~624 │625 └─ lib/ecto/multi.ex:482: Ecto.Multi (module)626627 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead628 │629 513 │ @spec exists?(630 │ ~~~~~~~~~~~~~~631 │632 └─ lib/ecto/multi.ex:513: Ecto.Multi (module)633634 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead635 │636 623 │ @spec insert_all(637 │ ~~~~~~~~~~~~~~~~~638 │639 └─ lib/ecto/multi.ex:623: Ecto.Multi (module)640641 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead642 │643 667 │ @spec update_all(644 │ ~~~~~~~~~~~~~~~~~645 │646 └─ lib/ecto/multi.ex:667: Ecto.Multi (module)647648 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead649 │650 712 │ @spec delete_all(t, name, Ecto.Queryable.t() | fun(Ecto.Queryable.t()), Keyword.t()) :: t651 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~652 │653 └─ lib/ecto/multi.ex:712: Ecto.Multi (module)654655 warning: BadStructError.exception/1 is undefined (module BadStructError is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)656 │657 347 │ raise BadStructError, struct: struct, term: data658 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~659 │660 └─ lib/ecto/repo/queryable.ex:347: Ecto.Repo.Queryable.process/4661662Generated ecto app663==> db_connection664Compiling 18 files (.ex)665Generated db_connection app666==> nerves_compatibility_test667===> Analyzing applications...668===> Compiling cowboy669==> expo670Compiling 2 files (.erl)671Compiling 22 files (.ex)672Generated expo app673==> gettext674Compiling 18 files (.ex)675 warning: unused require Gettext.Macros676 │677 594 │ require Gettext.Macros678 │ ~679 │680 └─ lib/gettext.ex:594:3681682 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead683 │684 426 │ Kernel.ParallelCompiler.async(fn ->685 │ ~686 │687 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3688689 warning: the following clause is redundant:690691 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)692693 it has type:694695 dynamic(%Expo.Message.Plural{})696697 previous clauses have already matched on the following types:698699 %Expo.Message.Singular{}700 %Expo.Message.Plural{}701702 │703 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do704 │ ~705 │706 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1707708Generated gettext app709==> phoenix_pubsub710Compiling 12 files (.ex)711Generated phoenix_pubsub app712==> nerves_compatibility_test713===> Analyzing applications...714===> Compiling certifi715==> cldr_utils716Compiling 12 files (.ex)717Generated cldr_utils app718==> ex_cldr719warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs720Compiling 1 file (.yrl)721warning: in order to compile .xrl files, you must add "compilers: [:leex] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs722Compiling 1 file (.xrl)723Compiling 2 files (.erl)724Compiling 41 files (.ex)725 warning: unused require Logger726 │727 89 │ require Logger728 │ ~729 │730 └─ lib/cldr/install.ex:89:5731732 warning: using single-quoted strings to represent charlists is deprecated.733 Use ~c"" if you indeed want a charlist or use "" instead.734 You may run "mix format --migrate" to change all single-quoted735 strings to use the ~c sigil and fix this warning.736 │737 41 │ defmacro sigil_l(locale_name, 'u') do738 │ ~739 │740 └─ lib/cldr/language_tag/sigil.ex:41:33741742 warning: unused require Logger743 │744 8 │ require Logger745 │ ~746 │747 └─ lib/cldr/locale/cache.ex:8:3748749 warning: unused require Cldr.Backend.Compiler750 │751 47 │ require Cldr.Backend.Compiler752 │ ~753 │754 └─ lib/cldr.ex:47:3755756Compiling lib/cldr/validity/subdivision.ex (it's taking more than 10s)757Compiling lib/cldr/validity/language.ex (it's taking more than 10s)758 warning: the following clause is redundant:759760 defp encode_key("x0", private_use) when is_list(private_use)761762 it has type:763764 binary(), dynamic(empty_list() or non_empty_list(term(), term()))765766 previous clauses have already matched on the following types:767768 term(), empty_list() or non_empty_list(term(), term())769 term(), {term()}770 term(), {term(), term()}771 term(), {term(), term(), term()}772773 │774 113 │ defp encode_key("x0", private_use) when is_list(private_use) do775 │ ~776 │777 └─ lib/cldr/validity/t.ex:113:8: Cldr.Validity.T.encode_key/2778779 warning: the following clause is redundant:780781 def normalize(nil)782783 it has type:784785 nil786787 previous clauses have already matched on the following types:788789 binary()790 atom()791792 │793 36 │ def normalize(nil) do794 │ ~795 │796 └─ lib/cldr/validity/script.ex:36:7: Cldr.Validity.Script.normalize/1797798 warning: the following clause will never match:799800 {:error, {exception, reason}} ->801802 it is expected to match on type:803804 dynamic(false)805806 type warning found at:807 │808 137 │ {:error, {exception, reason}} ->809 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~810 │811 └─ lib/cldr/config/rbnf_config.ex:137: Cldr.Rbnf.Config.for_locale/1812813 warning: the 1st pattern in clause will never match:814815 nil816817 because it is expected to receive type:818819 dynamic(bitstring())820821 hint: defimpl for BitString requires its callbacks to match exclusively on bitstring()822823 type warning found at:824 │825 335 │ def to_string(nil) do826 │ ~~~~~~~~~~~~~~~~~~~~~827 │828 └─ lib/cldr/language_tag.ex:335: Cldr.LanguageTag.Chars.BitString.to_string/1829830Generated ex_cldr app831==> ex_url832Compiling 12 files (.ex)833 warning: variable "territory" is unused (if the variable is not meant to be used, prefix it with an underscore)834 │835 70 │ defp parse_phone_number(number, territory \\ nil) do836 │ ~~~~~~~~~837 │838 └─ lib/url/tel.ex:70:37: URL.Tel.parse_phone_number/2839840 warning: variable "format" is unused (if the variable is not meant to be used, prefix it with an underscore)841 │842 74 │ defp format(%__MODULE__{tel: tel}, format \\ :international) do843 │ ~~~~~~844 │845 └─ lib/url/tel.ex:74:40: URL.Tel.format/2846847 warning: function phone_context/1 is unused848 │849 78 │ defp phone_context(_) do850 │ ~851 │852 └─ lib/url/tel.ex:78:10: URL.Tel (module)853854 warning: function parse_phone_number/2 is unused855 │856 70 │ defp parse_phone_number(number, territory \\ nil) do857 │ ~858 │859 └─ lib/url/tel.ex:70:10: URL.Tel (module)860861 warning: function gettext_territory/0 is unused862 │863 98 │ defp gettext_territory do864 │ ~865 │866 └─ lib/url/tel.ex:98:10: URL.Tel (module)867868 warning: function get_territory/0 is unused869 │870 83 │ defp get_territory do871 │ ~872 │873 └─ lib/url/tel.ex:83:8: URL.Tel (module)874875 warning: function cldr_territory/0 is unused876 │877 88 │ defp cldr_territory do878 │ ~879 │880 └─ lib/url/tel.ex:88:10: URL.Tel (module)881882Generated ex_url app883==> linguist884Compiling 5 files (.ex)885Generating Linguist.Cldr for 2 locales named [:en, :und] with a default locale named :en886Generated linguist app887==> plug888Compiling 1 file (.erl)889Compiling 42 files (.ex)890Generated plug app891==> phoenix_html892Compiling 9 files (.ex)893 warning: comparison between distinct types found:894895 id == nil896897 given types:898899 dynamic(not false and not nil and not binary()) == nil900901 where "id" was given the types:902903 # type: dynamic(not false and not nil)904 # from: lib/phoenix_html/form_data.ex:92:8905 id = Keyword.get(opts, :id) || name906907 # type: dynamic(not false and not nil and not binary())908 # from: lib/phoenix_html/form_data.ex:94:12909 is_binary(id)910911 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false912913 type warning found at:914 │915 94 │ unless is_binary(id) or is_nil(id) do916 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~917 │918 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2919920 warning: the 1st pattern in clause will never match:921922 60923924 because it is expected to receive type:925926 dynamic(empty_list() or non_empty_list(term(), term()))927928 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())929930 type warning found at:931 │932 56 │ def to_iodata(?<), do: "<"933 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~934 │935 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1936937 warning: the 1st pattern in clause will never match:938939 62940941 because it is expected to receive type:942943 dynamic(empty_list() or non_empty_list(term(), term()))944945 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())946947 type warning found at:948 │949 57 │ def to_iodata(?>), do: ">"950 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~951 │952 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1953954 warning: the 1st pattern in clause will never match:955956 38957958 because it is expected to receive type:959960 dynamic(empty_list() or non_empty_list(term(), term()))961962 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())963964 type warning found at:965 │966 58 │ def to_iodata(?&), do: "&"967 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~968 │969 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1970971 warning: the 1st pattern in clause will never match:972973 34974975 because it is expected to receive type:976977 dynamic(empty_list() or non_empty_list(term(), term()))978979 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())980981 type warning found at:982 │983 59 │ def to_iodata(?"), do: """984 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~985 │986 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1987988 warning: the 1st pattern in clause will never match:989990 39991992 because it is expected to receive type:993994 dynamic(empty_list() or non_empty_list(term(), term()))995996 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())997998 type warning found at:999 │1000 60 │ def to_iodata(?'), do: "'"1001 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1002 │1003 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/110041005 warning: the 1st pattern in clause will never match:10061007 {:safe, data}10081009 because it is expected to receive type:10101011 dynamic(empty_list() or non_empty_list(term(), term()))10121013 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10141015 type warning found at:1016 │1017 76 │ def to_iodata({:safe, data}) do1018 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1019 │1020 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/110211022 warning: the following clause is redundant:10231024 def to_iodata(other)10251026 it has type:10271028 dynamic(empty_list() or non_empty_list(term(), term()))10291030 previous clauses have already matched on the following types:10311032 non_empty_list(term(), term())1033 empty_list()10341035 │1036 80 │ def to_iodata(other) do1037 │ ~1038 │1039 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/110401041 warning: the 1st pattern in clause will never match:10421043 h10441045 because it is expected to receive type:10461047 dynamic(empty_list() or non_empty_list(term(), term()))10481049 where "h" was given the type:10501051 # type: integer()1052 # from: lib/phoenix_html/safe.ex:62:251053 is_integer(h)10541055 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10561057 type warning found at:1058 │1059 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do1060 │ ~1061 │1062 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/110631064 warning: the 1st pattern in clause will never match:10651066 h10671068 because it is expected to receive type:10691070 dynamic(empty_list() or non_empty_list(term(), term()))10711072 where "h" was given the type:10731074 # type: integer()1075 # from: lib/phoenix_html/safe.ex:66:251076 is_integer(h)10771078 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10791080 type warning found at:1081 │1082 66 │ def to_iodata(h) when is_integer(h) do1083 │ ~1084 │1085 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/110861087 warning: the 1st pattern in clause will never match:10881089 h10901091 because it is expected to receive type:10921093 dynamic(empty_list() or non_empty_list(term(), term()))10941095 where "h" was given the type:10961097 # type: binary()1098 # from: lib/phoenix_html/safe.ex:72:251099 is_binary(h)11001101 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11021103 type warning found at:1104 │1105 72 │ def to_iodata(h) when is_binary(h) do1106 │ ~1107 │1108 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/111091110Generated phoenix_html app1111==> phoenix_template1112Compiling 4 files (.ex)1113 warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1114 │1115 505 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1116 │ ~1117 │1118 └─ lib/phoenix/template.ex:505:29: Phoenix.Template.unsuffix/211191120Generated phoenix_template app1121==> phoenix_view1122Compiling 1 file (.ex)1123 warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1124 │1125 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1126 │ ~1127 │1128 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/211291130Generated phoenix_view app1131warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1132 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21133 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11134 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51135 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21136 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41137 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211381139==> postgrex1140Compiling 64 files (.ex)1141 warning: the variable "positions_bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1142 │1143 52 │ <<positions::binary-size(positions_bytes), remaining_data::binary>> = rest1144 │ ~1145 │1146 └─ lib/postgrex/extensions/tsvector.ex:52:30: Postgrex.Extensions.TSVector.decode_tsvector_values/111471148 warning: the variable "rest_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1149 │1150 98 │ <<data::size(rest_size)>> = rest1151 │ ~1152 │1153 └─ lib/postgrex/messages.ex:98:24: Postgrex.Messages.parse/311541155 warning: unused require Postgrex.Messages1156 │1157 55 │ require Postgrex.Messages1158 │ ~1159 │1160 └─ lib/postgrex/query.ex:55:311611162 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1163 │1164 3201 │ <<body::binary(size), rest::binary>> ->1165 │ ~1166 │1167 └─ lib/postgrex/protocol.ex:3201:22: Postgrex.Protocol.msg_decode/111681169 warning: the variable "last_pos" (context Postgrex.Extensions.BitString) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1170 │1171 16 │ <<binary::binary-size(last_pos), last::bits>> = val1172 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1173 │1174 └─ lib/postgrex/extensions/bit_string.ex:16: Postgrex.DefaultTypes."Elixir.Postgrex.Extensions.BitString"/111751176 warning: the following clause will never match:11771178 {:error, %Postgrex.Error{} = err, s, buffer} ->11791180 because it attempts to match on the result of:11811182 msg_send(%{s | buffer: nil}, msgs, buffer)11831184 which has type:11851186 dynamic(:ok or {:disconnect, term(), term()})11871188 type warning found at:1189 │1190 1128 │ {:error, %Postgrex.Error{} = err, s, buffer} ->1191 │ ~1192 │1193 └─ lib/postgrex/protocol.ex:1128:7: Postgrex.Protocol.handle_simple/311941195 warning: the following clause will never match:11961197 {:error, %Postgrex.Error{} = err, s, buffer} ->11981199 because it attempts to match on the result of:12001201 msg_send(%{s | buffer: nil}, msgs, buffer)12021203 which has type:12041205 dynamic(:ok or {:disconnect, term(), term()})12061207 type warning found at:1208 │1209 1238 │ {:error, %Postgrex.Error{} = err, s, buffer} ->1210 │ ~1211 │1212 └─ lib/postgrex/protocol.ex:1238:7: Postgrex.Protocol.handle_streaming/212131214 warning: a struct for Postgrex.Query is expected on struct update:12151216 %Postgrex.Query{1217 query1218 | param_oids: param_oids,1219 param_formats: param_formats,1220 param_types: param_types1221 }12221223 but got type:12241225 dynamic()12261227 where "query" was given the type:12281229 # type: dynamic()1230 # from: lib/postgrex/protocol.ex:1637:411231 query12321233 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12341235 type warning found at:1236 │1237 1640 │ query = %Query{1238 │ ~1239 │1240 └─ lib/postgrex/protocol.ex:1640:15: Postgrex.Protocol.describe_params/312411242 warning: a struct for Postgrex.Query is expected on struct update:12431244 %Postgrex.Query{1245 query1246 | ref: make_ref(),1247 types: types,1248 columns: nil,1249 result_oids: nil,1250 result_formats: [],1251 result_types: nil1252 }12531254 but got type:12551256 dynamic()12571258 where "query" was given the type:12591260 # type: dynamic()1261 # from: lib/postgrex/protocol.ex:1668:411262 query12631264 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12651266 type warning found at:1267 │1268 1669 │ query = %Query{1269 │ ~1270 │1271 └─ lib/postgrex/protocol.ex:1669:13: Postgrex.Protocol.describe_result/412721273 warning: a struct for Postgrex.Query is expected on struct update:12741275 %Postgrex.Query{1276 query1277 | ref: make_ref(),1278 types: types,1279 columns: columns,1280 result_oids: result_oids,1281 result_formats: result_formats,1282 result_types: result_types1283 }12841285 but got type:12861287 dynamic()12881289 where "query" was given the type:12901291 # type: dynamic()1292 # from: lib/postgrex/protocol.ex:1682:411293 query12941295 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12961297 type warning found at:1298 │1299 1685 │ query = %Query{1300 │ ~1301 │1302 └─ lib/postgrex/protocol.ex:1685:15: Postgrex.Protocol.describe_result/413031304 warning: the following clause will never match:13051306 {:error, %Postgrex.Error{} = err, s, buffer} ->13071308 because it attempts to match on the result of:13091310 msg_send(%{s | buffer: nil}, msgs, buffer)13111312 which has type:13131314 dynamic(:ok or {:disconnect, term(), term()})13151316 type warning found at:1317 │1318 2865 │ {:error, %Postgrex.Error{} = err, s, buffer} ->1319 │ ~1320 │1321 └─ lib/postgrex/protocol.ex:2865:7: Postgrex.Protocol.handle_transaction/313221323Generated postgrex app1324warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1325 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21326 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11327 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51328 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21329 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41330 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/213311332==> ecto_sql1333Compiling 25 files (.ex)1334 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1335 │1336 93 │ <<_, unquoted::binary-size(size), _>> = quoted1337 │ ~1338 │1339 └─ lib/ecto/adapters/postgres/connection.ex:93:34: Ecto.Adapters.Postgres.Connection.strip_quotes/113401341 warning: unused require Ecto.Query1342 │1343 140 │ require Ecto.Query1344 │ ~1345 │1346 └─ lib/ecto/adapters/tds.ex:140:313471348 warning: unused require Logger1349 │1350 139 │ require Logger1351 │ ~1352 │1353 └─ lib/ecto/adapters/tds.ex:139:313541355 warning: unused require Ecto.Query1356 │1357 107 │ require Ecto.Query1358 │ ~1359 │1360 └─ lib/ecto/migrator.ex:107:313611362 warning: this clause of defp validate_index_opts!/1 is never used (or it will always fail/warn when invoked)1363 │1364 1558 │ defp validate_index_opts!(opts), do: opts1365 │ ~1366 │1367 └─ lib/ecto/migration.ex:1558:8: Ecto.Migration.validate_index_opts!/113681369 warning: this clause of defp drop_reference_if_exists_expr/3 is never used (or it will always fail/warn when invoked)1370 │1371 1732 │ defp drop_reference_if_exists_expr(_, _, _),1372 │ ~1373 │1374 └─ lib/ecto/adapters/postgres/connection.ex:1732:10: Ecto.Adapters.Postgres.Connection.drop_reference_if_exists_expr/313751376 warning: List.zip/1 is deprecated. Use Enum.zip/1 instead1377 │1378 681 │ |> List.zip()1379 │ ~1380 │1381 └─ lib/ecto/adapters/sql.ex:681:15: Ecto.Adapters.SQL.format_table/11382 └─ lib/ecto/adapters/sql.ex:712:15: Ecto.Adapters.SQL.cells/213831384Generated ecto_sql app1385==> fun_with_flags1386Compiling 21 files (.ex)1387 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1388 │1389 28 │ Logger.warn "FunWithFlags: couldn't load flag '#{flag_name}' from storage, falling back to stale cached value from ETS"1390 │ ~1391 │1392 └─ lib/fun_with_flags/store.ex:28:12: FunWithFlags.Store.try_to_use_the_cached_value/313931394Generated fun_with_flags app1395warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1396 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21397 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11398 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51399 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21400 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41401 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214021403==> oban1404Compiling 61 files (.ex)1405 warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1406 │1407 158 │ error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1408 │ ~1409 │1410 └─ lib/oban/repo.ex:158:11: Oban.Repo.transaction/414111412 warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1413 │1414 123 │ error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1415 │ ~1416 │1417 └─ lib/oban/peers/database.ex:123:11: Oban.Peers.Database.handle_info/214181419Generated oban app1420warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1421 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21422 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11423 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51424 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21425 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41426 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214271428==> phoenix_ecto1429Compiling 7 files (.ex)1430Generated phoenix_ecto app1431==> nerves_compatibility_test1432===> Analyzing applications...1433===> Compiling parse_trans1434==> uboot_env1435Compiling 5 files (.ex)1436Generated uboot_env app1437==> shorter_maps1438Compiling 1 file (.ex)1439 warning: using single-quoted strings to represent charlists is deprecated.1440 Use ~c"" if you indeed want a charlist or use "" instead.1441 You may run "mix format --migrate" to change all single-quoted1442 strings to use the ~c sigil and fix this warning.1443 │1444 192 │ defp modifier([mod], _default) when mod in 'as', do: mod1445 │ ~1446 │1447 └─ lib/shorter_maps.ex:192:4614481449 warning: the following clause will never match:14501451 {:error, step, reason} ->14521453 it is expected to match on type:14541455 none()14561457 type warning found at:1458 │1459 84 │ {:error, step, reason} ->1460 │ ~1461 │1462 └─ lib/shorter_maps.ex:84:7: ShorterMaps.do_sigil_m/314631464Generated shorter_maps app1465==> nerves_compatibility_test1466===> Analyzing applications...1467===> Compiling metrics1468===> Analyzing applications...1469===> Compiling hackney1470 ┌─ src/hackney_trace.erl:1471 │1472 132 │ (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1473 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1474Compile directive 'nowarn_deprecated_catch' can be used to suppress1475warnings in selected modules.14761477 ┌─ src/hackney_trace.erl:1478 │1479 139 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1480 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1481Compile directive 'nowarn_deprecated_catch' can be used to suppress1482warnings in selected modules.14831484 ┌─ src/hackney_trace.erl:1485 │1486 146 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1487 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1488Compile directive 'nowarn_deprecated_catch' can be used to suppress1489warnings in selected modules.14901491 ┌─ src/hackney_trace.erl:1492 │1493 147 │ (catch file:close(Fd)),1494 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1495Compile directive 'nowarn_deprecated_catch' can be used to suppress1496warnings in selected modules.14971498 ┌─ src/hackney_trace.erl:1499 │1500 154 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1501 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1502Compile directive 'nowarn_deprecated_catch' can be used to suppress1503warnings in selected modules.15041505 ┌─ src/hackney_trace.erl:1506 │1507 155 │ (catch file:close(Fd)),1508 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1509Compile directive 'nowarn_deprecated_catch' can be used to suppress1510warnings in selected modules.15111512 ┌─ src/hackney_trace.erl:1513 │1514 161 │ (catch print_hackney_trace(Fd, Sev, Timestamp, Who,1515 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1516Compile directive 'nowarn_deprecated_catch' can be used to suppress1517warnings in selected modules.15181519 ┌─ src/hackney_trace.erl:1520 │1521 165 │ (catch print_trace(Fd, Event)),1522 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1523Compile directive 'nowarn_deprecated_catch' can be used to suppress1524warnings in selected modules.152515261527 ┌─ src/hackney_pool.erl:1528 │1529 80 │ case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of1530 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1531Compile directive 'nowarn_deprecated_catch' can be used to suppress1532warnings in selected modules.15331534 ┌─ src/hackney_pool.erl:1535 │1536 101 │ _ = catch hackney_connection:close(Connection, Socket),1537 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1538Compile directive 'nowarn_deprecated_catch' can be used to suppress1539warnings in selected modules.15401541 ┌─ src/hackney_pool.erl:1542 │1543 130 │ _ = catch hackney_connection:close(Connection, Socket),1544 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1545Compile directive 'nowarn_deprecated_catch' can be used to suppress1546warnings in selected modules.15471548 ┌─ src/hackney_pool.erl:1549 │1550 134 │ catch hackney_connection:close(Connection, Socket),1551 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1552Compile directive 'nowarn_deprecated_catch' can be used to suppress1553warnings in selected modules.15541555 ┌─ src/hackney_pool.erl:1556 │1557 319 │ catch Transport:close(Socket),1558 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1559Compile directive 'nowarn_deprecated_catch' can be used to suppress1560warnings in selected modules.15611562 ┌─ src/hackney_pool.erl:1563 │1564 417 │ case catch hackney_connection:controlling_process(Connection, S, self()) of1565 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1566Compile directive 'nowarn_deprecated_catch' can be used to suppress1567warnings in selected modules.15681569 ┌─ src/hackney_pool.erl:1570 │1571 423 │ _ = catch hackney_connection:close(Connection, S),1572 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1573Compile directive 'nowarn_deprecated_catch' can be used to suppress1574warnings in selected modules.15751576 ┌─ src/hackney_pool.erl:1577 │1578 444 │ catch hackney_connection:close(Connection, Socket),1579 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1580Compile directive 'nowarn_deprecated_catch' can be used to suppress1581warnings in selected modules.15821583 ┌─ src/hackney_pool.erl:1584 │1585 543 │ _ = (catch hackney_connection:close(Connection, Socket)),1586 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1587Compile directive 'nowarn_deprecated_catch' can be used to suppress1588warnings in selected modules.158915901591 ┌─ src/hackney_happy.erl:1592 │1593 101 │ catch exit(Pid, normal),1594 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1595Compile directive 'nowarn_deprecated_catch' can be used to suppress1596warnings in selected modules.15971598 ┌─ src/hackney_happy.erl:1599 │1600 128 │ case (catch inet_res:getbyname(Hostname, Type)) of1601 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1602Compile directive 'nowarn_deprecated_catch' can be used to suppress1603warnings in selected modules.16041605 ┌─ src/hackney_happy.erl:1606 │1607 151 │ case (catch inet:gethostbyname(Hostname, InetType)) of1608 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1609Compile directive 'nowarn_deprecated_catch' can be used to suppress1610warnings in selected modules.161116121613 ┌─ src/hackney_manager.erl:1614 │1615 114 │ catch ets:delete(?MODULE, Ref),1616 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1617Compile directive 'nowarn_deprecated_catch' can be used to suppress1618warnings in selected modules.16191620 ┌─ src/hackney_manager.erl:1621 │1622 125 │ catch Transport:close(Socket);1623 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1624Compile directive 'nowarn_deprecated_catch' can be used to suppress1625warnings in selected modules.16261627 ┌─ src/hackney_manager.erl:1628 │1629 129 │ catch Handler:checkin(SocketRef, Socket)1630 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1631Compile directive 'nowarn_deprecated_catch' can be used to suppress1632warnings in selected modules.16331634 ┌─ src/hackney_manager.erl:1635 │1636 133 │ catch Transport:controlling_process(Socket, self()),1637 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1638Compile directive 'nowarn_deprecated_catch' can be used to suppress1639warnings in selected modules.16401641 ┌─ src/hackney_manager.erl:1642 │1643 134 │ catch Transport:close(Socket),1644 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1645Compile directive 'nowarn_deprecated_catch' can be used to suppress1646warnings in selected modules.16471648 ┌─ src/hackney_manager.erl:1649 │1650 227 │ catch ets:delete(?MODULE, Ref),1651 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1652Compile directive 'nowarn_deprecated_catch' can be used to suppress1653warnings in selected modules.16541655 ┌─ src/hackney_manager.erl:1656 │1657 255 │ catch ets:delete(?MODULE, Ref),1658 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1659Compile directive 'nowarn_deprecated_catch' can be used to suppress1660warnings in selected modules.16611662 ┌─ src/hackney_manager.erl:1663 │1664 269 │ catch Transport:controlling_process(Socket, self()),1665 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1666Compile directive 'nowarn_deprecated_catch' can be used to suppress1667warnings in selected modules.16681669 ┌─ src/hackney_manager.erl:1670 │1671 270 │ catch Transport:close(Socket),1672 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1673Compile directive 'nowarn_deprecated_catch' can be used to suppress1674warnings in selected modules.16751676 ┌─ src/hackney_manager.erl:1677 │1678 383 │ catch unlink(Stream),1679 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1680Compile directive 'nowarn_deprecated_catch' can be used to suppress1681warnings in selected modules.16821683 ┌─ src/hackney_manager.erl:1684 │1685 416 │ catch ets:delete(?REFS, Ref),1686 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1687Compile directive 'nowarn_deprecated_catch' can be used to suppress1688warnings in selected modules.16891690 ┌─ src/hackney_manager.erl:1691 │1692 426 │ catch ets:delete(?REFS, Ref),1693 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1694Compile directive 'nowarn_deprecated_catch' can be used to suppress1695warnings in selected modules.16961697 ┌─ src/hackney_manager.erl:1698 │1699 470 │ case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1700 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1701Compile directive 'nowarn_deprecated_catch' can be used to suppress1702warnings in selected modules.17031704 ┌─ src/hackney_manager.erl:1705 │1706 487 │ catch Transport:close(Socket),1707 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1708Compile directive 'nowarn_deprecated_catch' can be used to suppress1709warnings in selected modules.17101711 ┌─ src/hackney_manager.erl:1712 │1713 543 │ catch ets:delete(?REFS, Ref),1714 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1715Compile directive 'nowarn_deprecated_catch' can be used to suppress1716warnings in selected modules.17171718 ┌─ src/hackney_manager.erl:1719 │1720 544 │ catch ets:delete(?MODULE, Ref),1721 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1722Compile directive 'nowarn_deprecated_catch' can be used to suppress1723warnings in selected modules.17241725 ┌─ src/hackney_manager.erl:1726 │1727 559 │ catch ets:delete(?REFS, Ref),1728 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1729Compile directive 'nowarn_deprecated_catch' can be used to suppress1730warnings in selected modules.17311732 ┌─ src/hackney_manager.erl:1733 │1734 560 │ catch ets:delete(?MODULE, Ref),1735 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1736Compile directive 'nowarn_deprecated_catch' can be used to suppress1737warnings in selected modules.17381739 ┌─ src/hackney_manager.erl:1740 │1741 618 │ catch unlink(Pid),1742 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1743Compile directive 'nowarn_deprecated_catch' can be used to suppress1744warnings in selected modules.174517461747==> bamboo1748Compiling 26 files (.ex)1749 warning: redefining @doc attribute previously set at line 33.17501751 Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:17521753 @doc """1754 new docs1755 """1756 def deliver(...)17571758 │1759 39 │ @doc "Adds email to `Bamboo.SentEmail`"1760 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1761 │1762 └─ lib/bamboo/adapters/local_adapter.ex:39: Bamboo.LocalAdapter.deliver/217631764 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1765 │1766 276 │ Logger.warn(1767 │ ~1768 │1769 └─ lib/bamboo/mailer.ex:276:12: Bamboo.Mailer.parse_opts/217701771 error: module Plug.Router is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1772 │1773 2 │ use Plug.Router1774 │ ^^^^^^^^^^^^^^^1775 │1776 └─ lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)17771778 error: module Plug.Router is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1779 │1780 2 │ use Plug.Router1781 │ ^^^^^^^^^^^^^^^1782 │1783 └─ lib/bamboo/plug/sent_email_api/sent_email_api_plug.ex:2: Bamboo.SentEmailApiPlug (module)178417851786== Compilation error in file lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex ==1787** (CompileError) lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex: cannot compile module Bamboo.SentEmailViewerPlug (errors have been logged)1788 (elixir 1.20.3) expanding macro: Kernel.use/11789 lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)1790could not compile dependency :bamboo, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile bamboo --force", update it with "mix deps.update bamboo" or clean it with "mix deps.clean bamboo"