Build log
nerves_system_bbb
legendary_core 8.12.0 · fail · run legendary_core-8.12.0-1790974005865
1833 of 1833 lines
1Resolving Hex dependencies...2Resolution completed in 0.745s3Unchanged: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/smtp_util.erl:303 │304 73 │ Bin = crypto:hmac(md5, Key, Data),305 │ ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead306307308 ┌─ src/gen_smtp_application.erl:309 │310 12 │ start_ok(_App, {error, {already_started, _App}}) -> ok;311 │ ╰── Warning: variable '_App' is bound multiple times in this pattern.312If you mean to ignore this value, use '_' or313a different underscore-prefixed name314315 ┌─ src/gen_smtp_application.erl:316 │317 12 │ start_ok(_App, {error, {already_started, _App}}) -> ok;318 │ ╰── Warning: variable '_App' is bound multiple times in this pattern.319If you mean to ignore this value, use '_' or320a different underscore-prefixed name321322323 ┌─ src/gen_smtp_server.erl:324 │325 225 │ lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),326 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.327Compile directive 'nowarn_deprecated_catch' can be used to suppress328warnings in selected modules.329330331 ┌─ src/gen_smtp_client.erl:332 │333 620 │ case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of334 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.335Compile directive 'nowarn_deprecated_catch' can be used to suppress336warnings in selected modules.337338339==> plug_crypto340Compiling 5 files (.ex)341Generated plug_crypto app342==> nerves_compatibility_test343===> Analyzing applications...344===> Compiling mimerl345===> Analyzing applications...346===> Compiling yamerl347/work/proj/deps_bbb/yamerl/src/yamerl_constr.erl:801:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.348Compile directive 'nowarn_deprecated_catch' can be used to suppress349warnings in selected modules.350% 801| catch Mod:module_info(),351% | ^352353 ┌─ src/yamerl_constr.erl:354 │355 801 │ catch Mod:module_info(),356 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.357Compile directive 'nowarn_deprecated_catch' can be used to suppress358warnings in selected modules.359360361/work/proj/deps_bbb/yamerl/src/yamerl_node_binary.erl:65:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.362Compile directive 'nowarn_deprecated_catch' can be used to suppress363warnings in selected modules.364% 65| case catch base64:decode(Text) of365% | ^366367/work/proj/deps_bbb/yamerl/src/yamerl_node_binary.erl:72:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.368Compile directive 'nowarn_deprecated_catch' can be used to suppress369warnings in selected modules.370% 72| case catch base64:decode(Text) of371% | ^372373 ┌─ src/yamerl_node_binary.erl:374 │375 65 │ case catch base64:decode(Text) of376 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.377Compile directive 'nowarn_deprecated_catch' can be used to suppress378warnings in selected modules.379380 ┌─ src/yamerl_node_binary.erl:381 │382 72 │ case catch base64:decode(Text) of383 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.384Compile directive 'nowarn_deprecated_catch' can be used to suppress385warnings in selected modules.386387388==> ex_prompt389Compiling 1 file (.ex)390Generated ex_prompt app391==> nerves_compatibility_test392===> Analyzing applications...393===> Compiling ranch394==> ssl_verify_fun395Compiling 7 files (.erl)396Generated ssl_verify_fun app397==> tablet398Compiling 2 files (.ex)399Generated tablet app400==> elixir_make401Compiling 8 files (.ex)402Generated elixir_make app403==> nerves_logging404 CC kmsg_tailer.o405 LD kmsg_tailer406Compiling 5 files (.ex)407Generated nerves_logging app408warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"409 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2410 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1411 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5412 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2413 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4414 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2415416==> castore417Compiling 1 file (.ex)418Generated castore app419==> nerves_compatibility_test420===> Analyzing applications...421===> Compiling cowlib422==> nerves_discovery423Compiling 5 files (.ex)424Generated nerves_discovery app425==> ring_logger426Compiling 7 files (.ex)427Generated ring_logger app428==> decimal429Compiling 4 files (.ex)430 warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)431 │432 2842 │ defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity433 │ ~434 │435 └─ lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1436437Generated decimal app438==> jason439Compiling 10 files (.ex)440Generated jason app441==> yaml_elixir442Compiling 6 files (.ex)443Generated yaml_elixir app444==> interactive_cmd445Compiling 1 file (.ex)446Generated interactive_cmd app447==> nerves448Compiling 65 files (.ex)449 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)450 │451 6 │ defmodule Mix.Tasks.Nerves.Init do452 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~453 │454 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)455456 warning: redefining module Nerves (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.beam)457 │458 6 │ defmodule Nerves do459 │ ~~~~~~~~~~~~~~~~~~~460 │461 └─ lib/nerves.ex:6: Nerves (module)462463 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)464 │465 5 │ defmodule Nerves.ArtifactResolver do466 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~467 │468 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)469470 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)471 │472 6 │ defmodule Nerves.BuildAction.AppModes do473 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~474 │475 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)476477 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)478 │479 5 │ defmodule Nerves.BuildAction.CheckExecutables do480 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~481 │482 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)483484 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)485 │486 8 │ defmodule Nerves.BuildAction.Erlinit do487 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~488 │489 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)490491 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)492 │493 5 │ defmodule Nerves.BuildAction.Firmware do494 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~495 │496 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)497498 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)499 │500 7 │ defmodule Nerves.BuildAction.IExStartupCheck do501 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~502 │503 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)504505 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)506 │507 5 │ defmodule Nerves.BuildAction.NervesV1System do508 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~509 │510 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)511512 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)513 │514 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do515 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~516 │517 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)518519 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)520 │521 5 │ defmodule Nerves.BuildAction.Rootfs do522 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~523 │524 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)525526 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)527 │528 6 │ defmodule Nerves.BuildAction.SortApps do529 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~530 │531 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)532533 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)534 │535 5 │ defmodule Nerves.BuildAction.StripAll do536 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~537 │538 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)539540 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)541 │542 5 │ defmodule Nerves.BuildAction.Trimmer do543 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~544 │545 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)546547 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)548 │549 5 │ defmodule Nerves.BuildPlan do550 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~551 │552 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)553554 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)555 │556 5 │ defmodule Nerves.BuildPlan.Checks do557 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~558 │559 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)560561 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Container.beam)562 │563 6 │ defmodule Nerves.Container do564 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~565 │566 └─ lib/nerves/container.ex:6: Nerves.Container (module)567568 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)569 │570 5 │ defmodule Nerves.Fingerprint do571 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~572 │573 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)574575 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)576 │577 5 │ defmodule Nerves.MixPackage do578 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~579 │580 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)581582 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Paths.beam)583 │584 5 │ defmodule Nerves.Paths do585 │ ~~~~~~~~~~~~~~~~~~~~~~~~~586 │587 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)588589 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)590 │591 5 │ defmodule Nerves.TargetTuple do592 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~593 │594 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)595596Generated nerves app597==> nerves_toolchain_armv7_nerves_linux_gnueabihf598Compiling 1 file (.ex)599Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app600==> nimble_parsec601Compiling 4 files (.ex)602Generated nimble_parsec app603==> nerves_compatibility_test604===> Analyzing applications...605===> Compiling unicode_util_compat606===> Analyzing applications...607===> Compiling idna608===> Analyzing applications...609===> Compiling telemetry610==> libcluster611Compiling 13 files (.ex)612Generated libcluster app613==> telemetry_metrics614Compiling 7 files (.ex)615 warning: unused require Logger616 │617 391 │ require Logger618 │ ~619 │620 └─ lib/telemetry_metrics.ex:391:3621622Generated telemetry_metrics app623==> nerves_compatibility_test624===> Analyzing applications...625===> Compiling telemetry_poller626==> ecto627Compiling 56 files (.ex)628 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead629 │630 297 │ @spec insert(631 │ ~~~~~~~~~~~~~632 │633 └─ lib/ecto/multi.ex:297: Ecto.Multi (module)634635 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead636 │637 338 │ @spec update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t638 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~639 │640 └─ lib/ecto/multi.ex:338: Ecto.Multi (module)641642 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead643 │644 371 │ @spec insert_or_update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t645 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~646 │647 └─ lib/ecto/multi.ex:371: Ecto.Multi (module)648649 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead650 │651 417 │ @spec delete(652 │ ~~~~~~~~~~~~~653 │654 └─ lib/ecto/multi.ex:417: Ecto.Multi (module)655656 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead657 │658 451 │ @spec one(659 │ ~~~~~~~~~~660 │661 └─ lib/ecto/multi.ex:451: Ecto.Multi (module)662663 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead664 │665 482 │ @spec all(666 │ ~~~~~~~~~~667 │668 └─ lib/ecto/multi.ex:482: Ecto.Multi (module)669670 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead671 │672 513 │ @spec exists?(673 │ ~~~~~~~~~~~~~~674 │675 └─ lib/ecto/multi.ex:513: Ecto.Multi (module)676677 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead678 │679 623 │ @spec insert_all(680 │ ~~~~~~~~~~~~~~~~~681 │682 └─ lib/ecto/multi.ex:623: Ecto.Multi (module)683684 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead685 │686 667 │ @spec update_all(687 │ ~~~~~~~~~~~~~~~~~688 │689 └─ lib/ecto/multi.ex:667: Ecto.Multi (module)690691 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead692 │693 712 │ @spec delete_all(t, name, Ecto.Queryable.t() | fun(Ecto.Queryable.t()), Keyword.t()) :: t694 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~695 │696 └─ lib/ecto/multi.ex:712: Ecto.Multi (module)697698 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)699 │700 347 │ raise BadStructError, struct: struct, term: data701 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~702 │703 └─ lib/ecto/repo/queryable.ex:347: Ecto.Repo.Queryable.process/4704705Generated ecto app706==> db_connection707Compiling 18 files (.ex)708Generated db_connection app709==> nerves_compatibility_test710===> Analyzing applications...711===> Compiling cowboy712==> expo713Compiling 2 files (.erl)714Compiling 22 files (.ex)715Generated expo app716==> gettext717Compiling 18 files (.ex)718 warning: unused require Gettext.Macros719 │720 594 │ require Gettext.Macros721 │ ~722 │723 └─ lib/gettext.ex:594:3724725 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead726 │727 426 │ Kernel.ParallelCompiler.async(fn ->728 │ ~729 │730 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3731732 warning: the following clause is redundant:733734 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)735736 it has type:737738 dynamic(%Expo.Message.Plural{})739740 previous clauses have already matched on the following types:741742 %Expo.Message.Singular{}743 %Expo.Message.Plural{}744745 │746 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do747 │ ~748 │749 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1750751Generated gettext app752==> phoenix_pubsub753Compiling 12 files (.ex)754Generated phoenix_pubsub app755==> nerves_compatibility_test756===> Analyzing applications...757===> Compiling certifi758==> cldr_utils759Compiling 12 files (.ex)760Generated cldr_utils app761==> ex_cldr762warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs763Compiling 1 file (.yrl)764warning: in order to compile .xrl files, you must add "compilers: [:leex] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs765Compiling 1 file (.xrl)766Compiling 2 files (.erl)767Compiling 41 files (.ex)768 warning: unused require Logger769 │770 89 │ require Logger771 │ ~772 │773 └─ lib/cldr/install.ex:89:5774775 warning: using single-quoted strings to represent charlists is deprecated.776 Use ~c"" if you indeed want a charlist or use "" instead.777 You may run "mix format --migrate" to change all single-quoted778 strings to use the ~c sigil and fix this warning.779 │780 41 │ defmacro sigil_l(locale_name, 'u') do781 │ ~782 │783 └─ lib/cldr/language_tag/sigil.ex:41:33784785 warning: unused require Logger786 │787 8 │ require Logger788 │ ~789 │790 └─ lib/cldr/locale/cache.ex:8:3791792 warning: unused require Cldr.Backend.Compiler793 │794 47 │ require Cldr.Backend.Compiler795 │ ~796 │797 └─ lib/cldr.ex:47:3798799Compiling lib/cldr/validity/subdivision.ex (it's taking more than 10s)800Compiling lib/cldr/validity/language.ex (it's taking more than 10s)801 warning: the following clause is redundant:802803 defp encode_key("x0", private_use) when is_list(private_use)804805 it has type:806807 binary(), dynamic(empty_list() or non_empty_list(term(), term()))808809 previous clauses have already matched on the following types:810811 term(), empty_list() or non_empty_list(term(), term())812 term(), {term()}813 term(), {term(), term()}814 term(), {term(), term(), term()}815816 │817 113 │ defp encode_key("x0", private_use) when is_list(private_use) do818 │ ~819 │820 └─ lib/cldr/validity/t.ex:113:8: Cldr.Validity.T.encode_key/2821822 warning: the following clause is redundant:823824 def normalize(nil)825826 it has type:827828 nil829830 previous clauses have already matched on the following types:831832 binary()833 atom()834835 │836 36 │ def normalize(nil) do837 │ ~838 │839 └─ lib/cldr/validity/script.ex:36:7: Cldr.Validity.Script.normalize/1840841 warning: the following clause will never match:842843 {:error, {exception, reason}} ->844845 it is expected to match on type:846847 dynamic(false)848849 type warning found at:850 │851 137 │ {:error, {exception, reason}} ->852 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~853 │854 └─ lib/cldr/config/rbnf_config.ex:137: Cldr.Rbnf.Config.for_locale/1855856 warning: the 1st pattern in clause will never match:857858 nil859860 because it is expected to receive type:861862 dynamic(bitstring())863864 hint: defimpl for BitString requires its callbacks to match exclusively on bitstring()865866 type warning found at:867 │868 335 │ def to_string(nil) do869 │ ~~~~~~~~~~~~~~~~~~~~~870 │871 └─ lib/cldr/language_tag.ex:335: Cldr.LanguageTag.Chars.BitString.to_string/1872873Generated ex_cldr app874==> ex_url875Compiling 12 files (.ex)876 warning: variable "territory" is unused (if the variable is not meant to be used, prefix it with an underscore)877 │878 70 │ defp parse_phone_number(number, territory \\ nil) do879 │ ~~~~~~~~~880 │881 └─ lib/url/tel.ex:70:37: URL.Tel.parse_phone_number/2882883 warning: variable "format" is unused (if the variable is not meant to be used, prefix it with an underscore)884 │885 74 │ defp format(%__MODULE__{tel: tel}, format \\ :international) do886 │ ~~~~~~887 │888 └─ lib/url/tel.ex:74:40: URL.Tel.format/2889890 warning: function phone_context/1 is unused891 │892 78 │ defp phone_context(_) do893 │ ~894 │895 └─ lib/url/tel.ex:78:10: URL.Tel (module)896897 warning: function parse_phone_number/2 is unused898 │899 70 │ defp parse_phone_number(number, territory \\ nil) do900 │ ~901 │902 └─ lib/url/tel.ex:70:10: URL.Tel (module)903904 warning: function gettext_territory/0 is unused905 │906 98 │ defp gettext_territory do907 │ ~908 │909 └─ lib/url/tel.ex:98:10: URL.Tel (module)910911 warning: function get_territory/0 is unused912 │913 83 │ defp get_territory do914 │ ~915 │916 └─ lib/url/tel.ex:83:8: URL.Tel (module)917918 warning: function cldr_territory/0 is unused919 │920 88 │ defp cldr_territory do921 │ ~922 │923 └─ lib/url/tel.ex:88:10: URL.Tel (module)924925Generated ex_url app926==> linguist927Compiling 5 files (.ex)928Generating Linguist.Cldr for 2 locales named [:en, :und] with a default locale named :en929Generated linguist app930==> plug931Compiling 1 file (.erl)932Compiling 42 files (.ex)933Generated plug app934==> phoenix_html935Compiling 9 files (.ex)936 warning: comparison between distinct types found:937938 id == nil939940 given types:941942 dynamic(not false and not nil and not binary()) == nil943944 where "id" was given the types:945946 # type: dynamic(not false and not nil)947 # from: lib/phoenix_html/form_data.ex:92:8948 id = Keyword.get(opts, :id) || name949950 # type: dynamic(not false and not nil and not binary())951 # from: lib/phoenix_html/form_data.ex:94:12952 is_binary(id)953954 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 false955956 type warning found at:957 │958 94 │ unless is_binary(id) or is_nil(id) do959 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~960 │961 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2962963 warning: the 1st pattern in clause will never match:964965 60966967 because it is expected to receive type:968969 dynamic(empty_list() or non_empty_list(term(), term()))970971 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())972973 type warning found at:974 │975 56 │ def to_iodata(?<), do: "<"976 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~977 │978 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1979980 warning: the 1st pattern in clause will never match:981982 62983984 because it is expected to receive type:985986 dynamic(empty_list() or non_empty_list(term(), term()))987988 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())989990 type warning found at:991 │992 57 │ def to_iodata(?>), do: ">"993 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~994 │995 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1996997 warning: the 1st pattern in clause will never match:998999 3810001001 because it is expected to receive type:10021003 dynamic(empty_list() or non_empty_list(term(), term()))10041005 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10061007 type warning found at:1008 │1009 58 │ def to_iodata(?&), do: "&"1010 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1011 │1012 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/110131014 warning: the 1st pattern in clause will never match:10151016 3410171018 because it is expected to receive type:10191020 dynamic(empty_list() or non_empty_list(term(), term()))10211022 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10231024 type warning found at:1025 │1026 59 │ def to_iodata(?"), do: """1027 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1028 │1029 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/110301031 warning: the 1st pattern in clause will never match:10321033 3910341035 because it is expected to receive type:10361037 dynamic(empty_list() or non_empty_list(term(), term()))10381039 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10401041 type warning found at:1042 │1043 60 │ def to_iodata(?'), do: "'"1044 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1045 │1046 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/110471048 warning: the 1st pattern in clause will never match:10491050 {:safe, data}10511052 because it is expected to receive type:10531054 dynamic(empty_list() or non_empty_list(term(), term()))10551056 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10571058 type warning found at:1059 │1060 76 │ def to_iodata({:safe, data}) do1061 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1062 │1063 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/110641065 warning: the following clause is redundant:10661067 def to_iodata(other)10681069 it has type:10701071 dynamic(empty_list() or non_empty_list(term(), term()))10721073 previous clauses have already matched on the following types:10741075 non_empty_list(term(), term())1076 empty_list()10771078 │1079 80 │ def to_iodata(other) do1080 │ ~1081 │1082 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/110831084 warning: the 1st pattern in clause will never match:10851086 h10871088 because it is expected to receive type:10891090 dynamic(empty_list() or non_empty_list(term(), term()))10911092 where "h" was given the type:10931094 # type: integer()1095 # from: lib/phoenix_html/safe.ex:62:251096 is_integer(h)10971098 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10991100 type warning found at:1101 │1102 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do1103 │ ~1104 │1105 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/111061107 warning: the 1st pattern in clause will never match:11081109 h11101111 because it is expected to receive type:11121113 dynamic(empty_list() or non_empty_list(term(), term()))11141115 where "h" was given the type:11161117 # type: integer()1118 # from: lib/phoenix_html/safe.ex:66:251119 is_integer(h)11201121 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11221123 type warning found at:1124 │1125 66 │ def to_iodata(h) when is_integer(h) do1126 │ ~1127 │1128 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/111291130 warning: the 1st pattern in clause will never match:11311132 h11331134 because it is expected to receive type:11351136 dynamic(empty_list() or non_empty_list(term(), term()))11371138 where "h" was given the type:11391140 # type: binary()1141 # from: lib/phoenix_html/safe.ex:72:251142 is_binary(h)11431144 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11451146 type warning found at:1147 │1148 72 │ def to_iodata(h) when is_binary(h) do1149 │ ~1150 │1151 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/111521153Generated phoenix_html app1154==> phoenix_template1155Compiling 4 files (.ex)1156 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 operator1157 │1158 505 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1159 │ ~1160 │1161 └─ lib/phoenix/template.ex:505:29: Phoenix.Template.unsuffix/211621163Generated phoenix_template app1164==> phoenix_view1165Compiling 1 file (.ex)1166 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 operator1167 │1168 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1169 │ ~1170 │1171 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/211721173Generated phoenix_view app1174warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1175 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21176 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11177 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51178 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21179 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41180 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211811182==> postgrex1183Compiling 64 files (.ex)1184 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 operator1185 │1186 52 │ <<positions::binary-size(positions_bytes), remaining_data::binary>> = rest1187 │ ~1188 │1189 └─ lib/postgrex/extensions/tsvector.ex:52:30: Postgrex.Extensions.TSVector.decode_tsvector_values/111901191 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 operator1192 │1193 98 │ <<data::size(rest_size)>> = rest1194 │ ~1195 │1196 └─ lib/postgrex/messages.ex:98:24: Postgrex.Messages.parse/311971198 warning: unused require Postgrex.Messages1199 │1200 55 │ require Postgrex.Messages1201 │ ~1202 │1203 └─ lib/postgrex/query.ex:55:312041205 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 operator1206 │1207 3201 │ <<body::binary(size), rest::binary>> ->1208 │ ~1209 │1210 └─ lib/postgrex/protocol.ex:3201:22: Postgrex.Protocol.msg_decode/112111212 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 operator1213 │1214 16 │ <<binary::binary-size(last_pos), last::bits>> = val1215 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1216 │1217 └─ lib/postgrex/extensions/bit_string.ex:16: Postgrex.DefaultTypes."Elixir.Postgrex.Extensions.BitString"/112181219 warning: the following clause will never match:12201221 {:error, %Postgrex.Error{} = err, s, buffer} ->12221223 because it attempts to match on the result of:12241225 msg_send(%{s | buffer: nil}, msgs, buffer)12261227 which has type:12281229 dynamic(:ok or {:disconnect, term(), term()})12301231 type warning found at:1232 │1233 1128 │ {:error, %Postgrex.Error{} = err, s, buffer} ->1234 │ ~1235 │1236 └─ lib/postgrex/protocol.ex:1128:7: Postgrex.Protocol.handle_simple/312371238 warning: the following clause will never match:12391240 {:error, %Postgrex.Error{} = err, s, buffer} ->12411242 because it attempts to match on the result of:12431244 msg_send(%{s | buffer: nil}, msgs, buffer)12451246 which has type:12471248 dynamic(:ok or {:disconnect, term(), term()})12491250 type warning found at:1251 │1252 1238 │ {:error, %Postgrex.Error{} = err, s, buffer} ->1253 │ ~1254 │1255 └─ lib/postgrex/protocol.ex:1238:7: Postgrex.Protocol.handle_streaming/212561257 warning: a struct for Postgrex.Query is expected on struct update:12581259 %Postgrex.Query{1260 query1261 | param_oids: param_oids,1262 param_formats: param_formats,1263 param_types: param_types1264 }12651266 but got type:12671268 dynamic()12691270 where "query" was given the type:12711272 # type: dynamic()1273 # from: lib/postgrex/protocol.ex:1637:411274 query12751276 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12771278 type warning found at:1279 │1280 1640 │ query = %Query{1281 │ ~1282 │1283 └─ lib/postgrex/protocol.ex:1640:15: Postgrex.Protocol.describe_params/312841285 warning: a struct for Postgrex.Query is expected on struct update:12861287 %Postgrex.Query{1288 query1289 | ref: make_ref(),1290 types: types,1291 columns: nil,1292 result_oids: nil,1293 result_formats: [],1294 result_types: nil1295 }12961297 but got type:12981299 dynamic()13001301 where "query" was given the type:13021303 # type: dynamic()1304 # from: lib/postgrex/protocol.ex:1668:411305 query13061307 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"13081309 type warning found at:1310 │1311 1669 │ query = %Query{1312 │ ~1313 │1314 └─ lib/postgrex/protocol.ex:1669:13: Postgrex.Protocol.describe_result/413151316 warning: a struct for Postgrex.Query is expected on struct update:13171318 %Postgrex.Query{1319 query1320 | ref: make_ref(),1321 types: types,1322 columns: columns,1323 result_oids: result_oids,1324 result_formats: result_formats,1325 result_types: result_types1326 }13271328 but got type:13291330 dynamic()13311332 where "query" was given the type:13331334 # type: dynamic()1335 # from: lib/postgrex/protocol.ex:1682:411336 query13371338 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"13391340 type warning found at:1341 │1342 1685 │ query = %Query{1343 │ ~1344 │1345 └─ lib/postgrex/protocol.ex:1685:15: Postgrex.Protocol.describe_result/413461347 warning: the following clause will never match:13481349 {:error, %Postgrex.Error{} = err, s, buffer} ->13501351 because it attempts to match on the result of:13521353 msg_send(%{s | buffer: nil}, msgs, buffer)13541355 which has type:13561357 dynamic(:ok or {:disconnect, term(), term()})13581359 type warning found at:1360 │1361 2865 │ {:error, %Postgrex.Error{} = err, s, buffer} ->1362 │ ~1363 │1364 └─ lib/postgrex/protocol.ex:2865:7: Postgrex.Protocol.handle_transaction/313651366Generated postgrex app1367warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1368 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21369 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11370 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51371 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21372 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41373 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/213741375==> ecto_sql1376Compiling 25 files (.ex)1377 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 operator1378 │1379 93 │ <<_, unquoted::binary-size(size), _>> = quoted1380 │ ~1381 │1382 └─ lib/ecto/adapters/postgres/connection.ex:93:34: Ecto.Adapters.Postgres.Connection.strip_quotes/113831384 warning: unused require Ecto.Query1385 │1386 140 │ require Ecto.Query1387 │ ~1388 │1389 └─ lib/ecto/adapters/tds.ex:140:313901391 warning: unused require Logger1392 │1393 139 │ require Logger1394 │ ~1395 │1396 └─ lib/ecto/adapters/tds.ex:139:313971398 warning: unused require Ecto.Query1399 │1400 107 │ require Ecto.Query1401 │ ~1402 │1403 └─ lib/ecto/migrator.ex:107:314041405 warning: this clause of defp validate_index_opts!/1 is never used (or it will always fail/warn when invoked)1406 │1407 1558 │ defp validate_index_opts!(opts), do: opts1408 │ ~1409 │1410 └─ lib/ecto/migration.ex:1558:8: Ecto.Migration.validate_index_opts!/114111412 warning: this clause of defp drop_reference_if_exists_expr/3 is never used (or it will always fail/warn when invoked)1413 │1414 1732 │ defp drop_reference_if_exists_expr(_, _, _),1415 │ ~1416 │1417 └─ lib/ecto/adapters/postgres/connection.ex:1732:10: Ecto.Adapters.Postgres.Connection.drop_reference_if_exists_expr/314181419 warning: List.zip/1 is deprecated. Use Enum.zip/1 instead1420 │1421 681 │ |> List.zip()1422 │ ~1423 │1424 └─ lib/ecto/adapters/sql.ex:681:15: Ecto.Adapters.SQL.format_table/11425 └─ lib/ecto/adapters/sql.ex:712:15: Ecto.Adapters.SQL.cells/214261427Generated ecto_sql app1428==> fun_with_flags1429Compiling 21 files (.ex)1430 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1431 │1432 28 │ Logger.warn "FunWithFlags: couldn't load flag '#{flag_name}' from storage, falling back to stale cached value from ETS"1433 │ ~1434 │1435 └─ lib/fun_with_flags/store.ex:28:12: FunWithFlags.Store.try_to_use_the_cached_value/314361437Generated fun_with_flags app1438warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1439 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21440 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11441 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51442 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21443 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41444 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214451446==> oban1447Compiling 61 files (.ex)1448 warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1449 │1450 158 │ error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1451 │ ~1452 │1453 └─ lib/oban/repo.ex:158:11: Oban.Repo.transaction/414541455 warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1456 │1457 123 │ error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1458 │ ~1459 │1460 └─ lib/oban/peers/database.ex:123:11: Oban.Peers.Database.handle_info/214611462Generated oban app1463warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1464 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21465 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11466 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51467 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21468 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41469 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214701471==> phoenix_ecto1472Compiling 7 files (.ex)1473Generated phoenix_ecto app1474==> nerves_compatibility_test1475===> Analyzing applications...1476===> Compiling parse_trans1477==> uboot_env1478Compiling 5 files (.ex)1479Generated uboot_env app1480==> shorter_maps1481Compiling 1 file (.ex)1482 warning: using single-quoted strings to represent charlists is deprecated.1483 Use ~c"" if you indeed want a charlist or use "" instead.1484 You may run "mix format --migrate" to change all single-quoted1485 strings to use the ~c sigil and fix this warning.1486 │1487 192 │ defp modifier([mod], _default) when mod in 'as', do: mod1488 │ ~1489 │1490 └─ lib/shorter_maps.ex:192:4614911492 warning: the following clause will never match:14931494 {:error, step, reason} ->14951496 it is expected to match on type:14971498 none()14991500 type warning found at:1501 │1502 84 │ {:error, step, reason} ->1503 │ ~1504 │1505 └─ lib/shorter_maps.ex:84:7: ShorterMaps.do_sigil_m/315061507Generated shorter_maps app1508==> nerves_compatibility_test1509===> Analyzing applications...1510===> Compiling metrics1511===> Analyzing applications...1512===> Compiling hackney1513 ┌─ src/hackney_happy.erl:1514 │1515 101 │ catch exit(Pid, normal),1516 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1517Compile directive 'nowarn_deprecated_catch' can be used to suppress1518warnings in selected modules.15191520 ┌─ src/hackney_happy.erl:1521 │1522 128 │ case (catch inet_res:getbyname(Hostname, Type)) of1523 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1524Compile directive 'nowarn_deprecated_catch' can be used to suppress1525warnings in selected modules.15261527 ┌─ src/hackney_happy.erl:1528 │1529 151 │ case (catch inet:gethostbyname(Hostname, InetType)) of1530 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1531Compile directive 'nowarn_deprecated_catch' can be used to suppress1532warnings in selected modules.153315341535 ┌─ src/hackney_trace.erl:1536 │1537 132 │ (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1538 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1539Compile directive 'nowarn_deprecated_catch' can be used to suppress1540warnings in selected modules.15411542 ┌─ src/hackney_trace.erl:1543 │1544 139 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1545 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1546Compile directive 'nowarn_deprecated_catch' can be used to suppress1547warnings in selected modules.15481549 ┌─ src/hackney_trace.erl:1550 │1551 146 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1552 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1553Compile directive 'nowarn_deprecated_catch' can be used to suppress1554warnings in selected modules.15551556 ┌─ src/hackney_trace.erl:1557 │1558 147 │ (catch file:close(Fd)),1559 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1560Compile directive 'nowarn_deprecated_catch' can be used to suppress1561warnings in selected modules.15621563 ┌─ src/hackney_trace.erl:1564 │1565 154 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1566 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1567Compile directive 'nowarn_deprecated_catch' can be used to suppress1568warnings in selected modules.15691570 ┌─ src/hackney_trace.erl:1571 │1572 155 │ (catch file:close(Fd)),1573 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1574Compile directive 'nowarn_deprecated_catch' can be used to suppress1575warnings in selected modules.15761577 ┌─ src/hackney_trace.erl:1578 │1579 161 │ (catch print_hackney_trace(Fd, Sev, Timestamp, Who,1580 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1581Compile directive 'nowarn_deprecated_catch' can be used to suppress1582warnings in selected modules.15831584 ┌─ src/hackney_trace.erl:1585 │1586 165 │ (catch print_trace(Fd, Event)),1587 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1588Compile directive 'nowarn_deprecated_catch' can be used to suppress1589warnings in selected modules.159015911592 ┌─ src/hackney_pool.erl:1593 │1594 80 │ case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of1595 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1596Compile directive 'nowarn_deprecated_catch' can be used to suppress1597warnings in selected modules.15981599 ┌─ src/hackney_pool.erl:1600 │1601 101 │ _ = catch hackney_connection:close(Connection, Socket),1602 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1603Compile directive 'nowarn_deprecated_catch' can be used to suppress1604warnings in selected modules.16051606 ┌─ src/hackney_pool.erl:1607 │1608 130 │ _ = catch hackney_connection:close(Connection, Socket),1609 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1610Compile directive 'nowarn_deprecated_catch' can be used to suppress1611warnings in selected modules.16121613 ┌─ src/hackney_pool.erl:1614 │1615 134 │ catch hackney_connection:close(Connection, Socket),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_pool.erl:1621 │1622 319 │ 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_pool.erl:1628 │1629 417 │ case catch hackney_connection:controlling_process(Connection, S, self()) of1630 │ ╰── 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_pool.erl:1635 │1636 423 │ _ = catch hackney_connection:close(Connection, S),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_pool.erl:1642 │1643 444 │ catch hackney_connection:close(Connection, 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_pool.erl:1649 │1650 543 │ _ = (catch hackney_connection:close(Connection, Socket)),1651 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1652Compile directive 'nowarn_deprecated_catch' can be used to suppress1653warnings in selected modules.165416551656 ┌─ src/hackney_manager.erl:1657 │1658 114 │ catch ets:delete(?MODULE, Ref),1659 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1660Compile directive 'nowarn_deprecated_catch' can be used to suppress1661warnings in selected modules.16621663 ┌─ src/hackney_manager.erl:1664 │1665 125 │ catch Transport:close(Socket);1666 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1667Compile directive 'nowarn_deprecated_catch' can be used to suppress1668warnings in selected modules.16691670 ┌─ src/hackney_manager.erl:1671 │1672 129 │ catch Handler:checkin(SocketRef, Socket)1673 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1674Compile directive 'nowarn_deprecated_catch' can be used to suppress1675warnings in selected modules.16761677 ┌─ src/hackney_manager.erl:1678 │1679 133 │ catch Transport:controlling_process(Socket, self()),1680 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1681Compile directive 'nowarn_deprecated_catch' can be used to suppress1682warnings in selected modules.16831684 ┌─ src/hackney_manager.erl:1685 │1686 134 │ catch Transport:close(Socket),1687 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1688Compile directive 'nowarn_deprecated_catch' can be used to suppress1689warnings in selected modules.16901691 ┌─ src/hackney_manager.erl:1692 │1693 227 │ catch ets:delete(?MODULE, Ref),1694 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1695Compile directive 'nowarn_deprecated_catch' can be used to suppress1696warnings in selected modules.16971698 ┌─ src/hackney_manager.erl:1699 │1700 255 │ catch ets:delete(?MODULE, Ref),1701 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1702Compile directive 'nowarn_deprecated_catch' can be used to suppress1703warnings in selected modules.17041705 ┌─ src/hackney_manager.erl:1706 │1707 269 │ catch Transport:controlling_process(Socket, self()),1708 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1709Compile directive 'nowarn_deprecated_catch' can be used to suppress1710warnings in selected modules.17111712 ┌─ src/hackney_manager.erl:1713 │1714 270 │ catch Transport:close(Socket),1715 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1716Compile directive 'nowarn_deprecated_catch' can be used to suppress1717warnings in selected modules.17181719 ┌─ src/hackney_manager.erl:1720 │1721 383 │ catch unlink(Stream),1722 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1723Compile directive 'nowarn_deprecated_catch' can be used to suppress1724warnings in selected modules.17251726 ┌─ src/hackney_manager.erl:1727 │1728 416 │ catch ets:delete(?REFS, Ref),1729 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1730Compile directive 'nowarn_deprecated_catch' can be used to suppress1731warnings in selected modules.17321733 ┌─ src/hackney_manager.erl:1734 │1735 426 │ catch ets:delete(?REFS, Ref),1736 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1737Compile directive 'nowarn_deprecated_catch' can be used to suppress1738warnings in selected modules.17391740 ┌─ src/hackney_manager.erl:1741 │1742 470 │ case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1743 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1744Compile directive 'nowarn_deprecated_catch' can be used to suppress1745warnings in selected modules.17461747 ┌─ src/hackney_manager.erl:1748 │1749 487 │ catch Transport:close(Socket),1750 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1751Compile directive 'nowarn_deprecated_catch' can be used to suppress1752warnings in selected modules.17531754 ┌─ src/hackney_manager.erl:1755 │1756 543 │ catch ets:delete(?REFS, Ref),1757 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1758Compile directive 'nowarn_deprecated_catch' can be used to suppress1759warnings in selected modules.17601761 ┌─ src/hackney_manager.erl:1762 │1763 544 │ catch ets:delete(?MODULE, Ref),1764 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1765Compile directive 'nowarn_deprecated_catch' can be used to suppress1766warnings in selected modules.17671768 ┌─ src/hackney_manager.erl:1769 │1770 559 │ catch ets:delete(?REFS, Ref),1771 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1772Compile directive 'nowarn_deprecated_catch' can be used to suppress1773warnings in selected modules.17741775 ┌─ src/hackney_manager.erl:1776 │1777 560 │ catch ets:delete(?MODULE, Ref),1778 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1779Compile directive 'nowarn_deprecated_catch' can be used to suppress1780warnings in selected modules.17811782 ┌─ src/hackney_manager.erl:1783 │1784 618 │ catch unlink(Pid),1785 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1786Compile directive 'nowarn_deprecated_catch' can be used to suppress1787warnings in selected modules.178817891790==> bamboo1791Compiling 26 files (.ex)1792 warning: redefining @doc attribute previously set at line 33.17931794 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:17951796 @doc """1797 new docs1798 """1799 def deliver(...)18001801 │1802 39 │ @doc "Adds email to `Bamboo.SentEmail`"1803 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1804 │1805 └─ lib/bamboo/adapters/local_adapter.ex:39: Bamboo.LocalAdapter.deliver/218061807 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1808 │1809 276 │ Logger.warn(1810 │ ~1811 │1812 └─ lib/bamboo/mailer.ex:276:12: Bamboo.Mailer.parse_opts/218131814 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 module1815 │1816 2 │ use Plug.Router1817 │ ^^^^^^^^^^^^^^^1818 │1819 └─ lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)18201821 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 module1822 │1823 2 │ use Plug.Router1824 │ ^^^^^^^^^^^^^^^1825 │1826 └─ lib/bamboo/plug/sent_email_api/sent_email_api_plug.ex:2: Bamboo.SentEmailApiPlug (module)182718281829== Compilation error in file lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex ==1830** (CompileError) lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex: cannot compile module Bamboo.SentEmailViewerPlug (errors have been logged)1831 (elixir 1.20.3) expanding macro: Kernel.use/11832 lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)1833could 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"