Build log
nerves_system_qemu_aarch64
tracy_web 0.0.1-rc.1 · fail · run tracy_web-0.0.1-rc.1-1791143770106
2317 of 2317 lines
1Resolving Hex dependencies...2Resolution completed in 0.371s3Unchanged: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_qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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_qemu_aarch64539Compiling 1 file (.ex)540Generated nerves_system_qemu_aarch64 app541==> nerves_compatibility_test542===> Analyzing applications...543===> Compiling cowboy544 ┌─ src/cowboy_websocket.erl:545 │546 147 │ Stacktrace = erlang:get_stacktrace(),547 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace548549 ┌─ src/cowboy_websocket.erl:550 │551 645 │ {stacktrace, erlang:get_stacktrace()},552 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace553554 ┌─ src/cowboy_websocket.erl:555 │556 755 │ {stacktrace, erlang:get_stacktrace()},557 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace558559560 ┌─ src/cowboy_handler.erl:561 │562 87 │ Stacktrace = erlang:get_stacktrace(),563 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace564565 ┌─ src/cowboy_handler.erl:566 │567 116 │ Stacktrace = erlang:get_stacktrace(),568 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace569570 ┌─ src/cowboy_handler.erl:571 │572 235 │ Stacktrace = erlang:get_stacktrace(),573 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace574575 ┌─ src/cowboy_handler.erl:576 │577 290 │ {stacktrace, erlang:get_stacktrace()},578 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace579580581 ┌─ src/cowboy_rest.erl:582 │583 69 │ Stacktrace = erlang:get_stacktrace(),584 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace585586 ┌─ src/cowboy_rest.erl:587 │588 1006 │ Stacktrace = erlang:get_stacktrace(),589 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace590591592==> expo593Compiling 2 files (.erl)594Compiling 22 files (.ex)595Generated expo app596==> gettext597Compiling 18 files (.ex)598 warning: unused require Gettext.Macros599 │600 594 │ require Gettext.Macros601 │ ~602 │603 └─ lib/gettext.ex:594:3604605 warning: the following clause is redundant:606607 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)608609 it has type:610611 dynamic(%Expo.Message.Plural{})612613 previous clauses have already matched on the following types:614615 %Expo.Message.Singular{}616 %Expo.Message.Plural{}617618 │619 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do620 │ ~621 │622 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1623624 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead625 │626 426 │ Kernel.ParallelCompiler.async(fn ->627 │ ~628 │629 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3630631Generated gettext app632==> phoenix_pubsub633Compiling 13 files (.ex)634 warning: single quotes around atoms are deprecated. Use double quotes instead635 │636 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])637 │ ~638 │639 └─ lib/phoenix/pubsub/local.ex:160:23640641 warning: single quotes around atoms are deprecated. Use double quotes instead642 │643 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])644 │ ~645 │646 └─ lib/phoenix/pubsub/local.ex:160:40647648 warning: unused require Logger649 │650 107 │ require Logger651 │ ~652 │653 └─ lib/phoenix/tracker.ex:107:3654655 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:656657 %Phoenix.Tracker.Replica{replica | status: :permdown}658659 but got type:660661 dynamic()662663 where "replica" was given the type:664665 # type: dynamic()666 # from: lib/phoenix/tracker/replica.ex:72:17667 replica668669 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"670671 type warning found at:672 │673 72 │ defp permdown(replica), do: %Replica{replica | status: :permdown}674 │ ~675 │676 └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1677678 warning: a struct for Phoenix.Tracker.State is expected on struct update:679680 %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}681682 but got type:683684 dynamic()685686 where "delta" was given the type:687688 # type: dynamic()689 # from: lib/phoenix/tracker/state.ex:461:36690 %Phoenix.Tracker.State{delta: delta} = state691692 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"693694 type warning found at:695 │696 465 │ new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}697 │ ~698 │699 └─ lib/phoenix/tracker/state.ex:465:17: Phoenix.Tracker.State.do_add/5700701 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:702703 %Phoenix.Tracker.Replica{replica | status: :down}704705 but got type:706707 dynamic()708709 where "replica" was given the type:710711 # type: dynamic()712 # from: lib/phoenix/tracker/replica.ex:74:13713 replica714715 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"716717 type warning found at:718 │719 74 │ defp down(replica), do: %Replica{replica | status: :down}720 │ ~721 │722 └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/1723724 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:725726 %Phoenix.Tracker.Replica{replica | last_heartbeat_at: now_ms()}727728 but got type:729730 dynamic()731732 where "replica" was given the type:733734 # type: dynamic()735 # from: lib/phoenix/tracker/replica.ex:76:29736 replica737738 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"739740 type warning found at:741 │742 77 │ %Replica{replica | last_heartbeat_at: now_ms()}743 │ ~744 │745 └─ lib/phoenix/tracker/replica.ex:77:5: Phoenix.Tracker.Replica.touch_last_heartbeat/1746747 warning: a struct for Phoenix.Tracker.State is expected on struct update:748749 %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}750751 but got type:752753 dynamic()754755 where "delta" was given the type:756757 # type: dynamic()758 # from: lib/phoenix/tracker/state.ex:541:99759 %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =760 state761762 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"763764 type warning found at:765 │766 547 │ delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}767 │ ~768 │769 └─ lib/phoenix/tracker/state.ex:547:19: Phoenix.Tracker.State.bump_clock/1770771 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead772 │773 269 │ worker(Phoenix.Tracker.Shard, [tracker, tracker_opts, shard_opts],774 │ ~775 │776 └─ lib/phoenix/tracker.ex:269:9: Phoenix.Tracker.init/1777778 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead779 │780 273 │ supervise(shards, strategy: :one_for_one,781 │ ~782 │783 └─ lib/phoenix/tracker.ex:273:5: Phoenix.Tracker.init/1784785 warning: a struct for Phoenix.Tracker.State is expected on struct update:786787 %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}788789 but got type:790791 dynamic(%{..., range: {term(), term()}})792793 where "delta" was given the type:794795 # type: dynamic(%{..., range: {term(), term()}})796 # from: lib/phoenix/tracker/state.ex:551:30797 {start_clock, end_clock} = delta.range798799 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"800801 type warning found at:802 │803 555 │ delta: %State{delta | range: {start_clock, new_end}}}804 │ ~805 │806 └─ lib/phoenix/tracker/state.ex:555:19: Phoenix.Tracker.State.put_context/2807808 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead809 │810 7 │ [supervisor(Phoenix.PubSub.PG2, pubsub)]811 │ ~812 │813 └─ lib/phoenix/pubsub/supervisor.ex:7:8: Phoenix.PubSub.Supervisor.start/2814815 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead816 │817 93 │ supervisor(Phoenix.PubSub.LocalSupervisor, [server, pool_size, dispatch_rules]),818 │ ~819 │820 └─ lib/phoenix/pubsub/pg2.ex:93:7: Phoenix.PubSub.PG2.init/1821822 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead823 │824 94 │ worker(Phoenix.PubSub.PG2Server, [server, pool_size])825 │ ~826 │827 └─ lib/phoenix/pubsub/pg2.ex:94:7: Phoenix.PubSub.PG2.init/1828829 warning: :pg2.create/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead830 │831 43 │ :ok = :pg2.create(pg2_group)832 │ ~833 │834 └─ lib/phoenix/pubsub/pg2_server.ex:43:16: Phoenix.PubSub.PG2Server.init/1835836 warning: :pg2.join/2 is undefined or private, this module was removed in OTP 24. Use 'pg' instead837 │838 44 │ :ok = :pg2.join(pg2_group, self())839 │ ~840 │841 └─ lib/phoenix/pubsub/pg2_server.ex:44:16: Phoenix.PubSub.PG2Server.init/1842843 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead844 │845 97 │ supervise(children, strategy: :rest_for_one)846 │ ~847 │848 └─ lib/phoenix/pubsub/pg2.ex:97:5: Phoenix.PubSub.PG2.init/1849850 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead851 │852 35 │ worker(Phoenix.PubSub.GC, [gc_shard_name, local_shard_name]),853 │ ~854 │855 └─ lib/phoenix/pubsub/local_supervisor.ex:35:9: Phoenix.PubSub.LocalSupervisor.init/1856 └─ lib/phoenix/pubsub/local_supervisor.ex:36:9: Phoenix.PubSub.LocalSupervisor.init/1857858 warning: :pg2.get_members/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead859 │860 57 │ :pg2.get_members(pg2_namespace(server_name))861 │ ~862 │863 └─ lib/phoenix/pubsub/pg2_server.ex:57:10: Phoenix.PubSub.PG2Server.get_members/1864865 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead866 │867 39 │ supervisor(Supervisor, [shard_children, [strategy: :one_for_all]], id: shard)868 │ ~869 │870 └─ lib/phoenix/pubsub/local_supervisor.ex:39:7: Phoenix.PubSub.LocalSupervisor.init/1871872 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead873 │874 42 │ supervise children, strategy: :one_for_one875 │ ~876 │877 └─ lib/phoenix/pubsub/local_supervisor.ex:42:5: Phoenix.PubSub.LocalSupervisor.init/1878879Generated phoenix_pubsub app880warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"881 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2882 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1883 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5884 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2885 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4886 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2887888==> plug889Compiling 44 files (.ex)890warning: cannot infer signatures from :cowboy because it is not loaded891892warning: cannot infer signatures from :cowlib because it is not loaded893894warning: cannot infer signatures from :ranch because it is not loaded895896warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead897 lib/plug/adapters/cowboy.ex:220: Plug.Adapters.Cowboy.put_ssl_file/3898899warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead900 lib/plug/adapters/cowboy.ex:238: Plug.Adapters.Cowboy.to_char_list/2901902 warning: using single-quoted strings to represent charlists is deprecated.903 Use ~c"" if you indeed want a charlist or use "" instead.904 You may run "mix format --migrate" to change all single-quoted905 strings to use the ~c sigil and fix this warning.906 │907 230 │ generated? = :erlang.system_info(:otp_release) >= '19'908 │ ~909 │910 └─ lib/plug/builder.ex:230:55911912 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead913 │914 421 │ when not state in @unsent do915 │ ~916 │917 └─ lib/plug/conn.ex:421:22918919 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead920 │921 445 │ when not state in @unsent do922 │ ~923 │924 └─ lib/plug/conn.ex:445:22925926 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead927 │928 497 │ when not state in @unsent do929 │ ~930 │931 └─ lib/plug/conn.ex:497:22932933 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead934 │935 883 │ def put_session(%Conn{state: state}, _key, _value) when not state in @unsent,936 │ ~937 │938 └─ lib/plug/conn.ex:883:69939940 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead941 │942 907 │ def delete_session(%Conn{state: state}, _key) when not state in @unsent,943 │ ~944 │945 └─ lib/plug/conn.ex:907:64946947 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead948 │949 939 │ def configure_session(%Conn{state: state}, _opts) when not state in @unsent,950 │ ~951 │952 └─ lib/plug/conn.ex:939:68953954 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead955 │956 961 │ when not state in @unsent do957 │ ~958 │959 └─ lib/plug/conn.ex:961:22960961 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead962 │963 6 │ custom_statuses = Application.get_env(:plug, :statuses, %{})964 │ ~965 │966 └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)967968 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead969 │970 65 │ mask(left, right, <<acc::binary, x ^^^ y>>)971 │ ~972 │973 └─ lib/plug/crypto.ex:65:40974975 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead976 │977 87 │ masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))978 │ ~979 │980 └─ lib/plug/crypto.ex:87:50981982 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead983 │984 87 │ masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))985 │ ~986 │987 └─ lib/plug/crypto.ex:87:57988989 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead990 │991 108 │ secure_compare(left, right, acc ||| (x ^^^ y))992 │ ~993 │994 └─ lib/plug/crypto.ex:108:44995996 warning: use Bitwise is deprecated. import Bitwise instead997 │998 6 │ use Bitwise999 │ ~~~~~~~~~~~1000 │1001 └─ lib/plug/crypto.ex:6: Plug.Crypto (module)10021003 warning: use Bitwise is deprecated. import Bitwise instead1004 │1005 13 │ use Bitwise1006 │ ~~~~~~~~~~~1007 │1008 └─ lib/plug/crypto/key_generator.ex:13: Plug.Crypto.KeyGenerator (module)10091010 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 operator1011 │1012 59 │ <<bin::binary-size(max_length), _::binary>> = key1013 │ ~1014 │1015 └─ lib/plug/crypto/key_generator.ex:59:24: Plug.Crypto.KeyGenerator.generate/710161017 warning: unused require Bitwise1018 │1019 64 │ require Bitwise1020 │ ~1021 │1022 └─ lib/plug/csrf_protection.ex:64:310231024 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1025 │1026 4 │ if Application.get_env(:plug, :mimes) do1027 │ ~1028 │1029 └─ lib/plug/mime.ex:4:18: Plug.MIME (module)10301031 warning: unused require Logger1032 │1033 32 │ require Logger1034 │ ~1035 │1036 └─ lib/plug/request_id.ex:32:310371038 warning: calling super for GenServer callback handle_info/2 is deprecated1039 │1040 164 │ super(msg, state)1041 │ ~1042 │1043 └─ lib/plug/upload.ex:164:5: Plug.Upload.handle_info/210441045 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1046 │1047 39 │ reraise e, System.stacktrace1048 │ ~1049 │1050 └─ lib/plug/parsers/multipart.ex:39:27: Plug.Parsers.MULTIPART.parse/51051 └─ lib/plug/parsers/multipart.ex:41:73: Plug.Parsers.MULTIPART.parse/510521053 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1054 │1055 12 │ worker(Plug.Upload, [])1056 │ ~1057 │1058 └─ lib/plug/supervisor.ex:12:7: Plug.Supervisor.init/110591060 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1061 │1062 16 │ supervise(children, strategy: :one_for_one)1063 │ ~1064 │1065 └─ lib/plug/supervisor.ex:16:5: Plug.Supervisor.init/110661067 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1068 │1069 210 │ if Code.ensure_compiled?(module) and function_exported?(module, :init, 1) do1070 │ ~1071 │1072 └─ lib/plug/parsers.ex:210:15: Plug.Parsers.convert_parsers/210731074 warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead1075 │1076 28 │ MIME.valid?(type)1077 │ ~1078 │1079 └─ lib/plug/mime.ex:28:10: Plug.MIME.valid?/110801081 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1082 │1083 82 │ __catch__(conn, kind, reason, reason, System.stacktrace, handle_errors)1084 │ ~1085 │1086 └─ lib/plug/error_handler.ex:82:50: Plug.ErrorHandler.__catch__/410871088 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1089 │1090 139 │ __catch__(conn, kind, reason, System.stacktrace, opts)1091 │ ~1092 │1093 └─ lib/plug/debugger.ex:139:42: Plug.Debugger.__catch__/410941095 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1096 │1097 41 │ signature = :crypto.hmac(:sha, key, plain_text)1098 │ ~1099 │1100 └─ lib/plug/crypto/message_verifier.ex:41:26: Plug.Crypto.MessageVerifier.hmac_sha1_sign/21101 └─ lib/plug/crypto/message_verifier.ex:49:29: Plug.Crypto.MessageVerifier.hmac_sha1_verify/21102 └─ lib/plug/crypto/message_verifier.ex:71:26: Plug.Crypto.MessageVerifier.hmac_sha2_sign/31103 └─ lib/plug/crypto/message_verifier.ex:80:29: Plug.Crypto.MessageVerifier.hmac_sha2_verify/211041105 warning: String.rstrip/1 is deprecated. Use String.trim_trailing/1 instead1106 │1107 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>1108 │ ~1109 │1110 └─ lib/plug/templates/debugger.html.eex:635:206: Plug.Debugger.template_html/111111112 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 instead1113 │1114 57 │ {cipher_text, cipher_tag} = :crypto.block_encrypt(:aes_gcm, key, iv, {aad, plain_text})1115 │ ~1116 │1117 └─ lib/plug/crypto/message_encryptor.ex:57:41: Plug.Crypto.MessageEncryptor.aes128_gcm_encrypt/31118 └─ lib/plug/crypto/message_encryptor.ex:104:41: Plug.Crypto.MessageEncryptor.aes_gcm_key_wrap/31119 └─ lib/plug/crypto/message_encryptor.ex:314:13: Plug.Crypto.MessageEncryptor.encrypt_legacy/41120 └─ lib/plug/crypto/message_encryptor.ex:332:27: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_encrypt/311211122 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 instead1123 │1124 79 │ :crypto.block_decrypt(:aes_gcm, key, iv, {aad, cipher_text, cipher_tag})1125 │ ~1126 │1127 └─ lib/plug/crypto/message_encryptor.ex:79:21: Plug.Crypto.MessageEncryptor.aes128_gcm_decrypt/31128 └─ lib/plug/crypto/message_encryptor.ex:120:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31129 └─ lib/plug/crypto/message_encryptor.ex:122:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31130 └─ lib/plug/crypto/message_encryptor.ex:124:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31131 └─ lib/plug/crypto/message_encryptor.ex:321:13: Plug.Crypto.MessageEncryptor.decrypt_legacy/41132 └─ lib/plug/crypto/message_encryptor.ex:349:17: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_decrypt/311331134 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1135 │1136 275 │ cipher_tag = Base.url_encode64(:crypto.hmac(:sha, sign_secret, cipher_text))1137 │ ~1138 │1139 └─ lib/plug/crypto/message_encryptor.ex:275:44: Plug.Crypto.MessageEncryptor.encode_legacy_token/31140 └─ lib/plug/crypto/message_encryptor.ex:291:44: Plug.Crypto.MessageEncryptor.decode_legacy_token/211411142 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1143 │1144 78 │ &:crypto.hmac(digest, secret, &1)1145 │ ~1146 │1147 └─ lib/plug/crypto/key_generator.ex:78:14: Plug.Crypto.KeyGenerator.mac_fun/211481149 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1150 │1151 21 │ stack = System.stacktrace1152 │ ~1153 │1154 └─ lib/plug/conn/wrapper_error.ex:21:22: Plug.Conn.WrapperError.reraise/31155 └─ lib/plug/conn/wrapper_error.ex:26:40: Plug.Conn.WrapperError.reraise/311561157 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1158 │1159 21 │ stack = System.stacktrace()1160 │ ~1161 │1162 └─ lib/plug/adapters/cowboy/handler.ex:21:24: Plug.Adapters.Cowboy.Handler.upgrade/41163 └─ lib/plug/adapters/cowboy/handler.ex:26:24: Plug.Adapters.Cowboy.Handler.upgrade/41164 └─ lib/plug/adapters/cowboy/handler.ex:30:24: Plug.Adapters.Cowboy.Handler.upgrade/411651166 warning: a struct for Plug.Conn is expected on struct update:11671168 %Plug.Conn{1169 conn1170 | adapter: {Plug.Adapters.Test.Conn, state},1171 host: uri.host || conn.host || "www.example.com",1172 method: method,1173 owner: owner,1174 path_info: split_path(uri.path),1175 port: uri.port || 80,1176 peer: {{127, 0, 0, 1}, 111_317},1177 remote_ip: {127, 0, 0, 1},1178 req_headers: req_headers,1179 request_path: uri.path,1180 query_string: query,1181 params: params || %Plug.Conn.Unfetched{aspect: :params},1182 scheme: String.to_atom(String.downcase(uri.scheme || "http"))1183 }11841185 but got type:11861187 dynamic(%{..., req_headers: term()})11881189 where "conn" was given the type:11901191 # type: dynamic(%{..., req_headers: term()})1192 # from: lib/plug/adapters/test/conn.ex:15:351193 body_or_params(body_or_params, query, conn.req_headers)11941195 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11961197 type warning found at:1198 │1199 19 │ %Plug.Conn{conn |1200 │ ~1201 │1202 └─ lib/plug/adapters/test/conn.ex:19:5: Plug.Adapters.Test.Conn.conn/412031204 warning: Atom.to_char_list/1 is deprecated. Use Atom.to_charlist/1 instead1205 │1206 186 │ case Atom.to_char_list(plug) do1207 │ ~1208 │1209 └─ lib/plug/builder.ex:186:15: Plug.Builder.init_plug/112101211 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1212 │1213 43 │ Enum.partition(cowboy_options, &is_tuple(&1) and tuple_size(&1) == 2)1214 │ ~1215 │1216 └─ lib/plug/adapters/cowboy.ex:43:12: Plug.Adapters.Cowboy.args/412171218Generated plug app1219warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1220 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21221 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11222 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51223 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21224 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41225 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212261227==> phoenix1228Compiling 75 files (.ex)1229 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 operator1230 │1231 170 │ <<attr::size(prefix)-binary, ":unique">> -> attr1232 │ ~1233 │1234 └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/112351236 warning: using single-quoted strings to represent charlists is deprecated.1237 Use ~c"" if you indeed want a charlist or use "" instead.1238 You may run "mix format --migrate" to change all single-quoted1239 strings to use the ~c sigil and fix this warning.1240 │1241 310 │ :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',1242 │ ~1243 │1244 └─ lib/phoenix/channel/server.ex:310:3112451246 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1247 │1248 39 │ Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>1249 │ ~1250 │1251 └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/312521253 warning: unused require Logger1254 │1255 20 │ require Logger1256 │ ~1257 │1258 └─ lib/phoenix/endpoint/handler.ex:20:312591260 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1261 │1262 39 │ Logger.warn """1263 │ ~1264 │1265 └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/112661267 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 operator1268 │1269 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1270 │ ~1271 │1272 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/212731274 warning: using single-quoted strings to represent charlists is deprecated.1275 Use ~c"" if you indeed want a charlist or use "" instead.1276 You may run "mix format --migrate" to change all single-quoted1277 strings to use the ~c sigil and fix this warning.1278 │1279 315 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1280 │ ~1281 │1282 └─ lib/phoenix/router.ex:315:5012831284 warning: using single-quoted strings to represent charlists is deprecated.1285 Use ~c"" if you indeed want a charlist or use "" instead.1286 You may run "mix format --migrate" to change all single-quoted1287 strings to use the ~c sigil and fix this warning.1288 │1289 195 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1290 │ ~1291 │1292 └─ lib/phoenix/router/helpers.ex:195:5012931294 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12951296 This error happens when you have function calls without parentheses inside keywords. For example:12971298 function(arg, one: nested_call a, b, c)1299 function(arg, one: if expr, do: :this, else: :that)13001301 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:13021303 function(arg, one: if(expr, do: :this, else: :that))1304 function(arg, one: nested_call(a, b, c))13051306 Ambiguity found at:1307 │1308 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """1309 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1310 │1311 └─ lib/phoenix/router/resource.ex:7113121313 warning: duplicate key :route found in struct1314 │1315 24 │ defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]1316 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1317 │1318 └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)13191320 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1321 │1322 885 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1323 │ ~1324 │1325 └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/113261327 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)"1328 │1329 110 │ @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore1330 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1331 │1332 └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)13331334 warning: using single-quoted strings to represent charlists is deprecated.1335 Use ~c"" if you indeed want a charlist or use "" instead.1336 You may run "mix format --migrate" to change all single-quoted1337 strings to use the ~c sigil and fix this warning.1338 │1339 174 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1340 │ ~1341 │1342 └─ lib/phoenix/template.ex:174:5013431344 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1345 │1346 304 │ Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end1347 │ ~1348 │1349 └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/213501351 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1352 │1353 227 │ Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>1354 │ ~1355 │1356 └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/213571358 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1359 │1360 12 │ worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)1361 │ ~1362 │1363 └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/113641365 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1366 │1367 14 │ supervise(children, strategy: :simple_one_for_one)1368 │ ~1369 │1370 └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/113711372 warning: expected a module (an atom) when invoking config/1 in expression:13731374 endpoint.config(:endpoint_id)13751376 where "endpoint" was given the type:13771378 # type: dynamic(%{..., __pubsub_server__: atom()})1379 # from: lib/phoenix/transports/long_poll.ex:199:101380 verify_token(endpoint, token, opts)13811382 type warning found at:1383 │1384 201 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)1385 │ ~1386 │1387 └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/313881389 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1390 │1391 647 │ exception -> {:error, {exception, System.stacktrace()}}1392 │ ~1393 │1394 └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/113951396 warning: unknown key .__pubsub_server__ in expression:13971398 endpoint.__pubsub_server__13991400 the given type does not have the given key:14011402 dynamic(1403 %Phoenix.Socket{1404 id: term(),1405 assigns: term(),1406 channel: term(),1407 channel_pid: term(),1408 endpoint: atom(),1409 handler: term(),1410 joined: term(),1411 pubsub_server: term(),1412 ref: term(),1413 join_ref: term(),1414 topic: term(),1415 transport: term(),1416 transport_pid: term(),1417 transport_name: term(),1418 serializer: term(),1419 private: term(),1420 vsn: term()1421 } or1422 %Plug.Conn{1423 adapter: term(),1424 assigns: term(),1425 before_send: term(),1426 body_params: term(),1427 cookies: term(),1428 halted: term(),1429 host: term(),1430 method: term(),1431 owner: term(),1432 params: term(),1433 path_params: term(),1434 path_info: term(),1435 port: term(),1436 private: term(),1437 query_params: term(),1438 query_string: term(),1439 peer: term(),1440 remote_ip: term(),1441 req_cookies: term(),1442 req_headers: term(),1443 request_path: term(),1444 resp_body: term(),1445 resp_cookies: term(),1446 resp_headers: term(),1447 scheme: term(),1448 script_name: term(),1449 secret_key_base: term(),1450 state: term(),1451 status: term()1452 } or atom() or binary()1453 )14541455 where "endpoint" was given the type:14561457 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())1458 # from: lib/phoenix/transports/long_poll.ex:254:191459 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])14601461 type warning found at:1462 │1463 254 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])1464 │ ~~~~~~~~~~~~~~~~~1465 │1466 └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/314671468 warning: a struct for Phoenix.Socket is expected on struct update:14691470 %Phoenix.Socket{socket | id: id}14711472 but got type:14731474 dynamic()14751476 where "socket" was given the type:14771478 # type: dynamic()1479 # from: lib/phoenix/socket/transport.ex1480 {:ok, socket}14811482 when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"14831484 type warning found at:1485 │1486 195 │ id when is_binary(id) -> {:ok, %Socket{socket | id: id}}1487 │ ~1488 │1489 └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/714901491 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1492 │1493 198 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),1494 │ ~1495 │1496 └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/414971498 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1499 │1500 199 │ worker(Phoenix.Tracker, [module, opts, opts])1501 │ ~1502 │1503 └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/415041505 warning: a struct for Plug.Conn is expected on struct update:15061507 %Plug.Conn{conn | state: :sent}15081509 but got type:15101511 dynamic()15121513 where "conn" was given the type:15141515 # type: dynamic()1516 # from: lib/phoenix/endpoint/render_errors.ex:79:211517 conn15181519 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15201521 type warning found at:1522 │1523 83 │ %Plug.Conn{conn | state: :sent}1524 │ ~1525 │1526 └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/515271528 warning: a struct for Plug.Conn is expected on struct update:15291530 %Plug.Conn{conn | query_params: %{}, params: %{}}15311532 but got type:15331534 dynamic(%{..., params: %Plug.Conn.Unfetched{}})15351536 where "conn" was given the types:15371538 # type: dynamic(%{..., params: term()})1539 # from: lib/phoenix/endpoint/render_errors.ex:94:171540 conn.params15411542 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1543 # from: lib/phoenix/endpoint/render_errors.ex:94:171544 conn.params15451546 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15471548 type warning found at:1549 │1550 95 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1551 │ ~1552 │1553 └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115541555 warning: a struct for Plug.Conn is expected on struct update:15561557 %Plug.Conn{conn | query_params: %{}, params: params}15581559 but got type:15601561 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})15621563 where "conn" was given the types:15641565 # type: dynamic(%{..., params: term()})1566 # from: lib/phoenix/endpoint/render_errors.ex:94:171567 conn.params15681569 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1570 # from: lib/phoenix/endpoint/render_errors.ex:94:171571 conn.params15721573 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15741575 type warning found at:1576 │1577 96 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1578 │ ~1579 │1580 └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115811582 warning: a struct for Plug.Conn is expected on struct update:15831584 %Plug.Conn{conn | params: params}15851586 but got type:15871588 dynamic(%{..., params: map()})15891590 where "conn" was given the type:15911592 # type: dynamic(%{..., params: map()})1593 # from: lib/phoenix/controller.ex:912:171594 Map.get(conn.params, required_key)15951596 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15971598 type warning found at:1599 │1600 919 │ %Plug.Conn{conn | params: params}1601 │ ~1602 │1603 └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/216041605 warning: expected a map or struct when accessing .url in expression:16061607 endpoint.url16081609 where "endpoint" was given the types:16101611 # type: dynamic(atom())1612 # from: lib/phoenix/router/helpers.ex:24:201613 endpoint16141615 # type: atom()1616 # from: lib/phoenix/router/helpers.ex:24:351617 is_atom(endpoint)16181619 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()16201621 type warning found at:1622 │1623 25 │ endpoint.url1624 │ ~1625 │1626 └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/216271628 warning: a struct for Plug.Conn is expected on struct update:16291630 %Plug.Conn{conn | path_info: path, script_name: script}16311632 but got type:16331634 dynamic()16351636 where "conn" was given the type:16371638 # type: dynamic()1639 # from: lib/phoenix/router/route.ex:147:101640 conn = target.call(%Plug.Conn{...}, opts)16411642 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16431644 type warning found at:1645 │1646 148 │ %Plug.Conn{conn | path_info: path, script_name: script}1647 │ ~1648 │1649 └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/416501651 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1652 │1653 284 │ Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())1654 │ ~1655 │1656 └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/116571658 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1659 │1660 71 │ supervise(children, strategy: :one_for_one)1661 │ ~1662 │1663 └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/116641665 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1666 │1667 76 │ [worker(Phoenix.Config, args)]1668 │ ~1669 │1670 └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/316711672 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1673 │1674 84 │ [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]1675 │ ~1676 │1677 └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/21678 └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/31679 └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/316801681 warning: incompatible types given to Plug.Adapters.Cowboy.child_spec/4:16821683 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)16841685 given types:16861687 (1688 dynamic(:http or :https),1689 -dynamic(%{..., __sockets__: term()})-,1690 empty_list(),1691 dynamic(empty_list() or non_empty_list(term(), term()))1692 )16931694 but expected one of:16951696 :http or :https, atom() or binary(), term(), term()16971698 where "config" was given the type:16991700 # type: dynamic(empty_list() or non_empty_list(term(), term()))1701 # from: lib/phoenix/endpoint/cowboy_handler.ex:78:121702 config = Keyword.put_new(config, :dispatch, _: dispatches)17031704 where "endpoint" was given the type:17051706 # type: dynamic(%{..., __sockets__: term()})1707 # from: lib/phoenix/endpoint/cowboy_handler.ex:66:261708 {path, socket} <- endpoint.__sockets__17091710 where "scheme" was given the types:17111712 # type: dynamic()1713 # from: lib/phoenix/endpoint/cowboy_handler.ex:60:181714 scheme17151716 # type: dynamic(:http or :https)1717 # from: lib/phoenix/endpoint/cowboy_handler.ex:81:281718 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)17191720 type warning found at:1721 │1722 81 │ Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)1723 │ ~1724 │1725 └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/317261727 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1728 │1729 106 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),1730 │ ~1731 │1732 └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/317331734 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1735 │1736 23 │ {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}1737 │ ~1738 │1739 └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/317401741 warning: expected a module (an atom) when invoking path/1 in expression:17421743 endpoint.path("/")17441745 where "endpoint" was given the type:17461747 # type: dynamic(%{..., host: term()})1748 # from: lib/phoenix/endpoint/supervisor.ex:312:141749 endpoint.host17501751 type warning found at:1752 │1753 313 │ endpoint.path("/")1754 │ ~1755 │1756 └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/117571758 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1759 │1760 35 │ supervise(children, strategy: :one_for_one)1761 │ ~1762 │1763 └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/117641765 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1766 │1767 39 │ {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)1768 │ ~1769 │1770 └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/317711772 warning: comparison between distinct types found:17731774 !Path.extname(file_path) == ".gz"17751776 given types:17771778 dynamic(boolean()) == binary()17791780 where "file_path" was given the type:17811782 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))1783 # from: lib/phoenix/digester.ex:147:451784 Path.basename(file_path)17851786 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 false17871788 type warning found at:1789 │1790 148 │ !Path.extname(file_path) == ".gz"1791 │ ~1792 │1793 └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/117941795 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1796 │1797 51 │ worker(Phoenix.CodeReloader.Server, [])1798 │ ~1799 │1800 └─ lib/phoenix.ex:51:7: Phoenix.start/218011802 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1803 │1804 61 │ IO.puts Exception.format(kind, reason, System.stacktrace)1805 │ ~1806 │1807 └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/318081809 warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:18101811 mod.__phoenix_recompile__?18121813 where "mod" was given the type:18141815 # type: dynamic(atom())1816 # from: lib/mix/tasks/compile.phoenix.ex:34:121817 Code.ensure_loaded?(mod)18181819 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()18201821 type warning found at:1822 │1823 36 │ mod.__phoenix_recompile__?1824 │ ~1825 │1826 └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/118271828 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1829 │1830 155 │ Enum.partition attrs, fn1831 │ ~1832 │1833 └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/118341835 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1836 │1837 234 │ Enum.partition(attrs, fn1838 │ ~1839 │1840 └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/218411842Generated phoenix app1843==> phoenix_html1844Compiling 8 files (.ex)1845 warning: using single-quoted strings to represent charlists is deprecated.1846 Use ~c"" if you indeed want a charlist or use "" instead.1847 You may run "mix format --migrate" to change all single-quoted1848 strings to use the ~c sigil and fix this warning.1849 │1850 7 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1851 │ ~1852 │1853 └─ lib/phoenix_html/engine.ex:7:5018541855 warning: use EEx.Engine is deprecated. Use explicit delegation to EEx.Engine instead1856 │1857 13 │ use EEx.Engine1858 │ ~~~~~~~~~~~~~~1859 │1860 └─ lib/phoenix_html/engine.ex:13: Phoenix.HTML.Engine (module)18611862 warning: this clause for handle_text/2 cannot match because a previous clause at line 13 always matches1863 │1864 28 │ def handle_text("", text) do # Required for Elixir < v1.5.11865 │ ~1866 │1867 └─ lib/phoenix_html/engine.ex:28:718681869 warning: this clause for handle_text/2 cannot match because a previous clause at line 13 always matches1870 │1871 32 │ def handle_text({:safe, buffer}, text) do1872 │ ~1873 │1874 └─ lib/phoenix_html/engine.ex:32:718751876 warning: single quotes around keywords are deprecated. Use double quotes instead1877 │1878 264 │ 'csrf-param': @csrf_param, 'method-param': @method_param1879 │ ~1880 │1881 └─ lib/phoenix_html/tag.ex:264:1618821883 warning: single quotes around keywords are deprecated. Use double quotes instead1884 │1885 264 │ 'csrf-param': @csrf_param, 'method-param': @method_param1886 │ ~1887 │1888 └─ lib/phoenix_html/tag.ex:264:4318891890 warning: the 1st pattern in clause will never match:18911892 6018931894 because it is expected to receive type:18951896 dynamic(empty_list() or non_empty_list(term(), term()))18971898 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())18991900 type warning found at:1901 │1902 56 │ def to_iodata(?<), do: "<"1903 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1904 │1905 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/119061907 warning: the right-hand side of || will never be executed:19081909 selected(form, field, opts) || ...19101911 because the left-hand side always evaluates to:19121913 dynamic({term(), term()})19141915 where "field" was given the type:19161917 # type: dynamic()1918 # from: lib/phoenix_html/form.ex:830:201919 field19201921 where "form" was given the type:19221923 # type: dynamic()1924 # from: lib/phoenix_html/form.ex:830:141925 form19261927 where "opts" was given the types:19281929 # type: dynamic()1930 # from: lib/phoenix_html/form.ex:830:361931 opts19321933 # type: dynamic(empty_list() or non_empty_list(term(), term()))1934 # from: lib/phoenix_html/form.ex:831:241935 selected(form, field, opts)19361937 type warning found at:1938 │1939 831 │ {selected, opts} = selected(form, field, opts) || []1940 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1941 │1942 └─ lib/phoenix_html/form.ex:831: Phoenix.HTML.Form.select/419431944 warning: the 1st pattern in clause will never match:19451946 6219471948 because it is expected to receive type:19491950 dynamic(empty_list() or non_empty_list(term(), term()))19511952 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19531954 type warning found at:1955 │1956 57 │ def to_iodata(?>), do: ">"1957 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1958 │1959 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/119601961 warning: the 1st pattern in clause will never match:19621963 3819641965 because it is expected to receive type:19661967 dynamic(empty_list() or non_empty_list(term(), term()))19681969 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19701971 type warning found at:1972 │1973 58 │ def to_iodata(?&), do: "&"1974 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1975 │1976 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/119771978 warning: the 1st pattern in clause will never match:19791980 3419811982 because it is expected to receive type:19831984 dynamic(empty_list() or non_empty_list(term(), term()))19851986 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19871988 type warning found at:1989 │1990 59 │ def to_iodata(?"), do: """1991 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1992 │1993 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/119941995 warning: the 1st pattern in clause will never match:19961997 3919981999 because it is expected to receive type:20002001 dynamic(empty_list() or non_empty_list(term(), term()))20022003 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20042005 type warning found at:2006 │2007 60 │ def to_iodata(?'), do: "'"2008 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2009 │2010 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/120112012 warning: the 1st pattern in clause will never match:20132014 {:safe, data}20152016 because it is expected to receive type:20172018 dynamic(empty_list() or non_empty_list(term(), term()))20192020 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20212022 type warning found at:2023 │2024 75 │ def to_iodata({:safe, data}) do2025 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2026 │2027 └─ lib/phoenix_html/safe.ex:75: Phoenix.HTML.Safe.List.to_iodata/120282029 warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)2030 │2031 1 │ defmodule Phoenix.HTML.Engine do2032 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2033 │2034 └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)20352036 warning: the following clause is redundant:20372038 def to_iodata(other)20392040 it has type:20412042 dynamic(empty_list() or non_empty_list(term(), term()))20432044 previous clauses have already matched on the following types:20452046 non_empty_list(term(), term())2047 empty_list()20482049 │2050 79 │ def to_iodata(other) do2051 │ ~2052 │2053 └─ lib/phoenix_html/safe.ex:79:7: Phoenix.HTML.Safe.List.to_iodata/120542055 warning: the following clause is redundant:20562057 def handle_text("", text)20582059 it has type:20602061 binary(), dynamic()20622063 previous clauses have already matched on the following types:20642065 term(), term()20662067 │2068 28 │ def handle_text("", text) do # Required for Elixir < v1.5.12069 │ ~2070 │2071 └─ lib/phoenix_html/engine.ex:28:7: Phoenix.HTML.Engine.handle_text/220722073 warning: the 1st pattern in clause will never match:20742075 h20762077 because it is expected to receive type:20782079 dynamic(empty_list() or non_empty_list(term(), term()))20802081 where "h" was given the type:20822083 # type: integer()2084 # from: lib/phoenix_html/safe.ex:62:252085 is_integer(h)20862087 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20882089 type warning found at:2090 │2091 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do2092 │ ~2093 │2094 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/120952096 warning: the 1st pattern in clause will never match:20972098 h20992100 because it is expected to receive type:21012102 dynamic(empty_list() or non_empty_list(term(), term()))21032104 where "h" was given the type:21052106 # type: integer()2107 # from: lib/phoenix_html/safe.ex:65:252108 is_integer(h)21092110 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21112112 type warning found at:2113 │2114 65 │ def to_iodata(h) when is_integer(h) do2115 │ ~2116 │2117 └─ lib/phoenix_html/safe.ex:65:17: Phoenix.HTML.Safe.List.to_iodata/121182119 warning: the following clause is redundant:21202121 def handle_text({:safe, buffer}, text)21222123 it has type:21242125 dynamic({:safe, term()}), dynamic()21262127 previous clauses have already matched on the following types:21282129 term(), term()21302131 │2132 32 │ def handle_text({:safe, buffer}, text) do2133 │ ~2134 │2135 └─ lib/phoenix_html/engine.ex:32:7: Phoenix.HTML.Engine.handle_text/221362137 warning: the 1st pattern in clause will never match:21382139 h21402141 because it is expected to receive type:21422143 dynamic(empty_list() or non_empty_list(term(), term()))21442145 where "h" was given the type:21462147 # type: binary()2148 # from: lib/phoenix_html/safe.ex:71:252149 is_binary(h)21502151 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21522153 type warning found at:2154 │2155 71 │ def to_iodata(h) when is_binary(h) do2156 │ ~2157 │2158 └─ lib/phoenix_html/safe.ex:71:17: Phoenix.HTML.Safe.List.to_iodata/121592160Generated phoenix_html app2161==> tracy2162Compiling 8 files (.ex)2163 warning: invalid type annotation. The left side of :: must be a variable, got: fun()2164 │2165 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2166 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2167 │2168 └─ lib/tracy.ex:23: Tracy (module)21692170 warning: invalid type annotation. Type annotations cannot be nested: metadata :: fun() :: map() | nil2171 │2172 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2173 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2174 │2175 └─ lib/tracy.ex:23: Tracy (module)21762177 warning: invalid type annotation. The left side of :: must be a variable, got: fun()2178 │2179 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2180 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2181 │2182 └─ lib/tracy.ex:23: Tracy (module)21832184 warning: unused require Logger2185 │2186 3 │ require Logger2187 │ ~2188 │2189 └─ lib/tracy/plug.ex:3:321902191 warning: unused require Logger2192 │2193 3 │ require Logger2194 │ ~2195 │2196 └─ lib/tracy/util.ex:3:321972198 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead2199 │2200 10 │ worker(Tracy.Tracer, [], restart: :transient)2201 │ ~2202 │2203 └─ lib/tracy/trace_supervisor.ex:10:7: Tracy.TraceSupervisor.init/122042205 warning: a struct for Tracy.Tracer.State is expected on struct update:22062207 %Tracy.Tracer.State{state | count: state.count + 1}22082209 but got type:22102211 dynamic(%{..., pid: term()})22122213 where "state" was given the type:22142215 # type: dynamic(%{..., pid: term()})2216 # from: lib/tracy/tracer.ex:47:552217 state = %{pid: pid}22182219 when defining the variable "state", you must also pattern match on "%Tracy.Tracer.State{}"22202221 type warning found at:2222 │2223 48 │ state = %State{state | count: state.count + 1}2224 │ ~2225 │2226 └─ lib/tracy/tracer.ex:48:13: Tracy.Tracer.handle_info/222272228 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2229 │2230 12 │ supervise(children, strategy: :simple_one_for_one)2231 │ ~2232 │2233 └─ lib/tracy/trace_supervisor.ex:12:5: Tracy.TraceSupervisor.init/122342235 warning: the following clause will never match:22362237 nil ->22382239 because it attempts to match on the result of:22402241 Plug.Conn.get_req_header(conn, "x-tracy-definition")22422243 which has type:22442245 dynamic(list(term()))22462247 type warning found at:2248 │2249 13 │ nil ->2250 │ ~~~~~~2251 │2252 └─ lib/tracy/plug.ex:13: Tracy.Plug.call/222532254 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2255 │2256 8 │ supervisor(Tracy.TraceSupervisor, [])2257 │ ~2258 │2259 └─ lib/tracy/application.ex:8:7: Tracy.Application.start/222602261Generated tracy app2262warning: the :gettext compiler is no longer required in your mix.exs.22632264Please find the following line in your mix.exs and remove the :gettext entry:22652266 compilers: [..., :gettext, ...] ++ Mix.compilers(),22672268 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/12269 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52270 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22271 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42272 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/22273 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/522742275==> tracy_web2276Compiling 23 files (.ex)2277 warning: unused require Logger2278 │2279 3 │ require Logger2280 │ ~2281 │2282 └─ lib/tracy_web/upstream.ex:3:322832284warning: defining a Gettext backend by calling22852286 use Gettext, otp_app: ...22872288is deprecated. To define a backend, call:22892290 use Gettext.Backend, otp_app: :my_app22912292Then, instead of importing your backend, call this in your module:22932294 use Gettext, backend: MyApp.Gettext22952296 lib/tracy_web/web/gettext.ex:23: TracyWeb.Web.Gettext (module)22972298warning: no configuration found for otp_app :tracy_web and module TracyWeb.Web.Endpoint2299warning: Phoenix.HTML.Engine.handle_text/2 is deprecated, implement handle_text/3 instead2300 (eex 1.20.3) lib/eex/compiler.ex:315: EEx.Compiler.compile/32301 (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/22302 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/22303 (phoenix 1.3.5) lib/phoenix/template.ex:185: Phoenix.Template."MACRO-__before_compile__"/22304 (elixir 1.20.3) src/elixir_dispatch.erl:263: :elixir_dispatch.expand_macro_fun/72305 (elixir 1.20.3) src/elixir_dispatch.erl:155: :elixir_dispatch.dispatch_require/7230623072308== Compilation error in file lib/tracy_web/web/views/layout_view.ex ==2309** (RuntimeError) unexpected EEx.Engine state: {:safe, ""}. This typically means a bug or an outdated EEx.Engine or tool2310 (eex 1.20.3) lib/eex/engine.ex:226: EEx.Engine.check_state!/12311 (eex 1.20.3) lib/eex/engine.ex:189: EEx.Engine.handle_text/32312 (eex 1.20.3) lib/eex/compiler.ex:338: EEx.Compiler.generate_buffer/42313 (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/22314 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/22315 (phoenix 1.3.5) expanding macro: Phoenix.Template.__before_compile__/12316 lib/tracy_web/web/views/layout_view.ex:1: TracyWeb.Web.LayoutView (module)2317could 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"