Build log
nerves_system_rpi5
tracy_web 0.0.1-rc.1 · fail · run tracy_web-0.0.1-rc.1-1791143770106
2316 of 2316 lines
1Resolving Hex dependencies...2Resolution completed in 0.127s3Unchanged:4 circular_buffer 1.1.05 cowboy 1.1.2 VULNERABLE!6 GHSA-w4f7-4cxr-rv3c (MEDIUM)7 aka: CVE-2026-43966, EEF-CVE-2026-439668 cowboy and gun affected by an HTTP Request/Response Splitting vulnerability9 https://osv.dev/vulnerability/GHSA-w4f7-4cxr-rv3c10 cowlib 1.0.2 VULNERABLE!11 EEF-CVE-2026-7790 (HIGH)12 aka: CVE-2026-7790, GHSA-32p9-57cr-4x6513 Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS14 https://osv.dev/vulnerability/EEF-CVE-2026-77901516 EEF-CVE-2026-43970 (HIGH)17 aka: CVE-2026-43970, GHSA-84f2-rp86-235p18 Decompression Bomb in cow_spdy:inflate/2 Allows Memory Exhaustion via Crafted SPDY Frame19 https://osv.dev/vulnerability/EEF-CVE-2026-4397020 elixir_make 0.10.021 expo 1.1.122 gettext 0.26.223 interactive_cmd 0.1.424 mime 1.6.025 nerves 2.0.0-pre.226 nerves_discovery 0.1.527 nerves_logging 0.2.428 nerves_runtime 0.13.1329 nerves_system_bbb 2.30.230 nerves_system_br 1.34.431 nerves_system_mangopi_mq_pro 0.17.232 nerves_system_qemu_aarch64 0.4.233 nerves_system_rpi0 2.1.234 nerves_system_rpi4 2.1.235 nerves_system_rpi5 2.1.236 nerves_system_trellis 0.5.037 nerves_system_x86_64 1.34.238 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.139 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.140 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.141 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.142 nerves_toolchain_x86_64_nerves_linux_musl 15.3.143 nerves_uevent 0.1.744 phoenix 1.3.5 VULNERABLE!45 GHSA-p8f7-22gq-m7j9 (HIGH)46 aka: CVE-2022-4297547 Phoenix before 1.6.14 mishandles check_origin wildcarding48 https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j94950 EEF-CVE-2026-56812 (MEDIUM)51 aka: CVE-2026-56812, GHSA-63mc-hw7g-86rr52 Phoenix JavaScript presence client crashes on presence keys colliding with Object.prototype members in Presence.syncState/syncDiff53 https://osv.dev/vulnerability/EEF-CVE-2026-568125455 EEF-CVE-2026-56811 (HIGH)56 aka: CVE-2026-56811, GHSA-6983-jfq8-485w57 Phoenix transports do not limit channel joins per connection, enabling process-exhaustion denial of service58 https://osv.dev/vulnerability/EEF-CVE-2026-5681159 phoenix_html 2.10.5 VULNERABLE!60 GHSA-5g2h-9x5v-5h3x (MEDIUM)61 aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q262 phoenix_html allows Cross-site Scripting in HEEx class attributes63 https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x64 phoenix_pubsub 1.1.265 plug 1.3.6 VULNERABLE!66 EEF-CVE-2026-56813 (LOW)67 aka: CVE-2026-56813, GHSA-wpmj-jh88-rpgm68 Cookie attribute injection in Plug.Conn.Cookies.encode/269 https://osv.dev/vulnerability/EEF-CVE-2026-5681370 poison 3.1.071 property_table 0.3.472 ranch 1.3.273 ring_logger 0.11.774 tablet 0.3.375 toolshed 0.5.076 tracy 0.1.077 tracy_web 0.0.1-rc.178 uboot_env 1.0.279* Getting tracy_web (Hex package)80* Getting nerves (Hex package)81* Getting ring_logger (Hex package)82* Getting toolshed (Hex package)83* Getting nerves_runtime (Hex package)84* Getting nerves_system_bbb (Hex package)85* Getting nerves_system_mangopi_mq_pro (Hex package)86* Getting nerves_system_qemu_aarch64 (Hex package)87* Getting nerves_system_rpi0 (Hex package)88* Getting nerves_system_rpi4 (Hex package)89* Getting nerves_system_rpi5 (Hex package)90* Getting nerves_system_trellis (Hex package)91* Getting nerves_system_x86_64 (Hex package)92* Getting nerves_system_br (Hex package)93* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)94* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)95* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)96* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)97* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)98* Getting nerves_logging (Hex package)99* Getting nerves_uevent (Hex package)100* Getting uboot_env (Hex package)101* Getting elixir_make (Hex package)102* Getting property_table (Hex package)103* Getting circular_buffer (Hex package)104* Getting interactive_cmd (Hex package)105* Getting nerves_discovery (Hex package)106* Getting tablet (Hex package)107* Getting cowboy (Hex package)108* Getting gettext (Hex package)109* Getting phoenix (Hex package)110* Getting phoenix_html (Hex package)111* Getting phoenix_pubsub (Hex package)112* Getting tracy (Hex package)113* Getting plug (Hex package)114* Getting mime (Hex package)115* Getting poison (Hex package)116* Getting expo (Hex package)117* Getting cowlib (Hex package)118* Getting ranch (Hex package)119Found packages with security advisories, see above for details120 warning: String.strip/1 is deprecated. Use String.trim/1 instead121 │122 4 │ @version File.read!("VERSION") |> String.strip123 │ ~124 │125 └─ /work/proj/deps_rpi5/poison/mix.exs:4:44: Poison.Mixfile (module)126127==> nerves_system_br128Generated nerves_system_br app129==> mime130Compiling 2 files (.ex)131Generated mime app132==> circular_buffer133Compiling 1 file (.ex)134Generated circular_buffer app135==> poison136Compiling 4 files (.ex)137 warning: using single-quoted strings to represent charlists is deprecated.138 Use ~c"" if you indeed want a charlist or use "" instead.139 You may run "mix format --migrate" to change all single-quoted140 strings to use the ~c sigil and fix this warning.141 │142 93 │ for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do143 │ ~144 │145 └─ lib/poison/encoder.ex:93:31146147 warning: using single-quoted strings to represent charlists is deprecated.148 Use ~c"" if you indeed want a charlist or use "" instead.149 You may run "mix format --migrate" to change all single-quoted150 strings to use the ~c sigil and fix this warning.151 │152 93 │ for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do153 │ ~154 │155 └─ lib/poison/encoder.ex:93:48156157 warning: using single-quoted strings to represent charlists is deprecated.158 Use ~c"" if you indeed want a charlist or use "" instead.159 You may run "mix format --migrate" to change all single-quoted160 strings to use the ~c sigil and fix this warning.161 │162 139 │ defp chunk_size(<<char>> <> _, _mode, acc) when char <= 0x1F or char in '"\\' do163 │ ~164 │165 └─ lib/poison/encoder.ex:139:75166167 warning: using single-quoted strings to represent charlists is deprecated.168 Use ~c"" if you indeed want a charlist or use "" instead.169 You may run "mix format --migrate" to change all single-quoted170 strings to use the ~c sigil and fix this warning.171 │172 77 │ defp value(<<char, _ :: binary>> = string, pos, _keys) when char in '-0123456789' do173 │ ~174 │175 └─ lib/poison/parser.ex:77:71176177 warning: using single-quoted strings to represent charlists is deprecated.178 Use ~c"" if you indeed want a charlist or use "" instead.179 You may run "mix format --migrate" to change all single-quoted180 strings to use the ~c sigil and fix this warning.181 │182 155 │ defp number_int(<<char, _ :: binary>> = string, pos, acc) when char in '123456789' do183 │ ~184 │185 └─ lib/poison/parser.ex:155:74186187 warning: using single-quoted strings to represent charlists is deprecated.188 Use ~c"" if you indeed want a charlist or use "" instead.189 You may run "mix format --migrate" to change all single-quoted190 strings to use the ~c sigil and fix this warning.191 │192 171 │ defp number_exp(<<e>> <> rest, frac, pos, acc) when e in 'eE' do193 │ ~194 │195 └─ lib/poison/parser.ex:171:60196197 warning: using single-quoted strings to represent charlists is deprecated.198 Use ~c"" if you indeed want a charlist or use "" instead.199 You may run "mix format --migrate" to change all single-quoted200 strings to use the ~c sigil and fix this warning.201 │202 197 │ defp number_digits(<<char>> <> rest = string, pos) when char in '0123456789' do203 │ ~204 │205 └─ lib/poison/parser.ex:197:67206207 warning: using single-quoted strings to represent charlists is deprecated.208 Use ~c"" if you indeed want a charlist or use "" instead.209 You may run "mix format --migrate" to change all single-quoted210 strings to use the ~c sigil and fix this warning.211 │212 205 │ defp number_digits_count(<<char>> <> rest, acc) when char in '0123456789' do213 │ ~214 │215 └─ lib/poison/parser.ex:205:64216217 warning: using single-quoted strings to represent charlists is deprecated.218 Use ~c"" if you indeed want a charlist or use "" instead.219 You may run "mix format --migrate" to change all single-quoted220 strings to use the ~c sigil and fix this warning.221 │222 229 │ for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do223 │ ~224 │225 └─ lib/poison/parser.ex:229:31226227 warning: using single-quoted strings to represent charlists is deprecated.228 Use ~c"" if you indeed want a charlist or use "" instead.229 You may run "mix format --migrate" to change all single-quoted230 strings to use the ~c sigil and fix this warning.231 │232 229 │ for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do233 │ ~234 │235 └─ lib/poison/parser.ex:229:44236237 warning: using single-quoted strings to represent charlists is deprecated.238 Use ~c"" if you indeed want a charlist or use "" instead.239 You may run "mix format --migrate" to change all single-quoted240 strings to use the ~c sigil and fix this warning.241 │242 239 │ when a1 in 'dD' and a2 in 'dD'243 │ ~244 │245 └─ lib/poison/parser.ex:239:16246247 warning: using single-quoted strings to represent charlists is deprecated.248 Use ~c"" if you indeed want a charlist or use "" instead.249 You may run "mix format --migrate" to change all single-quoted250 strings to use the ~c sigil and fix this warning.251 │252 239 │ when a1 in 'dD' and a2 in 'dD'253 │ ~254 │255 └─ lib/poison/parser.ex:239:31256257 warning: using single-quoted strings to represent charlists is deprecated.258 Use ~c"" if you indeed want a charlist or use "" instead.259 You may run "mix format --migrate" to change all single-quoted260 strings to use the ~c sigil and fix this warning.261 │262 240 │ and (b1 in '89abAB')263 │ ~264 │265 └─ lib/poison/parser.ex:240:16266267 warning: using single-quoted strings to represent charlists is deprecated.268 Use ~c"" if you indeed want a charlist or use "" instead.269 You may run "mix format --migrate" to change all single-quoted270 strings to use the ~c sigil and fix this warning.271 │272 274 │ defp skip_whitespace(<<char>> <> rest, pos) when char in '\s\n\t\r' do273 │ ~274 │275 └─ lib/poison/parser.ex:274:60276277 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead278 │279 22 │ if Application.get_env(:poison, :native) do280 │ ~281 │282 └─ lib/poison/parser.ex:22:18: Poison.Parser (module)283284 warning: use Bitwise is deprecated. import Bitwise instead285 │286 26 │ use Bitwise287 │ ~~~~~~~~~~~288 │289 └─ lib/poison/parser.ex:26: Poison.Parser (module)290291 warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator292 │293 199 │ <<digits :: binary-size(count), rest :: binary>> = string294 │ ~295 │296 └─ lib/poison/parser.ex:199:29: Poison.Parser.number_digits/2297298 warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator299 │300 225 │ <<chunk :: binary-size(count), rest :: binary>> = string301 │ ~302 │303 └─ lib/poison/parser.ex:225:28: Poison.Parser.string_continue/3304305 warning: use Bitwise is deprecated. import Bitwise instead306 │307 83 │ use Bitwise308 │ ~~~~~~~~~~~309 │310 └─ lib/poison/encoder.ex:83: Poison.Encoder.BitString (module)311312 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 operator313 │314 135 │ <<chunk :: binary-size(size), rest :: binary>> = string315 │ ~316 │317 └─ lib/poison/encoder.ex:135:28: Poison.Encoder.BitString.escape/2318319 warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead320 │321 173 │ case Integer.to_char_list(char, 16) do322 │ ~323 │324 └─ lib/poison/encoder.ex:173:18: Poison.Encoder.BitString.seq/1325326Generated poison app327==> nerves_compatibility_test328===> Analyzing applications...329===> Compiling ranch330 ┌─ src/ranch.erl:331 │332 73 │ catch Transport:controlling_process(Socket, AcceptorsSup);333 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.334Compile directive 'nowarn_deprecated_catch' can be used to suppress335warnings in selected modules.336337338 ┌─ src/ranch_conns_sup.erl:339 │340 80 │ catch erlang:send(SupPid, {?MODULE, active_connections, self(), Tag},341 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.342Compile directive 'nowarn_deprecated_catch' can be used to suppress343warnings in selected modules.344345346 ┌─ src/ranch_ssl.erl:347 │348 128 │ case ssl:ssl_accept(CSocket, Timeout) of349 │ ╰── Warning: ssl:ssl_accept/2 is removed; use ssl:handshake/1,2,3 instead350351 ┌─ src/ranch_ssl.erl:352 │353 233 │ end, ssl:cipher_suites());354 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead355356 ┌─ src/ranch_ssl.erl:357 │358 235 │ ssl:cipher_suites()359 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead360361362==> tablet363Compiling 2 files (.ex)364Generated tablet app365==> elixir_make366Compiling 8 files (.ex)367Generated elixir_make app368==> nerves_logging369 CC kmsg_tailer.o370 LD kmsg_tailer371Compiling 5 files (.ex)372Generated nerves_logging app373==> nerves_compatibility_test374===> Analyzing applications...375===> Compiling cowlib376==> nerves_discovery377Compiling 5 files (.ex)378Generated nerves_discovery app379==> ring_logger380Compiling 7 files (.ex)381Generated ring_logger app382==> interactive_cmd383Compiling 1 file (.ex)384Generated interactive_cmd app385==> nerves386Compiling 65 files (.ex)387 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)388 │389 6 │ defmodule Mix.Tasks.Nerves.Init do390 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~391 │392 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)393394 warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.beam)395 │396 6 │ defmodule Nerves do397 │ ~~~~~~~~~~~~~~~~~~~398 │399 └─ lib/nerves.ex:6: Nerves (module)400401 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)402 │403 5 │ defmodule Nerves.ArtifactResolver do404 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~405 │406 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)407408 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)409 │410 6 │ defmodule Nerves.BuildAction.AppModes do411 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~412 │413 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)414415 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)416 │417 5 │ defmodule Nerves.BuildAction.CheckExecutables do418 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~419 │420 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)421422 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)423 │424 8 │ defmodule Nerves.BuildAction.Erlinit do425 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~426 │427 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)428429 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)430 │431 5 │ defmodule Nerves.BuildAction.Firmware do432 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~433 │434 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)435436 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)437 │438 7 │ defmodule Nerves.BuildAction.IExStartupCheck do439 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~440 │441 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)442443 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)444 │445 5 │ defmodule Nerves.BuildAction.NervesV1System do446 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~447 │448 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)449450 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)451 │452 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do453 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~454 │455 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)456457 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)458 │459 5 │ defmodule Nerves.BuildAction.Rootfs do460 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~461 │462 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)463464 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)465 │466 6 │ defmodule Nerves.BuildAction.SortApps do467 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~468 │469 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)470471 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)472 │473 5 │ defmodule Nerves.BuildAction.StripAll do474 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~475 │476 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)477478 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)479 │480 5 │ defmodule Nerves.BuildAction.Trimmer do481 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~482 │483 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)484485 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)486 │487 5 │ defmodule Nerves.BuildPlan do488 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~489 │490 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)491492 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)493 │494 5 │ defmodule Nerves.BuildPlan.Checks do495 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~496 │497 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)498499 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Container.beam)500 │501 6 │ defmodule Nerves.Container do502 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~503 │504 └─ lib/nerves/container.ex:6: Nerves.Container (module)505506 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)507 │508 5 │ defmodule Nerves.Fingerprint do509 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~510 │511 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)512513 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)514 │515 5 │ defmodule Nerves.MixPackage do516 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~517 │518 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)519520 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Paths.beam)521 │522 5 │ defmodule Nerves.Paths do523 │ ~~~~~~~~~~~~~~~~~~~~~~~~~524 │525 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)526527 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)528 │529 5 │ defmodule Nerves.TargetTuple do530 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~531 │532 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)533534Generated nerves app535==> nerves_toolchain_aarch64_nerves_linux_gnu536Compiling 1 file (.ex)537Generated nerves_toolchain_aarch64_nerves_linux_gnu app538==> nerves_system_rpi5539Generated nerves_system_rpi5 app540==> nerves_compatibility_test541===> Analyzing applications...542===> Compiling cowboy543 ┌─ src/cowboy_websocket.erl:544 │545 147 │ Stacktrace = erlang:get_stacktrace(),546 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace547548 ┌─ src/cowboy_websocket.erl:549 │550 645 │ {stacktrace, erlang:get_stacktrace()},551 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace552553 ┌─ src/cowboy_websocket.erl:554 │555 755 │ {stacktrace, erlang:get_stacktrace()},556 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace557558559 ┌─ src/cowboy_handler.erl:560 │561 87 │ Stacktrace = erlang:get_stacktrace(),562 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace563564 ┌─ src/cowboy_handler.erl:565 │566 116 │ Stacktrace = erlang:get_stacktrace(),567 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace568569 ┌─ src/cowboy_handler.erl:570 │571 235 │ Stacktrace = erlang:get_stacktrace(),572 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace573574 ┌─ src/cowboy_handler.erl:575 │576 290 │ {stacktrace, erlang:get_stacktrace()},577 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace578579580 ┌─ src/cowboy_rest.erl:581 │582 69 │ Stacktrace = erlang:get_stacktrace(),583 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace584585 ┌─ src/cowboy_rest.erl:586 │587 1006 │ Stacktrace = erlang:get_stacktrace(),588 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace589590591==> expo592Compiling 2 files (.erl)593Compiling 22 files (.ex)594Generated expo app595==> gettext596Compiling 18 files (.ex)597 warning: unused require Gettext.Macros598 │599 594 │ require Gettext.Macros600 │ ~601 │602 └─ lib/gettext.ex:594:3603604 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead605 │606 426 │ Kernel.ParallelCompiler.async(fn ->607 │ ~608 │609 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3610611 warning: the following clause is redundant:612613 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)614615 it has type:616617 dynamic(%Expo.Message.Plural{})618619 previous clauses have already matched on the following types:620621 %Expo.Message.Singular{}622 %Expo.Message.Plural{}623624 │625 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do626 │ ~627 │628 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1629630Generated gettext app631==> phoenix_pubsub632Compiling 13 files (.ex)633 warning: single quotes around atoms are deprecated. Use double quotes instead634 │635 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])636 │ ~637 │638 └─ lib/phoenix/pubsub/local.ex:160:23639640 warning: single quotes around atoms are deprecated. Use double quotes instead641 │642 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])643 │ ~644 │645 └─ lib/phoenix/pubsub/local.ex:160:40646647 warning: unused require Logger648 │649 107 │ require Logger650 │ ~651 │652 └─ lib/phoenix/tracker.ex:107:3653654 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:655656 %Phoenix.Tracker.Replica{replica | status: :permdown}657658 but got type:659660 dynamic()661662 where "replica" was given the type:663664 # type: dynamic()665 # from: lib/phoenix/tracker/replica.ex:72:17666 replica667668 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"669670 type warning found at:671 │672 72 │ defp permdown(replica), do: %Replica{replica | status: :permdown}673 │ ~674 │675 └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1676677 warning: a struct for Phoenix.Tracker.State is expected on struct update:678679 %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}680681 but got type:682683 dynamic()684685 where "delta" was given the type:686687 # type: dynamic()688 # from: lib/phoenix/tracker/state.ex:461:36689 %Phoenix.Tracker.State{delta: delta} = state690691 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"692693 type warning found at:694 │695 465 │ new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}696 │ ~697 │698 └─ lib/phoenix/tracker/state.ex:465:17: Phoenix.Tracker.State.do_add/5699700 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:701702 %Phoenix.Tracker.Replica{replica | status: :down}703704 but got type:705706 dynamic()707708 where "replica" was given the type:709710 # type: dynamic()711 # from: lib/phoenix/tracker/replica.ex:74:13712 replica713714 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"715716 type warning found at:717 │718 74 │ defp down(replica), do: %Replica{replica | status: :down}719 │ ~720 │721 └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/1722723 warning: a struct for Phoenix.Tracker.State is expected on struct update:724725 %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}726727 but got type:728729 dynamic()730731 where "delta" was given the type:732733 # type: dynamic()734 # from: lib/phoenix/tracker/state.ex:541:99735 %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =736 state737738 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"739740 type warning found at:741 │742 547 │ delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}743 │ ~744 │745 └─ lib/phoenix/tracker/state.ex:547:19: Phoenix.Tracker.State.bump_clock/1746747 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:748749 %Phoenix.Tracker.Replica{replica | last_heartbeat_at: now_ms()}750751 but got type:752753 dynamic()754755 where "replica" was given the type:756757 # type: dynamic()758 # from: lib/phoenix/tracker/replica.ex:76:29759 replica760761 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"762763 type warning found at:764 │765 77 │ %Replica{replica | last_heartbeat_at: now_ms()}766 │ ~767 │768 └─ lib/phoenix/tracker/replica.ex:77:5: Phoenix.Tracker.Replica.touch_last_heartbeat/1769770 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead771 │772 269 │ worker(Phoenix.Tracker.Shard, [tracker, tracker_opts, shard_opts],773 │ ~774 │775 └─ lib/phoenix/tracker.ex:269:9: Phoenix.Tracker.init/1776777 warning: a struct for Phoenix.Tracker.State is expected on struct update:778779 %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}780781 but got type:782783 dynamic(%{..., range: {term(), term()}})784785 where "delta" was given the type:786787 # type: dynamic(%{..., range: {term(), term()}})788 # from: lib/phoenix/tracker/state.ex:551:30789 {start_clock, end_clock} = delta.range790791 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"792793 type warning found at:794 │795 555 │ delta: %State{delta | range: {start_clock, new_end}}}796 │ ~797 │798 └─ lib/phoenix/tracker/state.ex:555:19: Phoenix.Tracker.State.put_context/2799800 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead801 │802 7 │ [supervisor(Phoenix.PubSub.PG2, pubsub)]803 │ ~804 │805 └─ lib/phoenix/pubsub/supervisor.ex:7:8: Phoenix.PubSub.Supervisor.start/2806807 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead808 │809 273 │ supervise(shards, strategy: :one_for_one,810 │ ~811 │812 └─ lib/phoenix/tracker.ex:273:5: Phoenix.Tracker.init/1813814 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead815 │816 93 │ supervisor(Phoenix.PubSub.LocalSupervisor, [server, pool_size, dispatch_rules]),817 │ ~818 │819 └─ lib/phoenix/pubsub/pg2.ex:93:7: Phoenix.PubSub.PG2.init/1820821 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead822 │823 94 │ worker(Phoenix.PubSub.PG2Server, [server, pool_size])824 │ ~825 │826 └─ lib/phoenix/pubsub/pg2.ex:94:7: Phoenix.PubSub.PG2.init/1827828 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead829 │830 97 │ supervise(children, strategy: :rest_for_one)831 │ ~832 │833 └─ lib/phoenix/pubsub/pg2.ex:97:5: Phoenix.PubSub.PG2.init/1834835 warning: :pg2.create/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead836 │837 43 │ :ok = :pg2.create(pg2_group)838 │ ~839 │840 └─ lib/phoenix/pubsub/pg2_server.ex:43:16: Phoenix.PubSub.PG2Server.init/1841842 warning: :pg2.join/2 is undefined or private, this module was removed in OTP 24. Use 'pg' instead843 │844 44 │ :ok = :pg2.join(pg2_group, self())845 │ ~846 │847 └─ lib/phoenix/pubsub/pg2_server.ex:44:16: Phoenix.PubSub.PG2Server.init/1848849 warning: :pg2.get_members/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead850 │851 57 │ :pg2.get_members(pg2_namespace(server_name))852 │ ~853 │854 └─ lib/phoenix/pubsub/pg2_server.ex:57:10: Phoenix.PubSub.PG2Server.get_members/1855856 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead857 │858 35 │ worker(Phoenix.PubSub.GC, [gc_shard_name, local_shard_name]),859 │ ~860 │861 └─ lib/phoenix/pubsub/local_supervisor.ex:35:9: Phoenix.PubSub.LocalSupervisor.init/1862 └─ lib/phoenix/pubsub/local_supervisor.ex:36:9: Phoenix.PubSub.LocalSupervisor.init/1863864 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead865 │866 39 │ supervisor(Supervisor, [shard_children, [strategy: :one_for_all]], id: shard)867 │ ~868 │869 └─ lib/phoenix/pubsub/local_supervisor.ex:39:7: Phoenix.PubSub.LocalSupervisor.init/1870871 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead872 │873 42 │ supervise children, strategy: :one_for_one874 │ ~875 │876 └─ lib/phoenix/pubsub/local_supervisor.ex:42:5: Phoenix.PubSub.LocalSupervisor.init/1877878Generated phoenix_pubsub app879warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"880 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2881 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1882 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5883 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2884 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4885 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2886887==> plug888Compiling 44 files (.ex)889warning: cannot infer signatures from :cowboy because it is not loaded890891warning: cannot infer signatures from :cowlib because it is not loaded892893warning: cannot infer signatures from :ranch because it is not loaded894895warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead896 lib/plug/adapters/cowboy.ex:220: Plug.Adapters.Cowboy.put_ssl_file/3897898warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead899 lib/plug/adapters/cowboy.ex:238: Plug.Adapters.Cowboy.to_char_list/2900901 warning: using single-quoted strings to represent charlists is deprecated.902 Use ~c"" if you indeed want a charlist or use "" instead.903 You may run "mix format --migrate" to change all single-quoted904 strings to use the ~c sigil and fix this warning.905 │906 230 │ generated? = :erlang.system_info(:otp_release) >= '19'907 │ ~908 │909 └─ lib/plug/builder.ex:230:55910911 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead912 │913 421 │ when not state in @unsent do914 │ ~915 │916 └─ lib/plug/conn.ex:421:22917918 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead919 │920 445 │ when not state in @unsent do921 │ ~922 │923 └─ lib/plug/conn.ex:445:22924925 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead926 │927 497 │ when not state in @unsent do928 │ ~929 │930 └─ lib/plug/conn.ex:497:22931932 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead933 │934 883 │ def put_session(%Conn{state: state}, _key, _value) when not state in @unsent,935 │ ~936 │937 └─ lib/plug/conn.ex:883:69938939 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead940 │941 907 │ def delete_session(%Conn{state: state}, _key) when not state in @unsent,942 │ ~943 │944 └─ lib/plug/conn.ex:907:64945946 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead947 │948 939 │ def configure_session(%Conn{state: state}, _opts) when not state in @unsent,949 │ ~950 │951 └─ lib/plug/conn.ex:939:68952953 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead954 │955 961 │ when not state in @unsent do956 │ ~957 │958 └─ lib/plug/conn.ex:961:22959960 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead961 │962 6 │ custom_statuses = Application.get_env(:plug, :statuses, %{})963 │ ~964 │965 └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)966967 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead968 │969 65 │ mask(left, right, <<acc::binary, x ^^^ y>>)970 │ ~971 │972 └─ lib/plug/crypto.ex:65:40973974 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead975 │976 87 │ masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))977 │ ~978 │979 └─ lib/plug/crypto.ex:87:50980981 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead982 │983 87 │ masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))984 │ ~985 │986 └─ lib/plug/crypto.ex:87:57987988 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead989 │990 108 │ secure_compare(left, right, acc ||| (x ^^^ y))991 │ ~992 │993 └─ lib/plug/crypto.ex:108:44994995 warning: use Bitwise is deprecated. import Bitwise instead996 │997 6 │ use Bitwise998 │ ~~~~~~~~~~~999 │1000 └─ lib/plug/crypto.ex:6: Plug.Crypto (module)10011002 warning: use Bitwise is deprecated. import Bitwise instead1003 │1004 13 │ use Bitwise1005 │ ~~~~~~~~~~~1006 │1007 └─ lib/plug/crypto/key_generator.ex:13: Plug.Crypto.KeyGenerator (module)10081009 warning: the variable "max_length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1010 │1011 59 │ <<bin::binary-size(max_length), _::binary>> = key1012 │ ~1013 │1014 └─ lib/plug/crypto/key_generator.ex:59:24: Plug.Crypto.KeyGenerator.generate/710151016 warning: unused require Bitwise1017 │1018 64 │ require Bitwise1019 │ ~1020 │1021 └─ lib/plug/csrf_protection.ex:64:310221023 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1024 │1025 4 │ if Application.get_env(:plug, :mimes) do1026 │ ~1027 │1028 └─ lib/plug/mime.ex:4:18: Plug.MIME (module)10291030 warning: unused require Logger1031 │1032 32 │ require Logger1033 │ ~1034 │1035 └─ lib/plug/request_id.ex:32:310361037 warning: calling super for GenServer callback handle_info/2 is deprecated1038 │1039 164 │ super(msg, state)1040 │ ~1041 │1042 └─ lib/plug/upload.ex:164:5: Plug.Upload.handle_info/210431044 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1045 │1046 39 │ reraise e, System.stacktrace1047 │ ~1048 │1049 └─ lib/plug/parsers/multipart.ex:39:27: Plug.Parsers.MULTIPART.parse/51050 └─ lib/plug/parsers/multipart.ex:41:73: Plug.Parsers.MULTIPART.parse/510511052 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1053 │1054 12 │ worker(Plug.Upload, [])1055 │ ~1056 │1057 └─ lib/plug/supervisor.ex:12:7: Plug.Supervisor.init/110581059 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1060 │1061 16 │ supervise(children, strategy: :one_for_one)1062 │ ~1063 │1064 └─ lib/plug/supervisor.ex:16:5: Plug.Supervisor.init/110651066 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1067 │1068 139 │ __catch__(conn, kind, reason, System.stacktrace, opts)1069 │ ~1070 │1071 └─ lib/plug/debugger.ex:139:42: Plug.Debugger.__catch__/410721073 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1074 │1075 210 │ if Code.ensure_compiled?(module) and function_exported?(module, :init, 1) do1076 │ ~1077 │1078 └─ lib/plug/parsers.ex:210:15: Plug.Parsers.convert_parsers/210791080 warning: String.rstrip/1 is deprecated. Use String.trim_trailing/1 instead1081 │1082 635 │ <pre class="code code-block"><%= for {index, line, highlight} <- snippet do %><span class="line <%= if highlight, do: "-highlight" %>"><span class="ln"><%= h index %></span><span class="code"><%= h String.rstrip(line) %></span></span>1083 │ ~1084 │1085 └─ lib/plug/templates/debugger.html.eex:635:206: Plug.Debugger.template_html/110861087 warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead1088 │1089 28 │ MIME.valid?(type)1090 │ ~1091 │1092 └─ lib/plug/mime.ex:28:10: Plug.MIME.valid?/110931094 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1095 │1096 82 │ __catch__(conn, kind, reason, reason, System.stacktrace, handle_errors)1097 │ ~1098 │1099 └─ lib/plug/error_handler.ex:82:50: Plug.ErrorHandler.__catch__/411001101 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1102 │1103 41 │ signature = :crypto.hmac(:sha, key, plain_text)1104 │ ~1105 │1106 └─ lib/plug/crypto/message_verifier.ex:41:26: Plug.Crypto.MessageVerifier.hmac_sha1_sign/21107 └─ lib/plug/crypto/message_verifier.ex:49:29: Plug.Crypto.MessageVerifier.hmac_sha1_verify/21108 └─ lib/plug/crypto/message_verifier.ex:71:26: Plug.Crypto.MessageVerifier.hmac_sha2_sign/31109 └─ lib/plug/crypto/message_verifier.ex:80:29: Plug.Crypto.MessageVerifier.hmac_sha2_verify/211101111 warning: :crypto.block_encrypt/4 is undefined or private, use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_init + crypto:crypto_update + crypto:crypto_final instead1112 │1113 57 │ {cipher_text, cipher_tag} = :crypto.block_encrypt(:aes_gcm, key, iv, {aad, plain_text})1114 │ ~1115 │1116 └─ lib/plug/crypto/message_encryptor.ex:57:41: Plug.Crypto.MessageEncryptor.aes128_gcm_encrypt/31117 └─ lib/plug/crypto/message_encryptor.ex:104:41: Plug.Crypto.MessageEncryptor.aes_gcm_key_wrap/31118 └─ lib/plug/crypto/message_encryptor.ex:314:13: Plug.Crypto.MessageEncryptor.encrypt_legacy/41119 └─ lib/plug/crypto/message_encryptor.ex:332:27: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_encrypt/311201121 warning: :crypto.block_decrypt/4 is undefined or private, use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_init + crypto:crypto_update + crypto:crypto_final instead1122 │1123 79 │ :crypto.block_decrypt(:aes_gcm, key, iv, {aad, cipher_text, cipher_tag})1124 │ ~1125 │1126 └─ lib/plug/crypto/message_encryptor.ex:79:21: Plug.Crypto.MessageEncryptor.aes128_gcm_decrypt/31127 └─ lib/plug/crypto/message_encryptor.ex:120:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31128 └─ lib/plug/crypto/message_encryptor.ex:122:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31129 └─ lib/plug/crypto/message_encryptor.ex:124:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31130 └─ lib/plug/crypto/message_encryptor.ex:321:13: Plug.Crypto.MessageEncryptor.decrypt_legacy/41131 └─ lib/plug/crypto/message_encryptor.ex:349:17: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_decrypt/311321133 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1134 │1135 275 │ cipher_tag = Base.url_encode64(:crypto.hmac(:sha, sign_secret, cipher_text))1136 │ ~1137 │1138 └─ lib/plug/crypto/message_encryptor.ex:275:44: Plug.Crypto.MessageEncryptor.encode_legacy_token/31139 └─ lib/plug/crypto/message_encryptor.ex:291:44: Plug.Crypto.MessageEncryptor.decode_legacy_token/211401141 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1142 │1143 78 │ &:crypto.hmac(digest, secret, &1)1144 │ ~1145 │1146 └─ lib/plug/crypto/key_generator.ex:78:14: Plug.Crypto.KeyGenerator.mac_fun/211471148 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1149 │1150 21 │ stack = System.stacktrace1151 │ ~1152 │1153 └─ lib/plug/conn/wrapper_error.ex:21:22: Plug.Conn.WrapperError.reraise/31154 └─ lib/plug/conn/wrapper_error.ex:26:40: Plug.Conn.WrapperError.reraise/311551156 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1157 │1158 21 │ stack = System.stacktrace()1159 │ ~1160 │1161 └─ lib/plug/adapters/cowboy/handler.ex:21:24: Plug.Adapters.Cowboy.Handler.upgrade/41162 └─ lib/plug/adapters/cowboy/handler.ex:26:24: Plug.Adapters.Cowboy.Handler.upgrade/41163 └─ lib/plug/adapters/cowboy/handler.ex:30:24: Plug.Adapters.Cowboy.Handler.upgrade/411641165 warning: a struct for Plug.Conn is expected on struct update:11661167 %Plug.Conn{1168 conn1169 | adapter: {Plug.Adapters.Test.Conn, state},1170 host: uri.host || conn.host || "www.example.com",1171 method: method,1172 owner: owner,1173 path_info: split_path(uri.path),1174 port: uri.port || 80,1175 peer: {{127, 0, 0, 1}, 111_317},1176 remote_ip: {127, 0, 0, 1},1177 req_headers: req_headers,1178 request_path: uri.path,1179 query_string: query,1180 params: params || %Plug.Conn.Unfetched{aspect: :params},1181 scheme: String.to_atom(String.downcase(uri.scheme || "http"))1182 }11831184 but got type:11851186 dynamic(%{..., req_headers: term()})11871188 where "conn" was given the type:11891190 # type: dynamic(%{..., req_headers: term()})1191 # from: lib/plug/adapters/test/conn.ex:15:351192 body_or_params(body_or_params, query, conn.req_headers)11931194 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11951196 type warning found at:1197 │1198 19 │ %Plug.Conn{conn |1199 │ ~1200 │1201 └─ lib/plug/adapters/test/conn.ex:19:5: Plug.Adapters.Test.Conn.conn/412021203 warning: Atom.to_char_list/1 is deprecated. Use Atom.to_charlist/1 instead1204 │1205 186 │ case Atom.to_char_list(plug) do1206 │ ~1207 │1208 └─ lib/plug/builder.ex:186:15: Plug.Builder.init_plug/112091210 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1211 │1212 43 │ Enum.partition(cowboy_options, &is_tuple(&1) and tuple_size(&1) == 2)1213 │ ~1214 │1215 └─ lib/plug/adapters/cowboy.ex:43:12: Plug.Adapters.Cowboy.args/412161217Generated plug app1218warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1219 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21220 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11221 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51222 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21223 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41224 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212251226==> phoenix1227Compiling 75 files (.ex)1228 warning: the variable "prefix" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1229 │1230 170 │ <<attr::size(prefix)-binary, ":unique">> -> attr1231 │ ~1232 │1233 └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/112341235 warning: using single-quoted strings to represent charlists is deprecated.1236 Use ~c"" if you indeed want a charlist or use "" instead.1237 You may run "mix format --migrate" to change all single-quoted1238 strings to use the ~c sigil and fix this warning.1239 │1240 310 │ :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',1241 │ ~1242 │1243 └─ lib/phoenix/channel/server.ex:310:3112441245 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1246 │1247 39 │ Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>1248 │ ~1249 │1250 └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/312511252 warning: unused require Logger1253 │1254 20 │ require Logger1255 │ ~1256 │1257 └─ lib/phoenix/endpoint/handler.ex:20:312581259 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1260 │1261 39 │ Logger.warn """1262 │ ~1263 │1264 └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/112651266 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 operator1267 │1268 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1269 │ ~1270 │1271 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/212721273 warning: using single-quoted strings to represent charlists is deprecated.1274 Use ~c"" if you indeed want a charlist or use "" instead.1275 You may run "mix format --migrate" to change all single-quoted1276 strings to use the ~c sigil and fix this warning.1277 │1278 315 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1279 │ ~1280 │1281 └─ lib/phoenix/router.ex:315:5012821283 warning: using single-quoted strings to represent charlists is deprecated.1284 Use ~c"" if you indeed want a charlist or use "" instead.1285 You may run "mix format --migrate" to change all single-quoted1286 strings to use the ~c sigil and fix this warning.1287 │1288 195 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1289 │ ~1290 │1291 └─ lib/phoenix/router/helpers.ex:195:5012921293 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12941295 This error happens when you have function calls without parentheses inside keywords. For example:12961297 function(arg, one: nested_call a, b, c)1298 function(arg, one: if expr, do: :this, else: :that)12991300 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:13011302 function(arg, one: if(expr, do: :this, else: :that))1303 function(arg, one: nested_call(a, b, c))13041305 Ambiguity found at:1306 │1307 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """1308 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1309 │1310 └─ lib/phoenix/router/resource.ex:7113111312 warning: duplicate key :route found in struct1313 │1314 24 │ defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]1315 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1316 │1317 └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)13181319 warning: invalid type annotation. The left side of :: must be a variable, got: {:ok, pid()} | {:error, reason :: term()}. Note "left | right :: ann" is the same as "(left | right) :: ann". To solve this, use parentheses around the union operands: "left | (right :: ann)"1320 │1321 110 │ @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore1322 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1323 │1324 └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)13251326 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1327 │1328 885 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1329 │ ~1330 │1331 └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/113321333 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1334 │1335 304 │ Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end1336 │ ~1337 │1338 └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/213391340 warning: using single-quoted strings to represent charlists is deprecated.1341 Use ~c"" if you indeed want a charlist or use "" instead.1342 You may run "mix format --migrate" to change all single-quoted1343 strings to use the ~c sigil and fix this warning.1344 │1345 174 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1346 │ ~1347 │1348 └─ lib/phoenix/template.ex:174:5013491350 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1351 │1352 227 │ Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>1353 │ ~1354 │1355 └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/213561357 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1358 │1359 12 │ worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)1360 │ ~1361 │1362 └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/113631364 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1365 │1366 14 │ supervise(children, strategy: :simple_one_for_one)1367 │ ~1368 │1369 └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/113701371 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1372 │1373 647 │ exception -> {:error, {exception, System.stacktrace()}}1374 │ ~1375 │1376 └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/113771378 warning: expected a module (an atom) when invoking config/1 in expression:13791380 endpoint.config(:endpoint_id)13811382 where "endpoint" was given the type:13831384 # type: dynamic(%{..., __pubsub_server__: atom()})1385 # from: lib/phoenix/transports/long_poll.ex:199:101386 verify_token(endpoint, token, opts)13871388 type warning found at:1389 │1390 201 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)1391 │ ~1392 │1393 └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/313941395 warning: unknown key .__pubsub_server__ in expression:13961397 endpoint.__pubsub_server__13981399 the given type does not have the given key:14001401 dynamic(1402 %Phoenix.Socket{1403 id: term(),1404 assigns: term(),1405 channel: term(),1406 channel_pid: term(),1407 endpoint: atom(),1408 handler: term(),1409 joined: term(),1410 pubsub_server: term(),1411 ref: term(),1412 join_ref: term(),1413 topic: term(),1414 transport: term(),1415 transport_pid: term(),1416 transport_name: term(),1417 serializer: term(),1418 private: term(),1419 vsn: term()1420 } or1421 %Plug.Conn{1422 adapter: term(),1423 assigns: term(),1424 before_send: term(),1425 body_params: term(),1426 cookies: term(),1427 halted: term(),1428 host: term(),1429 method: term(),1430 owner: term(),1431 params: term(),1432 path_params: term(),1433 path_info: term(),1434 port: term(),1435 private: term(),1436 query_params: term(),1437 query_string: term(),1438 peer: term(),1439 remote_ip: term(),1440 req_cookies: term(),1441 req_headers: term(),1442 request_path: term(),1443 resp_body: term(),1444 resp_cookies: term(),1445 resp_headers: term(),1446 scheme: term(),1447 script_name: term(),1448 secret_key_base: term(),1449 state: term(),1450 status: term()1451 } or atom() or binary()1452 )14531454 where "endpoint" was given the type:14551456 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())1457 # from: lib/phoenix/transports/long_poll.ex:254:191458 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])14591460 type warning found at:1461 │1462 254 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])1463 │ ~~~~~~~~~~~~~~~~~1464 │1465 └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/314661467 warning: a struct for Plug.Conn is expected on struct update:14681469 %Plug.Conn{conn | state: :sent}14701471 but got type:14721473 dynamic()14741475 where "conn" was given the type:14761477 # type: dynamic()1478 # from: lib/phoenix/endpoint/render_errors.ex:79:211479 conn14801481 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14821483 type warning found at:1484 │1485 83 │ %Plug.Conn{conn | state: :sent}1486 │ ~1487 │1488 └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/514891490 warning: a struct for Phoenix.Socket is expected on struct update:14911492 %Phoenix.Socket{socket | id: id}14931494 but got type:14951496 dynamic()14971498 where "socket" was given the type:14991500 # type: dynamic()1501 # from: lib/phoenix/socket/transport.ex1502 {:ok, socket}15031504 when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"15051506 type warning found at:1507 │1508 195 │ id when is_binary(id) -> {:ok, %Socket{socket | id: id}}1509 │ ~1510 │1511 └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/715121513 warning: a struct for Plug.Conn is expected on struct update:15141515 %Plug.Conn{conn | query_params: %{}, params: %{}}15161517 but got type:15181519 dynamic(%{..., params: %Plug.Conn.Unfetched{}})15201521 where "conn" was given the types:15221523 # type: dynamic(%{..., params: term()})1524 # from: lib/phoenix/endpoint/render_errors.ex:94:171525 conn.params15261527 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1528 # from: lib/phoenix/endpoint/render_errors.ex:94:171529 conn.params15301531 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15321533 type warning found at:1534 │1535 95 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1536 │ ~1537 │1538 └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115391540 warning: a struct for Plug.Conn is expected on struct update:15411542 %Plug.Conn{conn | query_params: %{}, params: params}15431544 but got type:15451546 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})15471548 where "conn" was given the types:15491550 # type: dynamic(%{..., params: term()})1551 # from: lib/phoenix/endpoint/render_errors.ex:94:171552 conn.params15531554 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1555 # from: lib/phoenix/endpoint/render_errors.ex:94:171556 conn.params15571558 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15591560 type warning found at:1561 │1562 96 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1563 │ ~1564 │1565 └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115661567 warning: a struct for Plug.Conn is expected on struct update:15681569 %Plug.Conn{conn | params: params}15701571 but got type:15721573 dynamic(%{..., params: map()})15741575 where "conn" was given the type:15761577 # type: dynamic(%{..., params: map()})1578 # from: lib/phoenix/controller.ex:912:171579 Map.get(conn.params, required_key)15801581 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15821583 type warning found at:1584 │1585 919 │ %Plug.Conn{conn | params: params}1586 │ ~1587 │1588 └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/215891590 warning: expected a map or struct when accessing .url in expression:15911592 endpoint.url15931594 where "endpoint" was given the types:15951596 # type: dynamic(atom())1597 # from: lib/phoenix/router/helpers.ex:24:201598 endpoint15991600 # type: atom()1601 # from: lib/phoenix/router/helpers.ex:24:351602 is_atom(endpoint)16031604 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()16051606 type warning found at:1607 │1608 25 │ endpoint.url1609 │ ~1610 │1611 └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/216121613 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1614 │1615 198 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),1616 │ ~1617 │1618 └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/416191620 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1621 │1622 199 │ worker(Phoenix.Tracker, [module, opts, opts])1623 │ ~1624 │1625 └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/416261627 warning: a struct for Plug.Conn is expected on struct update:16281629 %Plug.Conn{conn | path_info: path, script_name: script}16301631 but got type:16321633 dynamic()16341635 where "conn" was given the type:16361637 # type: dynamic()1638 # from: lib/phoenix/router/route.ex:147:101639 conn = target.call(%Plug.Conn{...}, opts)16401641 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16421643 type warning found at:1644 │1645 148 │ %Plug.Conn{conn | path_info: path, script_name: script}1646 │ ~1647 │1648 └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/416491650 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1651 │1652 284 │ Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())1653 │ ~1654 │1655 └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/116561657 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1658 │1659 71 │ supervise(children, strategy: :one_for_one)1660 │ ~1661 │1662 └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/116631664 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1665 │1666 76 │ [worker(Phoenix.Config, args)]1667 │ ~1668 │1669 └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/316701671 warning: incompatible types given to Plug.Adapters.Cowboy.child_spec/4:16721673 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)16741675 given types:16761677 (1678 dynamic(:http or :https),1679 -dynamic(%{..., __sockets__: term()})-,1680 empty_list(),1681 dynamic(empty_list() or non_empty_list(term(), term()))1682 )16831684 but expected one of:16851686 :http or :https, atom() or binary(), term(), term()16871688 where "config" was given the type:16891690 # type: dynamic(empty_list() or non_empty_list(term(), term()))1691 # from: lib/phoenix/endpoint/cowboy_handler.ex:78:121692 config = Keyword.put_new(config, :dispatch, _: dispatches)16931694 where "endpoint" was given the type:16951696 # type: dynamic(%{..., __sockets__: term()})1697 # from: lib/phoenix/endpoint/cowboy_handler.ex:66:261698 {path, socket} <- endpoint.__sockets__16991700 where "scheme" was given the types:17011702 # type: dynamic()1703 # from: lib/phoenix/endpoint/cowboy_handler.ex:60:181704 scheme17051706 # type: dynamic(:http or :https)1707 # from: lib/phoenix/endpoint/cowboy_handler.ex:81:281708 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)17091710 type warning found at:1711 │1712 81 │ Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)1713 │ ~1714 │1715 └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/317161717 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1718 │1719 23 │ {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}1720 │ ~1721 │1722 └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/317231724 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1725 │1726 84 │ [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]1727 │ ~1728 │1729 └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/21730 └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/31731 └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/317321733 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1734 │1735 35 │ supervise(children, strategy: :one_for_one)1736 │ ~1737 │1738 └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/117391740 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1741 │1742 106 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),1743 │ ~1744 │1745 └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/317461747 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1748 │1749 39 │ {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)1750 │ ~1751 │1752 └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/317531754 warning: expected a module (an atom) when invoking path/1 in expression:17551756 endpoint.path("/")17571758 where "endpoint" was given the type:17591760 # type: dynamic(%{..., host: term()})1761 # from: lib/phoenix/endpoint/supervisor.ex:312:141762 endpoint.host17631764 type warning found at:1765 │1766 313 │ endpoint.path("/")1767 │ ~1768 │1769 └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/117701771 warning: comparison between distinct types found:17721773 !Path.extname(file_path) == ".gz"17741775 given types:17761777 dynamic(boolean()) == binary()17781779 where "file_path" was given the type:17801781 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))1782 # from: lib/phoenix/digester.ex:147:451783 Path.basename(file_path)17841785 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 false17861787 type warning found at:1788 │1789 148 │ !Path.extname(file_path) == ".gz"1790 │ ~1791 │1792 └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/117931794 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1795 │1796 51 │ worker(Phoenix.CodeReloader.Server, [])1797 │ ~1798 │1799 └─ lib/phoenix.ex:51:7: Phoenix.start/218001801 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1802 │1803 61 │ IO.puts Exception.format(kind, reason, System.stacktrace)1804 │ ~1805 │1806 └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/318071808 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1809 │1810 155 │ Enum.partition attrs, fn1811 │ ~1812 │1813 └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/118141815 warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:18161817 mod.__phoenix_recompile__?18181819 where "mod" was given the type:18201821 # type: dynamic(atom())1822 # from: lib/mix/tasks/compile.phoenix.ex:34:121823 Code.ensure_loaded?(mod)18241825 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()18261827 type warning found at:1828 │1829 36 │ mod.__phoenix_recompile__?1830 │ ~1831 │1832 └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/118331834 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1835 │1836 234 │ Enum.partition(attrs, fn1837 │ ~1838 │1839 └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/218401841Generated phoenix app1842==> phoenix_html1843Compiling 8 files (.ex)1844 warning: using single-quoted strings to represent charlists is deprecated.1845 Use ~c"" if you indeed want a charlist or use "" instead.1846 You may run "mix format --migrate" to change all single-quoted1847 strings to use the ~c sigil and fix this warning.1848 │1849 7 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1850 │ ~1851 │1852 └─ lib/phoenix_html/engine.ex:7:5018531854 warning: use EEx.Engine is deprecated. Use explicit delegation to EEx.Engine instead1855 │1856 13 │ use EEx.Engine1857 │ ~~~~~~~~~~~~~~1858 │1859 └─ lib/phoenix_html/engine.ex:13: Phoenix.HTML.Engine (module)18601861 warning: this clause for handle_text/2 cannot match because a previous clause at line 13 always matches1862 │1863 28 │ def handle_text("", text) do # Required for Elixir < v1.5.11864 │ ~1865 │1866 └─ lib/phoenix_html/engine.ex:28:718671868 warning: this clause for handle_text/2 cannot match because a previous clause at line 13 always matches1869 │1870 32 │ def handle_text({:safe, buffer}, text) do1871 │ ~1872 │1873 └─ lib/phoenix_html/engine.ex:32:718741875 warning: single quotes around keywords are deprecated. Use double quotes instead1876 │1877 264 │ 'csrf-param': @csrf_param, 'method-param': @method_param1878 │ ~1879 │1880 └─ lib/phoenix_html/tag.ex:264:1618811882 warning: single quotes around keywords are deprecated. Use double quotes instead1883 │1884 264 │ 'csrf-param': @csrf_param, 'method-param': @method_param1885 │ ~1886 │1887 └─ lib/phoenix_html/tag.ex:264:4318881889 warning: the 1st pattern in clause will never match:18901891 6018921893 because it is expected to receive type:18941895 dynamic(empty_list() or non_empty_list(term(), term()))18961897 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())18981899 type warning found at:1900 │1901 56 │ def to_iodata(?<), do: "<"1902 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1903 │1904 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/119051906 warning: the 1st pattern in clause will never match:19071908 6219091910 because it is expected to receive type:19111912 dynamic(empty_list() or non_empty_list(term(), term()))19131914 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19151916 type warning found at:1917 │1918 57 │ def to_iodata(?>), do: ">"1919 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1920 │1921 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/119221923 warning: the 1st pattern in clause will never match:19241925 3819261927 because it is expected to receive type:19281929 dynamic(empty_list() or non_empty_list(term(), term()))19301931 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19321933 type warning found at:1934 │1935 58 │ def to_iodata(?&), do: "&"1936 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1937 │1938 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/119391940 warning: the 1st pattern in clause will never match:19411942 3419431944 because it is expected to receive type:19451946 dynamic(empty_list() or non_empty_list(term(), term()))19471948 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19491950 type warning found at:1951 │1952 59 │ def to_iodata(?"), do: """1953 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1954 │1955 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/119561957 warning: the 1st pattern in clause will never match:19581959 3919601961 because it is expected to receive type:19621963 dynamic(empty_list() or non_empty_list(term(), term()))19641965 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19661967 type warning found at:1968 │1969 60 │ def to_iodata(?'), do: "'"1970 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1971 │1972 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/119731974 warning: the 1st pattern in clause will never match:19751976 {:safe, data}19771978 because it is expected to receive type:19791980 dynamic(empty_list() or non_empty_list(term(), term()))19811982 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19831984 type warning found at:1985 │1986 75 │ def to_iodata({:safe, data}) do1987 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1988 │1989 └─ lib/phoenix_html/safe.ex:75: Phoenix.HTML.Safe.List.to_iodata/119901991 warning: the right-hand side of || will never be executed:19921993 selected(form, field, opts) || ...19941995 because the left-hand side always evaluates to:19961997 dynamic({term(), term()})19981999 where "field" was given the type:20002001 # type: dynamic()2002 # from: lib/phoenix_html/form.ex:830:202003 field20042005 where "form" was given the type:20062007 # type: dynamic()2008 # from: lib/phoenix_html/form.ex:830:142009 form20102011 where "opts" was given the types:20122013 # type: dynamic()2014 # from: lib/phoenix_html/form.ex:830:362015 opts20162017 # type: dynamic(empty_list() or non_empty_list(term(), term()))2018 # from: lib/phoenix_html/form.ex:831:242019 selected(form, field, opts)20202021 type warning found at:2022 │2023 831 │ {selected, opts} = selected(form, field, opts) || []2024 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2025 │2026 └─ lib/phoenix_html/form.ex:831: Phoenix.HTML.Form.select/420272028 warning: the following clause is redundant:20292030 def to_iodata(other)20312032 it has type:20332034 dynamic(empty_list() or non_empty_list(term(), term()))20352036 previous clauses have already matched on the following types:20372038 non_empty_list(term(), term())2039 empty_list()20402041 │2042 79 │ def to_iodata(other) do2043 │ ~2044 │2045 └─ lib/phoenix_html/safe.ex:79:7: Phoenix.HTML.Safe.List.to_iodata/120462047 warning: the 1st pattern in clause will never match:20482049 h20502051 because it is expected to receive type:20522053 dynamic(empty_list() or non_empty_list(term(), term()))20542055 where "h" was given the type:20562057 # type: integer()2058 # from: lib/phoenix_html/safe.ex:62:252059 is_integer(h)20602061 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20622063 type warning found at:2064 │2065 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do2066 │ ~2067 │2068 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/120692070 warning: the 1st pattern in clause will never match:20712072 h20732074 because it is expected to receive type:20752076 dynamic(empty_list() or non_empty_list(term(), term()))20772078 where "h" was given the type:20792080 # type: integer()2081 # from: lib/phoenix_html/safe.ex:65:252082 is_integer(h)20832084 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20852086 type warning found at:2087 │2088 65 │ def to_iodata(h) when is_integer(h) do2089 │ ~2090 │2091 └─ lib/phoenix_html/safe.ex:65:17: Phoenix.HTML.Safe.List.to_iodata/120922093 warning: the 1st pattern in clause will never match:20942095 h20962097 because it is expected to receive type:20982099 dynamic(empty_list() or non_empty_list(term(), term()))21002101 where "h" was given the type:21022103 # type: binary()2104 # from: lib/phoenix_html/safe.ex:71:252105 is_binary(h)21062107 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21082109 type warning found at:2110 │2111 71 │ def to_iodata(h) when is_binary(h) do2112 │ ~2113 │2114 └─ lib/phoenix_html/safe.ex:71:17: Phoenix.HTML.Safe.List.to_iodata/121152116 warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)2117 │2118 1 │ defmodule Phoenix.HTML.Engine do2119 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2120 │2121 └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)21222123 warning: the following clause is redundant:21242125 def handle_text("", text)21262127 it has type:21282129 binary(), dynamic()21302131 previous clauses have already matched on the following types:21322133 term(), term()21342135 │2136 28 │ def handle_text("", text) do # Required for Elixir < v1.5.12137 │ ~2138 │2139 └─ lib/phoenix_html/engine.ex:28:7: Phoenix.HTML.Engine.handle_text/221402141 warning: the following clause is redundant:21422143 def handle_text({:safe, buffer}, text)21442145 it has type:21462147 dynamic({:safe, term()}), dynamic()21482149 previous clauses have already matched on the following types:21502151 term(), term()21522153 │2154 32 │ def handle_text({:safe, buffer}, text) do2155 │ ~2156 │2157 └─ lib/phoenix_html/engine.ex:32:7: Phoenix.HTML.Engine.handle_text/221582159Generated phoenix_html app2160==> tracy2161Compiling 8 files (.ex)2162 warning: invalid type annotation. The left side of :: must be a variable, got: fun()2163 │2164 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2165 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2166 │2167 └─ lib/tracy.ex:23: Tracy (module)21682169 warning: invalid type annotation. Type annotations cannot be nested: metadata :: fun() :: map() | nil2170 │2171 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2172 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2173 │2174 └─ lib/tracy.ex:23: Tracy (module)21752176 warning: invalid type annotation. The left side of :: must be a variable, got: fun()2177 │2178 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2179 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2180 │2181 └─ lib/tracy.ex:23: Tracy (module)21822183 warning: unused require Logger2184 │2185 3 │ require Logger2186 │ ~2187 │2188 └─ lib/tracy/plug.ex:3:321892190 warning: unused require Logger2191 │2192 3 │ require Logger2193 │ ~2194 │2195 └─ lib/tracy/util.ex:3:321962197 warning: a struct for Tracy.Tracer.State is expected on struct update:21982199 %Tracy.Tracer.State{state | count: state.count + 1}22002201 but got type:22022203 dynamic(%{..., pid: term()})22042205 where "state" was given the type:22062207 # type: dynamic(%{..., pid: term()})2208 # from: lib/tracy/tracer.ex:47:552209 state = %{pid: pid}22102211 when defining the variable "state", you must also pattern match on "%Tracy.Tracer.State{}"22122213 type warning found at:2214 │2215 48 │ state = %State{state | count: state.count + 1}2216 │ ~2217 │2218 └─ lib/tracy/tracer.ex:48:13: Tracy.Tracer.handle_info/222192220 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead2221 │2222 10 │ worker(Tracy.Tracer, [], restart: :transient)2223 │ ~2224 │2225 └─ lib/tracy/trace_supervisor.ex:10:7: Tracy.TraceSupervisor.init/122262227 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2228 │2229 12 │ supervise(children, strategy: :simple_one_for_one)2230 │ ~2231 │2232 └─ lib/tracy/trace_supervisor.ex:12:5: Tracy.TraceSupervisor.init/122332234 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2235 │2236 8 │ supervisor(Tracy.TraceSupervisor, [])2237 │ ~2238 │2239 └─ lib/tracy/application.ex:8:7: Tracy.Application.start/222402241 warning: the following clause will never match:22422243 nil ->22442245 because it attempts to match on the result of:22462247 Plug.Conn.get_req_header(conn, "x-tracy-definition")22482249 which has type:22502251 dynamic(list(term()))22522253 type warning found at:2254 │2255 13 │ nil ->2256 │ ~~~~~~2257 │2258 └─ lib/tracy/plug.ex:13: Tracy.Plug.call/222592260Generated tracy app2261warning: the :gettext compiler is no longer required in your mix.exs.22622263Please find the following line in your mix.exs and remove the :gettext entry:22642265 compilers: [..., :gettext, ...] ++ Mix.compilers(),22662267 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/12268 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52269 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22270 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42271 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/22272 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/522732274==> tracy_web2275Compiling 23 files (.ex)2276 warning: unused require Logger2277 │2278 3 │ require Logger2279 │ ~2280 │2281 └─ lib/tracy_web/upstream.ex:3:322822283warning: defining a Gettext backend by calling22842285 use Gettext, otp_app: ...22862287is deprecated. To define a backend, call:22882289 use Gettext.Backend, otp_app: :my_app22902291Then, instead of importing your backend, call this in your module:22922293 use Gettext, backend: MyApp.Gettext22942295 lib/tracy_web/web/gettext.ex:23: TracyWeb.Web.Gettext (module)22962297warning: no configuration found for otp_app :tracy_web and module TracyWeb.Web.Endpoint2298warning: Phoenix.HTML.Engine.handle_text/2 is deprecated, implement handle_text/3 instead2299 (eex 1.20.3) lib/eex/compiler.ex:315: EEx.Compiler.compile/32300 (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/22301 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/22302 (phoenix 1.3.5) lib/phoenix/template.ex:185: Phoenix.Template."MACRO-__before_compile__"/22303 (elixir 1.20.3) src/elixir_dispatch.erl:263: :elixir_dispatch.expand_macro_fun/72304 (elixir 1.20.3) src/elixir_dispatch.erl:155: :elixir_dispatch.dispatch_require/7230523062307== Compilation error in file lib/tracy_web/web/views/page_view.ex ==2308** (RuntimeError) unexpected EEx.Engine state: {:safe, ""}. This typically means a bug or an outdated EEx.Engine or tool2309 (eex 1.20.3) lib/eex/engine.ex:226: EEx.Engine.check_state!/12310 (eex 1.20.3) lib/eex/engine.ex:189: EEx.Engine.handle_text/32311 (eex 1.20.3) lib/eex/compiler.ex:338: EEx.Compiler.generate_buffer/42312 (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/22313 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/22314 (phoenix 1.3.5) expanding macro: Phoenix.Template.__before_compile__/12315 lib/tracy_web/web/views/page_view.ex:1: TracyWeb.Web.PageView (module)2316could not compile dependency :tracy_web, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile tracy_web --force", update it with "mix deps.update tracy_web" or clean it with "mix deps.clean tracy_web"