Build log
nerves_system_rpi4
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.114s3Unchanged: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_rpi4/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_ssl.erl:339 │340 128 │ case ssl:ssl_accept(CSocket, Timeout) of341 │ ╰── Warning: ssl:ssl_accept/2 is removed; use ssl:handshake/1,2,3 instead342343 ┌─ src/ranch_ssl.erl:344 │345 233 │ end, ssl:cipher_suites());346 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead347348 ┌─ src/ranch_ssl.erl:349 │350 235 │ ssl:cipher_suites()351 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead352353354 ┌─ src/ranch_conns_sup.erl:355 │356 80 │ catch erlang:send(SupPid, {?MODULE, active_connections, self(), Tag},357 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.358Compile directive 'nowarn_deprecated_catch' can be used to suppress359warnings in selected modules.360361362==> 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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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_rpi4539Generated nerves_system_rpi4 app540==> nerves_compatibility_test541===> Analyzing applications...542===> Compiling cowboy543 ┌─ src/cowboy_handler.erl:544 │545 87 │ 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_handler.erl:549 │550 116 │ 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_handler.erl:554 │555 235 │ Stacktrace = erlang:get_stacktrace(),556 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace557558 ┌─ src/cowboy_handler.erl:559 │560 290 │ {stacktrace, erlang:get_stacktrace()},561 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace562563564 ┌─ src/cowboy_rest.erl:565 │566 69 │ 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_rest.erl:570 │571 1006 │ Stacktrace = erlang:get_stacktrace(),572 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace573574575 ┌─ src/cowboy_websocket.erl:576 │577 147 │ Stacktrace = erlang:get_stacktrace(),578 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace579580 ┌─ src/cowboy_websocket.erl:581 │582 645 │ {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_websocket.erl:586 │587 755 │ {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.State is expected on struct update:655656 %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}657658 but got type:659660 dynamic()661662 where "delta" was given the type:663664 # type: dynamic()665 # from: lib/phoenix/tracker/state.ex:461:36666 %Phoenix.Tracker.State{delta: delta} = state667668 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"669670 type warning found at:671 │672 465 │ new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}673 │ ~674 │675 └─ lib/phoenix/tracker/state.ex:465:17: Phoenix.Tracker.State.do_add/5676677 warning: a struct for Phoenix.Tracker.State is expected on struct update:678679 %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}680681 but got type:682683 dynamic()684685 where "delta" was given the type:686687 # type: dynamic()688 # from: lib/phoenix/tracker/state.ex:541:99689 %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =690 state691692 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"693694 type warning found at:695 │696 547 │ delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}697 │ ~698 │699 └─ lib/phoenix/tracker/state.ex:547:19: Phoenix.Tracker.State.bump_clock/1700701 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:702703 %Phoenix.Tracker.Replica{replica | status: :permdown}704705 but got type:706707 dynamic()708709 where "replica" was given the type:710711 # type: dynamic()712 # from: lib/phoenix/tracker/replica.ex:72:17713 replica714715 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"716717 type warning found at:718 │719 72 │ defp permdown(replica), do: %Replica{replica | status: :permdown}720 │ ~721 │722 └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1723724 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:725726 %Phoenix.Tracker.Replica{replica | status: :down}727728 but got type:729730 dynamic()731732 where "replica" was given the type:733734 # type: dynamic()735 # from: lib/phoenix/tracker/replica.ex:74:13736 replica737738 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"739740 type warning found at:741 │742 74 │ defp down(replica), do: %Replica{replica | status: :down}743 │ ~744 │745 └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/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: a struct for Phoenix.Tracker.State is expected on struct update:771772 %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}773774 but got type:775776 dynamic(%{..., range: {term(), term()}})777778 where "delta" was given the type:779780 # type: dynamic(%{..., range: {term(), term()}})781 # from: lib/phoenix/tracker/state.ex:551:30782 {start_clock, end_clock} = delta.range783784 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"785786 type warning found at:787 │788 555 │ delta: %State{delta | range: {start_clock, new_end}}}789 │ ~790 │791 └─ lib/phoenix/tracker/state.ex:555:19: Phoenix.Tracker.State.put_context/2792793 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead794 │795 269 │ worker(Phoenix.Tracker.Shard, [tracker, tracker_opts, shard_opts],796 │ ~797 │798 └─ lib/phoenix/tracker.ex:269:9: Phoenix.Tracker.init/1799800 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead801 │802 273 │ supervise(shards, strategy: :one_for_one,803 │ ~804 │805 └─ lib/phoenix/tracker.ex:273:5: Phoenix.Tracker.init/1806807 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead808 │809 7 │ [supervisor(Phoenix.PubSub.PG2, pubsub)]810 │ ~811 │812 └─ lib/phoenix/pubsub/supervisor.ex:7:8: Phoenix.PubSub.Supervisor.start/2813814 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: :pg2.create/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead822 │823 43 │ :ok = :pg2.create(pg2_group)824 │ ~825 │826 └─ lib/phoenix/pubsub/pg2_server.ex:43:16: Phoenix.PubSub.PG2Server.init/1827828 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead829 │830 94 │ worker(Phoenix.PubSub.PG2Server, [server, pool_size])831 │ ~832 │833 └─ lib/phoenix/pubsub/pg2.ex:94:7: Phoenix.PubSub.PG2.init/1834835 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead836 │837 97 │ supervise(children, strategy: :rest_for_one)838 │ ~839 │840 └─ lib/phoenix/pubsub/pg2.ex:97:5: Phoenix.PubSub.PG2.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: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead850 │851 35 │ worker(Phoenix.PubSub.GC, [gc_shard_name, local_shard_name]),852 │ ~853 │854 └─ lib/phoenix/pubsub/local_supervisor.ex:35:9: Phoenix.PubSub.LocalSupervisor.init/1855 └─ lib/phoenix/pubsub/local_supervisor.ex:36:9: Phoenix.PubSub.LocalSupervisor.init/1856857 warning: :pg2.get_members/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead858 │859 57 │ :pg2.get_members(pg2_namespace(server_name))860 │ ~861 │862 └─ lib/phoenix/pubsub/pg2_server.ex:57:10: Phoenix.PubSub.PG2Server.get_members/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: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1067 │1068 210 │ if Code.ensure_compiled?(module) and function_exported?(module, :init, 1) do1069 │ ~1070 │1071 └─ lib/plug/parsers.ex:210:15: Plug.Parsers.convert_parsers/210721073 warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead1074 │1075 28 │ MIME.valid?(type)1076 │ ~1077 │1078 └─ lib/plug/mime.ex:28:10: Plug.MIME.valid?/110791080 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1081 │1082 82 │ __catch__(conn, kind, reason, reason, System.stacktrace, handle_errors)1083 │ ~1084 │1085 └─ lib/plug/error_handler.ex:82:50: Plug.ErrorHandler.__catch__/410861087 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1088 │1089 139 │ __catch__(conn, kind, reason, System.stacktrace, opts)1090 │ ~1091 │1092 └─ lib/plug/debugger.ex:139:42: Plug.Debugger.__catch__/410931094 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1095 │1096 41 │ signature = :crypto.hmac(:sha, key, plain_text)1097 │ ~1098 │1099 └─ lib/plug/crypto/message_verifier.ex:41:26: Plug.Crypto.MessageVerifier.hmac_sha1_sign/21100 └─ lib/plug/crypto/message_verifier.ex:49:29: Plug.Crypto.MessageVerifier.hmac_sha1_verify/21101 └─ lib/plug/crypto/message_verifier.ex:71:26: Plug.Crypto.MessageVerifier.hmac_sha2_sign/31102 └─ lib/plug/crypto/message_verifier.ex:80:29: Plug.Crypto.MessageVerifier.hmac_sha2_verify/211031104 warning: String.rstrip/1 is deprecated. Use String.trim_trailing/1 instead1105 │1106 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>1107 │ ~1108 │1109 └─ lib/plug/templates/debugger.html.eex:635:206: Plug.Debugger.template_html/111101111 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.hmac/3 is undefined or private, use crypto:mac/4 instead1122 │1123 78 │ &:crypto.hmac(digest, secret, &1)1124 │ ~1125 │1126 └─ lib/plug/crypto/key_generator.ex:78:14: Plug.Crypto.KeyGenerator.mac_fun/211271128 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 instead1129 │1130 79 │ :crypto.block_decrypt(:aes_gcm, key, iv, {aad, cipher_text, cipher_tag})1131 │ ~1132 │1133 └─ lib/plug/crypto/message_encryptor.ex:79:21: Plug.Crypto.MessageEncryptor.aes128_gcm_decrypt/31134 └─ lib/plug/crypto/message_encryptor.ex:120:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31135 └─ lib/plug/crypto/message_encryptor.ex:122:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31136 └─ lib/plug/crypto/message_encryptor.ex:124:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31137 └─ lib/plug/crypto/message_encryptor.ex:321:13: Plug.Crypto.MessageEncryptor.decrypt_legacy/41138 └─ lib/plug/crypto/message_encryptor.ex:349:17: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_decrypt/311391140 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1141 │1142 21 │ stack = System.stacktrace1143 │ ~1144 │1145 └─ lib/plug/conn/wrapper_error.ex:21:22: Plug.Conn.WrapperError.reraise/31146 └─ lib/plug/conn/wrapper_error.ex:26:40: Plug.Conn.WrapperError.reraise/311471148 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1149 │1150 21 │ stack = System.stacktrace()1151 │ ~1152 │1153 └─ lib/plug/adapters/cowboy/handler.ex:21:24: Plug.Adapters.Cowboy.Handler.upgrade/41154 └─ lib/plug/adapters/cowboy/handler.ex:26:24: Plug.Adapters.Cowboy.Handler.upgrade/41155 └─ lib/plug/adapters/cowboy/handler.ex:30:24: Plug.Adapters.Cowboy.Handler.upgrade/411561157 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1158 │1159 275 │ cipher_tag = Base.url_encode64(:crypto.hmac(:sha, sign_secret, cipher_text))1160 │ ~1161 │1162 └─ lib/plug/crypto/message_encryptor.ex:275:44: Plug.Crypto.MessageEncryptor.encode_legacy_token/31163 └─ lib/plug/crypto/message_encryptor.ex:291:44: Plug.Crypto.MessageEncryptor.decode_legacy_token/211641165 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: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1320 │1321 885 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1322 │ ~1323 │1324 └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/113251326 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)"1327 │1328 110 │ @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore1329 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1330 │1331 └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)13321333 warning: using single-quoted strings to represent charlists is deprecated.1334 Use ~c"" if you indeed want a charlist or use "" instead.1335 You may run "mix format --migrate" to change all single-quoted1336 strings to use the ~c sigil and fix this warning.1337 │1338 174 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1339 │ ~1340 │1341 └─ lib/phoenix/template.ex:174:5013421343 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1344 │1345 304 │ Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end1346 │ ~1347 │1348 └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/213491350 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: expected a module (an atom) when invoking config/1 in expression:13721373 endpoint.config(:endpoint_id)13741375 where "endpoint" was given the type:13761377 # type: dynamic(%{..., __pubsub_server__: atom()})1378 # from: lib/phoenix/transports/long_poll.ex:199:101379 verify_token(endpoint, token, opts)13801381 type warning found at:1382 │1383 201 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)1384 │ ~1385 │1386 └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/313871388 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1389 │1390 647 │ exception -> {:error, {exception, System.stacktrace()}}1391 │ ~1392 │1393 └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/113941395 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 Phoenix.Socket is expected on struct update:14681469 %Phoenix.Socket{socket | id: id}14701471 but got type:14721473 dynamic()14741475 where "socket" was given the type:14761477 # type: dynamic()1478 # from: lib/phoenix/socket/transport.ex1479 {:ok, socket}14801481 when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"14821483 type warning found at:1484 │1485 195 │ id when is_binary(id) -> {:ok, %Socket{socket | id: id}}1486 │ ~1487 │1488 └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/714891490 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1491 │1492 198 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),1493 │ ~1494 │1495 └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/414961497 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1498 │1499 199 │ worker(Phoenix.Tracker, [module, opts, opts])1500 │ ~1501 │1502 └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/415031504 warning: a struct for Plug.Conn is expected on struct update:15051506 %Plug.Conn{conn | state: :sent}15071508 but got type:15091510 dynamic()15111512 where "conn" was given the type:15131514 # type: dynamic()1515 # from: lib/phoenix/endpoint/render_errors.ex:79:211516 conn15171518 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15191520 type warning found at:1521 │1522 83 │ %Plug.Conn{conn | state: :sent}1523 │ ~1524 │1525 └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/515261527 warning: a struct for Plug.Conn is expected on struct update:15281529 %Plug.Conn{conn | query_params: %{}, params: %{}}15301531 but got type:15321533 dynamic(%{..., params: %Plug.Conn.Unfetched{}})15341535 where "conn" was given the types:15361537 # type: dynamic(%{..., params: term()})1538 # from: lib/phoenix/endpoint/render_errors.ex:94:171539 conn.params15401541 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1542 # from: lib/phoenix/endpoint/render_errors.ex:94:171543 conn.params15441545 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15461547 type warning found at:1548 │1549 95 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1550 │ ~1551 │1552 └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115531554 warning: a struct for Plug.Conn is expected on struct update:15551556 %Plug.Conn{conn | params: params}15571558 but got type:15591560 dynamic(%{..., params: map()})15611562 where "conn" was given the type:15631564 # type: dynamic(%{..., params: map()})1565 # from: lib/phoenix/controller.ex:912:171566 Map.get(conn.params, required_key)15671568 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15691570 type warning found at:1571 │1572 919 │ %Plug.Conn{conn | params: params}1573 │ ~1574 │1575 └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/215761577 warning: a struct for Plug.Conn is expected on struct update:15781579 %Plug.Conn{conn | query_params: %{}, params: params}15801581 but got type:15821583 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})15841585 where "conn" was given the types:15861587 # type: dynamic(%{..., params: term()})1588 # from: lib/phoenix/endpoint/render_errors.ex:94:171589 conn.params15901591 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1592 # from: lib/phoenix/endpoint/render_errors.ex:94:171593 conn.params15941595 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15961597 type warning found at:1598 │1599 96 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1600 │ ~1601 │1602 └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/116031604 warning: expected a map or struct when accessing .url in expression:16051606 endpoint.url16071608 where "endpoint" was given the types:16091610 # type: dynamic(atom())1611 # from: lib/phoenix/router/helpers.ex:24:201612 endpoint16131614 # type: atom()1615 # from: lib/phoenix/router/helpers.ex:24:351616 is_atom(endpoint)16171618 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()16191620 type warning found at:1621 │1622 25 │ endpoint.url1623 │ ~1624 │1625 └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/216261627 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: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1651 │1652 71 │ supervise(children, strategy: :one_for_one)1653 │ ~1654 │1655 └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/116561657 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1658 │1659 76 │ [worker(Phoenix.Config, args)]1660 │ ~1661 │1662 └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/316631664 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1665 │1666 284 │ Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())1667 │ ~1668 │1669 └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/116701671 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1672 │1673 84 │ [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]1674 │ ~1675 │1676 └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/21677 └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/31678 └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/316791680 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1681 │1682 106 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),1683 │ ~1684 │1685 └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/316861687 warning: expected a module (an atom) when invoking path/1 in expression:16881689 endpoint.path("/")16901691 where "endpoint" was given the type:16921693 # type: dynamic(%{..., host: term()})1694 # from: lib/phoenix/endpoint/supervisor.ex:312:141695 endpoint.host16961697 type warning found at:1698 │1699 313 │ endpoint.path("/")1700 │ ~1701 │1702 └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/117031704 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1705 │1706 23 │ {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}1707 │ ~1708 │1709 └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/317101711 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1712 │1713 35 │ supervise(children, strategy: :one_for_one)1714 │ ~1715 │1716 └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/117171718 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1719 │1720 39 │ {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)1721 │ ~1722 │1723 └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/317241725 warning: incompatible types given to Plug.Adapters.Cowboy.child_spec/4:17261727 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)17281729 given types:17301731 (1732 dynamic(:http or :https),1733 -dynamic(%{..., __sockets__: term()})-,1734 empty_list(),1735 dynamic(empty_list() or non_empty_list(term(), term()))1736 )17371738 but expected one of:17391740 :http or :https, atom() or binary(), term(), term()17411742 where "config" was given the type:17431744 # type: dynamic(empty_list() or non_empty_list(term(), term()))1745 # from: lib/phoenix/endpoint/cowboy_handler.ex:78:121746 config = Keyword.put_new(config, :dispatch, _: dispatches)17471748 where "endpoint" was given the type:17491750 # type: dynamic(%{..., __sockets__: term()})1751 # from: lib/phoenix/endpoint/cowboy_handler.ex:66:261752 {path, socket} <- endpoint.__sockets__17531754 where "scheme" was given the types:17551756 # type: dynamic()1757 # from: lib/phoenix/endpoint/cowboy_handler.ex:60:181758 scheme17591760 # type: dynamic(:http or :https)1761 # from: lib/phoenix/endpoint/cowboy_handler.ex:81:281762 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)17631764 type warning found at:1765 │1766 81 │ Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)1767 │ ~1768 │1769 └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/317701771 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 right-hand side of || will never be executed:19241925 selected(form, field, opts) || ...19261927 because the left-hand side always evaluates to:19281929 dynamic({term(), term()})19301931 where "field" was given the type:19321933 # type: dynamic()1934 # from: lib/phoenix_html/form.ex:830:201935 field19361937 where "form" was given the type:19381939 # type: dynamic()1940 # from: lib/phoenix_html/form.ex:830:141941 form19421943 where "opts" was given the types:19441945 # type: dynamic()1946 # from: lib/phoenix_html/form.ex:830:361947 opts19481949 # type: dynamic(empty_list() or non_empty_list(term(), term()))1950 # from: lib/phoenix_html/form.ex:831:241951 selected(form, field, opts)19521953 type warning found at:1954 │1955 831 │ {selected, opts} = selected(form, field, opts) || []1956 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1957 │1958 └─ lib/phoenix_html/form.ex:831: Phoenix.HTML.Form.select/419591960 warning: the 1st pattern in clause will never match:19611962 3819631964 because it is expected to receive type:19651966 dynamic(empty_list() or non_empty_list(term(), term()))19671968 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19691970 type warning found at:1971 │1972 58 │ def to_iodata(?&), do: "&"1973 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1974 │1975 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/119761977 warning: the 1st pattern in clause will never match:19781979 3419801981 because it is expected to receive type:19821983 dynamic(empty_list() or non_empty_list(term(), term()))19841985 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19861987 type warning found at:1988 │1989 59 │ def to_iodata(?"), do: """1990 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1991 │1992 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/119931994 warning: the 1st pattern in clause will never match:19951996 3919971998 because it is expected to receive type:19992000 dynamic(empty_list() or non_empty_list(term(), term()))20012002 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20032004 type warning found at:2005 │2006 60 │ def to_iodata(?'), do: "'"2007 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2008 │2009 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/120102011 warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)2012 │2013 1 │ defmodule Phoenix.HTML.Engine do2014 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2015 │2016 └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)20172018 warning: the 1st pattern in clause will never match:20192020 {:safe, data}20212022 because it is expected to receive type:20232024 dynamic(empty_list() or non_empty_list(term(), term()))20252026 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20272028 type warning found at:2029 │2030 75 │ def to_iodata({:safe, data}) do2031 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2032 │2033 └─ lib/phoenix_html/safe.ex:75: Phoenix.HTML.Safe.List.to_iodata/120342035 warning: the following clause is redundant:20362037 def handle_text("", text)20382039 it has type:20402041 binary(), dynamic()20422043 previous clauses have already matched on the following types:20442045 term(), term()20462047 │2048 28 │ def handle_text("", text) do # Required for Elixir < v1.5.12049 │ ~2050 │2051 └─ lib/phoenix_html/engine.ex:28:7: Phoenix.HTML.Engine.handle_text/220522053 warning: the following clause is redundant:20542055 def to_iodata(other)20562057 it has type:20582059 dynamic(empty_list() or non_empty_list(term(), term()))20602061 previous clauses have already matched on the following types:20622063 non_empty_list(term(), term())2064 empty_list()20652066 │2067 79 │ def to_iodata(other) do2068 │ ~2069 │2070 └─ lib/phoenix_html/safe.ex:79:7: Phoenix.HTML.Safe.List.to_iodata/120712072 warning: the following clause is redundant:20732074 def handle_text({:safe, buffer}, text)20752076 it has type:20772078 dynamic({:safe, term()}), dynamic()20792080 previous clauses have already matched on the following types:20812082 term(), term()20832084 │2085 32 │ def handle_text({:safe, buffer}, text) do2086 │ ~2087 │2088 └─ lib/phoenix_html/engine.ex:32:7: Phoenix.HTML.Engine.handle_text/220892090 warning: the 1st pattern in clause will never match:20912092 h20932094 because it is expected to receive type:20952096 dynamic(empty_list() or non_empty_list(term(), term()))20972098 where "h" was given the type:20992100 # type: integer()2101 # from: lib/phoenix_html/safe.ex:62:252102 is_integer(h)21032104 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21052106 type warning found at:2107 │2108 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do2109 │ ~2110 │2111 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/121122113 warning: the 1st pattern in clause will never match:21142115 h21162117 because it is expected to receive type:21182119 dynamic(empty_list() or non_empty_list(term(), term()))21202121 where "h" was given the type:21222123 # type: integer()2124 # from: lib/phoenix_html/safe.ex:65:252125 is_integer(h)21262127 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21282129 type warning found at:2130 │2131 65 │ def to_iodata(h) when is_integer(h) do2132 │ ~2133 │2134 └─ lib/phoenix_html/safe.ex:65:17: Phoenix.HTML.Safe.List.to_iodata/121352136 warning: the 1st pattern in clause will never match:21372138 h21392140 because it is expected to receive type:21412142 dynamic(empty_list() or non_empty_list(term(), term()))21432144 where "h" was given the type:21452146 # type: binary()2147 # from: lib/phoenix_html/safe.ex:71:252148 is_binary(h)21492150 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21512152 type warning found at:2153 │2154 71 │ def to_iodata(h) when is_binary(h) do2155 │ ~2156 │2157 └─ lib/phoenix_html/safe.ex:71:17: Phoenix.HTML.Safe.List.to_iodata/121582159Generated 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: the following clause will never match:22282229 nil ->22302231 because it attempts to match on the result of:22322233 Plug.Conn.get_req_header(conn, "x-tracy-definition")22342235 which has type:22362237 dynamic(list(term()))22382239 type warning found at:2240 │2241 13 │ nil ->2242 │ ~~~~~~2243 │2244 └─ lib/tracy/plug.ex:13: Tracy.Plug.call/222452246 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2247 │2248 12 │ supervise(children, strategy: :simple_one_for_one)2249 │ ~2250 │2251 └─ lib/tracy/trace_supervisor.ex:12:5: Tracy.TraceSupervisor.init/122522253 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2254 │2255 8 │ supervisor(Tracy.TraceSupervisor, [])2256 │ ~2257 │2258 └─ lib/tracy/application.ex:8:7: Tracy.Application.start/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/layout_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/layout_view.ex:1: TracyWeb.Web.LayoutView (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"