Build log
nerves_system_mangopi_mq_pro
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.181s3Unchanged: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_mangopi_mq_pro/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_conns_sup.erl:331 │332 80 │ catch erlang:send(SupPid, {?MODULE, active_connections, self(), Tag},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.erl:355 │356 73 │ catch Transport:controlling_process(Socket, AcceptorsSup);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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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_riscv64_nerves_linux_gnu536Compiling 1 file (.ex)537Generated nerves_toolchain_riscv64_nerves_linux_gnu app538==> nerves_system_mangopi_mq_pro539Generated nerves_system_mangopi_mq_pro app540==> nerves_compatibility_test541===> Analyzing applications...542===> Compiling cowboy543 ┌─ src/cowboy_rest.erl:544 │545 69 │ 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_rest.erl:549 │550 1006 │ Stacktrace = erlang:get_stacktrace(),551 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace552553554 ┌─ src/cowboy_handler.erl:555 │556 87 │ Stacktrace = erlang:get_stacktrace(),557 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace558559 ┌─ src/cowboy_handler.erl:560 │561 116 │ Stacktrace = erlang:get_stacktrace(),562 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace563564 ┌─ src/cowboy_handler.erl:565 │566 235 │ Stacktrace = erlang:get_stacktrace(),567 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace568569 ┌─ src/cowboy_handler.erl:570 │571 290 │ {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.Replica is expected on struct update:655656 %Phoenix.Tracker.Replica{replica | status: :permdown}657658 but got type:659660 dynamic()661662 where "replica" was given the type:663664 # type: dynamic()665 # from: lib/phoenix/tracker/replica.ex:72:17666 replica667668 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"669670 type warning found at:671 │672 72 │ defp permdown(replica), do: %Replica{replica | status: :permdown}673 │ ~674 │675 └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1676677 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:678679 %Phoenix.Tracker.Replica{replica | status: :down}680681 but got type:682683 dynamic()684685 where "replica" was given the type:686687 # type: dynamic()688 # from: lib/phoenix/tracker/replica.ex:74:13689 replica690691 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"692693 type warning found at:694 │695 74 │ defp down(replica), do: %Replica{replica | status: :down}696 │ ~697 │698 └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/1699700 warning: a struct for Phoenix.Tracker.State is expected on struct update:701702 %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}703704 but got type:705706 dynamic()707708 where "delta" was given the type:709710 # type: dynamic()711 # from: lib/phoenix/tracker/state.ex:461:36712 %Phoenix.Tracker.State{delta: delta} = state713714 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"715716 type warning found at:717 │718 465 │ new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}719 │ ~720 │721 └─ lib/phoenix/tracker/state.ex:465:17: Phoenix.Tracker.State.do_add/5722723 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:724725 %Phoenix.Tracker.Replica{replica | last_heartbeat_at: now_ms()}726727 but got type:728729 dynamic()730731 where "replica" was given the type:732733 # type: dynamic()734 # from: lib/phoenix/tracker/replica.ex:76:29735 replica736737 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"738739 type warning found at:740 │741 77 │ %Replica{replica | last_heartbeat_at: now_ms()}742 │ ~743 │744 └─ lib/phoenix/tracker/replica.ex:77:5: Phoenix.Tracker.Replica.touch_last_heartbeat/1745746 warning: a struct for Phoenix.Tracker.State is expected on struct update:747748 %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}749750 but got type:751752 dynamic()753754 where "delta" was given the type:755756 # type: dynamic()757 # from: lib/phoenix/tracker/state.ex:541:99758 %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =759 state760761 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"762763 type warning found at:764 │765 547 │ delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}766 │ ~767 │768 └─ lib/phoenix/tracker/state.ex:547:19: Phoenix.Tracker.State.bump_clock/1769770 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead771 │772 269 │ worker(Phoenix.Tracker.Shard, [tracker, tracker_opts, shard_opts],773 │ ~774 │775 └─ lib/phoenix/tracker.ex:269:9: Phoenix.Tracker.init/1776777 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead778 │779 273 │ supervise(shards, strategy: :one_for_one,780 │ ~781 │782 └─ lib/phoenix/tracker.ex:273:5: Phoenix.Tracker.init/1783784 warning: a struct for Phoenix.Tracker.State is expected on struct update:785786 %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}787788 but got type:789790 dynamic(%{..., range: {term(), term()}})791792 where "delta" was given the type:793794 # type: dynamic(%{..., range: {term(), term()}})795 # from: lib/phoenix/tracker/state.ex:551:30796 {start_clock, end_clock} = delta.range797798 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"799800 type warning found at:801 │802 555 │ delta: %State{delta | range: {start_clock, new_end}}}803 │ ~804 │805 └─ lib/phoenix/tracker/state.ex:555:19: Phoenix.Tracker.State.put_context/2806807 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: :pg2.join/2 is undefined or private, this module was removed in OTP 24. Use 'pg' instead829 │830 44 │ :ok = :pg2.join(pg2_group, self())831 │ ~832 │833 └─ lib/phoenix/pubsub/pg2_server.ex:44:16: Phoenix.PubSub.PG2Server.init/1834835 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead836 │837 94 │ worker(Phoenix.PubSub.PG2Server, [server, pool_size])838 │ ~839 │840 └─ lib/phoenix/pubsub/pg2.ex:94:7: Phoenix.PubSub.PG2.init/1841842 warning: :pg2.get_members/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead843 │844 57 │ :pg2.get_members(pg2_namespace(server_name))845 │ ~846 │847 └─ lib/phoenix/pubsub/pg2_server.ex:57:10: Phoenix.PubSub.PG2Server.get_members/1848849 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead850 │851 97 │ supervise(children, strategy: :rest_for_one)852 │ ~853 │854 └─ lib/phoenix/pubsub/pg2.ex:97:5: Phoenix.PubSub.PG2.init/1855856 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead857 │858 35 │ worker(Phoenix.PubSub.GC, [gc_shard_name, local_shard_name]),859 │ ~860 │861 └─ lib/phoenix/pubsub/local_supervisor.ex:35:9: Phoenix.PubSub.LocalSupervisor.init/1862 └─ lib/phoenix/pubsub/local_supervisor.ex:36:9: Phoenix.PubSub.LocalSupervisor.init/1863864 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead865 │866 39 │ supervisor(Supervisor, [shard_children, [strategy: :one_for_all]], id: shard)867 │ ~868 │869 └─ lib/phoenix/pubsub/local_supervisor.ex:39:7: Phoenix.PubSub.LocalSupervisor.init/1870871 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead872 │873 42 │ supervise children, strategy: :one_for_one874 │ ~875 │876 └─ lib/phoenix/pubsub/local_supervisor.ex:42:5: Phoenix.PubSub.LocalSupervisor.init/1877878Generated phoenix_pubsub app879warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"880 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2881 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1882 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5883 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2884 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4885 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2886887==> plug888Compiling 44 files (.ex)889warning: cannot infer signatures from :cowboy because it is not loaded890891warning: cannot infer signatures from :cowlib because it is not loaded892893warning: cannot infer signatures from :ranch because it is not loaded894895warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead896 lib/plug/adapters/cowboy.ex:220: Plug.Adapters.Cowboy.put_ssl_file/3897898warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead899 lib/plug/adapters/cowboy.ex:238: Plug.Adapters.Cowboy.to_char_list/2900901 warning: using single-quoted strings to represent charlists is deprecated.902 Use ~c"" if you indeed want a charlist or use "" instead.903 You may run "mix format --migrate" to change all single-quoted904 strings to use the ~c sigil and fix this warning.905 │906 230 │ generated? = :erlang.system_info(:otp_release) >= '19'907 │ ~908 │909 └─ lib/plug/builder.ex:230:55910911 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead912 │913 421 │ when not state in @unsent do914 │ ~915 │916 └─ lib/plug/conn.ex:421:22917918 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead919 │920 445 │ when not state in @unsent do921 │ ~922 │923 └─ lib/plug/conn.ex:445:22924925 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead926 │927 497 │ when not state in @unsent do928 │ ~929 │930 └─ lib/plug/conn.ex:497:22931932 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead933 │934 883 │ def put_session(%Conn{state: state}, _key, _value) when not state in @unsent,935 │ ~936 │937 └─ lib/plug/conn.ex:883:69938939 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead940 │941 907 │ def delete_session(%Conn{state: state}, _key) when not state in @unsent,942 │ ~943 │944 └─ lib/plug/conn.ex:907:64945946 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead947 │948 939 │ def configure_session(%Conn{state: state}, _opts) when not state in @unsent,949 │ ~950 │951 └─ lib/plug/conn.ex:939:68952953 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead954 │955 961 │ when not state in @unsent do956 │ ~957 │958 └─ lib/plug/conn.ex:961:22959960 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead961 │962 6 │ custom_statuses = Application.get_env(:plug, :statuses, %{})963 │ ~964 │965 └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)966967 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead968 │969 65 │ mask(left, right, <<acc::binary, x ^^^ y>>)970 │ ~971 │972 └─ lib/plug/crypto.ex:65:40973974 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead975 │976 87 │ masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))977 │ ~978 │979 └─ lib/plug/crypto.ex:87:50980981 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead982 │983 87 │ masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))984 │ ~985 │986 └─ lib/plug/crypto.ex:87:57987988 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead989 │990 108 │ secure_compare(left, right, acc ||| (x ^^^ y))991 │ ~992 │993 └─ lib/plug/crypto.ex:108:44994995 warning: use Bitwise is deprecated. import Bitwise instead996 │997 6 │ use Bitwise998 │ ~~~~~~~~~~~999 │1000 └─ lib/plug/crypto.ex:6: Plug.Crypto (module)10011002 warning: use Bitwise is deprecated. import Bitwise instead1003 │1004 13 │ use Bitwise1005 │ ~~~~~~~~~~~1006 │1007 └─ lib/plug/crypto/key_generator.ex:13: Plug.Crypto.KeyGenerator (module)10081009 warning: the variable "max_length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1010 │1011 59 │ <<bin::binary-size(max_length), _::binary>> = key1012 │ ~1013 │1014 └─ lib/plug/crypto/key_generator.ex:59:24: Plug.Crypto.KeyGenerator.generate/710151016 warning: unused require Bitwise1017 │1018 64 │ require Bitwise1019 │ ~1020 │1021 └─ lib/plug/csrf_protection.ex:64:310221023 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1024 │1025 4 │ if Application.get_env(:plug, :mimes) do1026 │ ~1027 │1028 └─ lib/plug/mime.ex:4:18: Plug.MIME (module)10291030 warning: unused require Logger1031 │1032 32 │ require Logger1033 │ ~1034 │1035 └─ lib/plug/request_id.ex:32:310361037 warning: calling super for GenServer callback handle_info/2 is deprecated1038 │1039 164 │ super(msg, state)1040 │ ~1041 │1042 └─ lib/plug/upload.ex:164:5: Plug.Upload.handle_info/210431044 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1045 │1046 39 │ reraise e, System.stacktrace1047 │ ~1048 │1049 └─ lib/plug/parsers/multipart.ex:39:27: Plug.Parsers.MULTIPART.parse/51050 └─ lib/plug/parsers/multipart.ex:41:73: Plug.Parsers.MULTIPART.parse/510511052 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1053 │1054 12 │ worker(Plug.Upload, [])1055 │ ~1056 │1057 └─ lib/plug/supervisor.ex:12:7: Plug.Supervisor.init/110581059 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1060 │1061 16 │ supervise(children, strategy: :one_for_one)1062 │ ~1063 │1064 └─ lib/plug/supervisor.ex:16:5: Plug.Supervisor.init/110651066 warning: 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 139 │ __catch__(conn, kind, reason, System.stacktrace, opts)1083 │ ~1084 │1085 └─ lib/plug/debugger.ex:139:42: Plug.Debugger.__catch__/410861087 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1088 │1089 82 │ __catch__(conn, kind, reason, reason, System.stacktrace, handle_errors)1090 │ ~1091 │1092 └─ lib/plug/error_handler.ex:82:50: Plug.ErrorHandler.__catch__/410931094 warning: String.rstrip/1 is deprecated. Use String.trim_trailing/1 instead1095 │1096 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>1097 │ ~1098 │1099 └─ lib/plug/templates/debugger.html.eex:635:206: Plug.Debugger.template_html/111001101 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 instead1102 │1103 57 │ {cipher_text, cipher_tag} = :crypto.block_encrypt(:aes_gcm, key, iv, {aad, plain_text})1104 │ ~1105 │1106 └─ lib/plug/crypto/message_encryptor.ex:57:41: Plug.Crypto.MessageEncryptor.aes128_gcm_encrypt/31107 └─ lib/plug/crypto/message_encryptor.ex:104:41: Plug.Crypto.MessageEncryptor.aes_gcm_key_wrap/31108 └─ lib/plug/crypto/message_encryptor.ex:314:13: Plug.Crypto.MessageEncryptor.encrypt_legacy/41109 └─ lib/plug/crypto/message_encryptor.ex:332:27: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_encrypt/311101111 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1112 │1113 41 │ signature = :crypto.hmac(:sha, key, plain_text)1114 │ ~1115 │1116 └─ lib/plug/crypto/message_verifier.ex:41:26: Plug.Crypto.MessageVerifier.hmac_sha1_sign/21117 └─ lib/plug/crypto/message_verifier.ex:49:29: Plug.Crypto.MessageVerifier.hmac_sha1_verify/21118 └─ lib/plug/crypto/message_verifier.ex:71:26: Plug.Crypto.MessageVerifier.hmac_sha2_sign/31119 └─ lib/plug/crypto/message_verifier.ex:80:29: Plug.Crypto.MessageVerifier.hmac_sha2_verify/211201121 warning: :crypto.block_decrypt/4 is undefined or private, use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_init + crypto:crypto_update + crypto:crypto_final instead1122 │1123 79 │ :crypto.block_decrypt(:aes_gcm, key, iv, {aad, cipher_text, cipher_tag})1124 │ ~1125 │1126 └─ lib/plug/crypto/message_encryptor.ex:79:21: Plug.Crypto.MessageEncryptor.aes128_gcm_decrypt/31127 └─ lib/plug/crypto/message_encryptor.ex:120:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31128 └─ lib/plug/crypto/message_encryptor.ex:122:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31129 └─ lib/plug/crypto/message_encryptor.ex:124:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31130 └─ lib/plug/crypto/message_encryptor.ex:321:13: Plug.Crypto.MessageEncryptor.decrypt_legacy/41131 └─ lib/plug/crypto/message_encryptor.ex:349:17: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_decrypt/311321133 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1134 │1135 275 │ cipher_tag = Base.url_encode64(:crypto.hmac(:sha, sign_secret, cipher_text))1136 │ ~1137 │1138 └─ lib/plug/crypto/message_encryptor.ex:275:44: Plug.Crypto.MessageEncryptor.encode_legacy_token/31139 └─ lib/plug/crypto/message_encryptor.ex:291:44: Plug.Crypto.MessageEncryptor.decode_legacy_token/211401141 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1142 │1143 78 │ &:crypto.hmac(digest, secret, &1)1144 │ ~1145 │1146 └─ lib/plug/crypto/key_generator.ex:78:14: Plug.Crypto.KeyGenerator.mac_fun/211471148 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1149 │1150 21 │ stack = System.stacktrace1151 │ ~1152 │1153 └─ lib/plug/conn/wrapper_error.ex:21:22: Plug.Conn.WrapperError.reraise/31154 └─ lib/plug/conn/wrapper_error.ex:26:40: Plug.Conn.WrapperError.reraise/311551156 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1157 │1158 21 │ stack = System.stacktrace()1159 │ ~1160 │1161 └─ lib/plug/adapters/cowboy/handler.ex:21:24: Plug.Adapters.Cowboy.Handler.upgrade/41162 └─ lib/plug/adapters/cowboy/handler.ex:26:24: Plug.Adapters.Cowboy.Handler.upgrade/41163 └─ lib/plug/adapters/cowboy/handler.ex:30:24: Plug.Adapters.Cowboy.Handler.upgrade/411641165 warning: a struct for Plug.Conn is expected on struct update:11661167 %Plug.Conn{1168 conn1169 | adapter: {Plug.Adapters.Test.Conn, state},1170 host: uri.host || conn.host || "www.example.com",1171 method: method,1172 owner: owner,1173 path_info: split_path(uri.path),1174 port: uri.port || 80,1175 peer: {{127, 0, 0, 1}, 111_317},1176 remote_ip: {127, 0, 0, 1},1177 req_headers: req_headers,1178 request_path: uri.path,1179 query_string: query,1180 params: params || %Plug.Conn.Unfetched{aspect: :params},1181 scheme: String.to_atom(String.downcase(uri.scheme || "http"))1182 }11831184 but got type:11851186 dynamic(%{..., req_headers: term()})11871188 where "conn" was given the type:11891190 # type: dynamic(%{..., req_headers: term()})1191 # from: lib/plug/adapters/test/conn.ex:15:351192 body_or_params(body_or_params, query, conn.req_headers)11931194 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11951196 type warning found at:1197 │1198 19 │ %Plug.Conn{conn |1199 │ ~1200 │1201 └─ lib/plug/adapters/test/conn.ex:19:5: Plug.Adapters.Test.Conn.conn/412021203 warning: Atom.to_char_list/1 is deprecated. Use Atom.to_charlist/1 instead1204 │1205 186 │ case Atom.to_char_list(plug) do1206 │ ~1207 │1208 └─ lib/plug/builder.ex:186:15: Plug.Builder.init_plug/112091210 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1211 │1212 43 │ Enum.partition(cowboy_options, &is_tuple(&1) and tuple_size(&1) == 2)1213 │ ~1214 │1215 └─ lib/plug/adapters/cowboy.ex:43:12: Plug.Adapters.Cowboy.args/412161217Generated plug app1218warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1219 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21220 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11221 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51222 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21223 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41224 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212251226==> phoenix1227Compiling 75 files (.ex)1228 warning: the variable "prefix" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1229 │1230 170 │ <<attr::size(prefix)-binary, ":unique">> -> attr1231 │ ~1232 │1233 └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/112341235 warning: using single-quoted strings to represent charlists is deprecated.1236 Use ~c"" if you indeed want a charlist or use "" instead.1237 You may run "mix format --migrate" to change all single-quoted1238 strings to use the ~c sigil and fix this warning.1239 │1240 310 │ :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',1241 │ ~1242 │1243 └─ lib/phoenix/channel/server.ex:310:3112441245 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1246 │1247 39 │ Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>1248 │ ~1249 │1250 └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/312511252 warning: unused require Logger1253 │1254 20 │ require Logger1255 │ ~1256 │1257 └─ lib/phoenix/endpoint/handler.ex:20:312581259 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1260 │1261 39 │ Logger.warn """1262 │ ~1263 │1264 └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/112651266 warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1267 │1268 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1269 │ ~1270 │1271 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/212721273 warning: using single-quoted strings to represent charlists is deprecated.1274 Use ~c"" if you indeed want a charlist or use "" instead.1275 You may run "mix format --migrate" to change all single-quoted1276 strings to use the ~c sigil and fix this warning.1277 │1278 315 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1279 │ ~1280 │1281 └─ lib/phoenix/router.ex:315:5012821283 warning: using single-quoted strings to represent charlists is deprecated.1284 Use ~c"" if you indeed want a charlist or use "" instead.1285 You may run "mix format --migrate" to change all single-quoted1286 strings to use the ~c sigil and fix this warning.1287 │1288 195 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1289 │ ~1290 │1291 └─ lib/phoenix/router/helpers.ex:195:5012921293 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12941295 This error happens when you have function calls without parentheses inside keywords. For example:12961297 function(arg, one: nested_call a, b, c)1298 function(arg, one: if expr, do: :this, else: :that)12991300 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:13011302 function(arg, one: if(expr, do: :this, else: :that))1303 function(arg, one: nested_call(a, b, c))13041305 Ambiguity found at:1306 │1307 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """1308 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1309 │1310 └─ lib/phoenix/router/resource.ex:7113111312 warning: duplicate key :route found in struct1313 │1314 24 │ defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]1315 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1316 │1317 └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)13181319 warning: 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: unknown key .__pubsub_server__ in expression:13891390 endpoint.__pubsub_server__13911392 the given type does not have the given key:13931394 dynamic(1395 %Phoenix.Socket{1396 id: term(),1397 assigns: term(),1398 channel: term(),1399 channel_pid: term(),1400 endpoint: atom(),1401 handler: term(),1402 joined: term(),1403 pubsub_server: term(),1404 ref: term(),1405 join_ref: term(),1406 topic: term(),1407 transport: term(),1408 transport_pid: term(),1409 transport_name: term(),1410 serializer: term(),1411 private: term(),1412 vsn: term()1413 } or1414 %Plug.Conn{1415 adapter: term(),1416 assigns: term(),1417 before_send: term(),1418 body_params: term(),1419 cookies: term(),1420 halted: term(),1421 host: term(),1422 method: term(),1423 owner: term(),1424 params: term(),1425 path_params: term(),1426 path_info: term(),1427 port: term(),1428 private: term(),1429 query_params: term(),1430 query_string: term(),1431 peer: term(),1432 remote_ip: term(),1433 req_cookies: term(),1434 req_headers: term(),1435 request_path: term(),1436 resp_body: term(),1437 resp_cookies: term(),1438 resp_headers: term(),1439 scheme: term(),1440 script_name: term(),1441 secret_key_base: term(),1442 state: term(),1443 status: term()1444 } or atom() or binary()1445 )14461447 where "endpoint" was given the type:14481449 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())1450 # from: lib/phoenix/transports/long_poll.ex:254:191451 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])14521453 type warning found at:1454 │1455 254 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])1456 │ ~~~~~~~~~~~~~~~~~1457 │1458 └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/314591460 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1461 │1462 647 │ exception -> {:error, {exception, System.stacktrace()}}1463 │ ~1464 │1465 └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/114661467 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 | query_params: %{}, params: params}15571558 but got type:15591560 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})15611562 where "conn" was given the types:15631564 # type: dynamic(%{..., params: term()})1565 # from: lib/phoenix/endpoint/render_errors.ex:94:171566 conn.params15671568 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1569 # from: lib/phoenix/endpoint/render_errors.ex:94:171570 conn.params15711572 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15731574 type warning found at:1575 │1576 96 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1577 │ ~1578 │1579 └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115801581 warning: a struct for Plug.Conn is expected on struct update:15821583 %Plug.Conn{conn | params: params}15841585 but got type:15861587 dynamic(%{..., params: map()})15881589 where "conn" was given the type:15901591 # type: dynamic(%{..., params: map()})1592 # from: lib/phoenix/controller.ex:912:171593 Map.get(conn.params, required_key)15941595 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15961597 type warning found at:1598 │1599 919 │ %Plug.Conn{conn | params: params}1600 │ ~1601 │1602 └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/216031604 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: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1665 │1666 84 │ [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]1667 │ ~1668 │1669 └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/21670 └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/31671 └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/316721673 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1674 │1675 106 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),1676 │ ~1677 │1678 └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/316791680 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1681 │1682 284 │ Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())1683 │ ~1684 │1685 └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/116861687 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: incompatible types given to Plug.Adapters.Cowboy.child_spec/4:17191720 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)17211722 given types:17231724 (1725 dynamic(:http or :https),1726 -dynamic(%{..., __sockets__: term()})-,1727 empty_list(),1728 dynamic(empty_list() or non_empty_list(term(), term()))1729 )17301731 but expected one of:17321733 :http or :https, atom() or binary(), term(), term()17341735 where "config" was given the type:17361737 # type: dynamic(empty_list() or non_empty_list(term(), term()))1738 # from: lib/phoenix/endpoint/cowboy_handler.ex:78:121739 config = Keyword.put_new(config, :dispatch, _: dispatches)17401741 where "endpoint" was given the type:17421743 # type: dynamic(%{..., __sockets__: term()})1744 # from: lib/phoenix/endpoint/cowboy_handler.ex:66:261745 {path, socket} <- endpoint.__sockets__17461747 where "scheme" was given the types:17481749 # type: dynamic()1750 # from: lib/phoenix/endpoint/cowboy_handler.ex:60:181751 scheme17521753 # type: dynamic(:http or :https)1754 # from: lib/phoenix/endpoint/cowboy_handler.ex:81:281755 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)17561757 type warning found at:1758 │1759 81 │ Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)1760 │ ~1761 │1762 └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/317631764 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1765 │1766 39 │ {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)1767 │ ~1768 │1769 └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/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 1st pattern in clause will never match:19241925 3819261927 because it is expected to receive type:19281929 dynamic(empty_list() or non_empty_list(term(), term()))19301931 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19321933 type warning found at:1934 │1935 58 │ def to_iodata(?&), do: "&"1936 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1937 │1938 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/119391940 warning: the 1st pattern in clause will never match:19411942 3419431944 because it is expected to receive type:19451946 dynamic(empty_list() or non_empty_list(term(), term()))19471948 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19491950 type warning found at:1951 │1952 59 │ def to_iodata(?"), do: """1953 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1954 │1955 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/119561957 warning: the 1st pattern in clause will never match:19581959 3919601961 because it is expected to receive type:19621963 dynamic(empty_list() or non_empty_list(term(), term()))19641965 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19661967 type warning found at:1968 │1969 60 │ def to_iodata(?'), do: "'"1970 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1971 │1972 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/119731974 warning: the 1st pattern in clause will never match:19751976 {:safe, data}19771978 because it is expected to receive type:19791980 dynamic(empty_list() or non_empty_list(term(), term()))19811982 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19831984 type warning found at:1985 │1986 75 │ def to_iodata({:safe, data}) do1987 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1988 │1989 └─ lib/phoenix_html/safe.ex:75: Phoenix.HTML.Safe.List.to_iodata/119901991 warning: the following clause is redundant:19921993 def to_iodata(other)19941995 it has type:19961997 dynamic(empty_list() or non_empty_list(term(), term()))19981999 previous clauses have already matched on the following types:20002001 non_empty_list(term(), term())2002 empty_list()20032004 │2005 79 │ def to_iodata(other) do2006 │ ~2007 │2008 └─ lib/phoenix_html/safe.ex:79:7: Phoenix.HTML.Safe.List.to_iodata/120092010 warning: the 1st pattern in clause will never match:20112012 h20132014 because it is expected to receive type:20152016 dynamic(empty_list() or non_empty_list(term(), term()))20172018 where "h" was given the type:20192020 # type: integer()2021 # from: lib/phoenix_html/safe.ex:62:252022 is_integer(h)20232024 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20252026 type warning found at:2027 │2028 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do2029 │ ~2030 │2031 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/120322033 warning: the 1st pattern in clause will never match:20342035 h20362037 because it is expected to receive type:20382039 dynamic(empty_list() or non_empty_list(term(), term()))20402041 where "h" was given the type:20422043 # type: integer()2044 # from: lib/phoenix_html/safe.ex:65:252045 is_integer(h)20462047 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20482049 type warning found at:2050 │2051 65 │ def to_iodata(h) when is_integer(h) do2052 │ ~2053 │2054 └─ lib/phoenix_html/safe.ex:65:17: Phoenix.HTML.Safe.List.to_iodata/120552056 warning: the right-hand side of || will never be executed:20572058 selected(form, field, opts) || ...20592060 because the left-hand side always evaluates to:20612062 dynamic({term(), term()})20632064 where "field" was given the type:20652066 # type: dynamic()2067 # from: lib/phoenix_html/form.ex:830:202068 field20692070 where "form" was given the type:20712072 # type: dynamic()2073 # from: lib/phoenix_html/form.ex:830:142074 form20752076 where "opts" was given the types:20772078 # type: dynamic()2079 # from: lib/phoenix_html/form.ex:830:362080 opts20812082 # type: dynamic(empty_list() or non_empty_list(term(), term()))2083 # from: lib/phoenix_html/form.ex:831:242084 selected(form, field, opts)20852086 type warning found at:2087 │2088 831 │ {selected, opts} = selected(form, field, opts) || []2089 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2090 │2091 └─ lib/phoenix_html/form.ex:831: Phoenix.HTML.Form.select/420922093 warning: the 1st pattern in clause will never match:20942095 h20962097 because it is expected to receive type:20982099 dynamic(empty_list() or non_empty_list(term(), term()))21002101 where "h" was given the type:21022103 # type: binary()2104 # from: lib/phoenix_html/safe.ex:71:252105 is_binary(h)21062107 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21082109 type warning found at:2110 │2111 71 │ def to_iodata(h) when is_binary(h) do2112 │ ~2113 │2114 └─ lib/phoenix_html/safe.ex:71:17: Phoenix.HTML.Safe.List.to_iodata/121152116 warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)2117 │2118 1 │ defmodule Phoenix.HTML.Engine do2119 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2120 │2121 └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)21222123 warning: the following clause is redundant:21242125 def handle_text("", text)21262127 it has type:21282129 binary(), dynamic()21302131 previous clauses have already matched on the following types:21322133 term(), term()21342135 │2136 28 │ def handle_text("", text) do # Required for Elixir < v1.5.12137 │ ~2138 │2139 └─ lib/phoenix_html/engine.ex:28:7: Phoenix.HTML.Engine.handle_text/221402141 warning: the following clause is redundant:21422143 def handle_text({:safe, buffer}, text)21442145 it has type:21462147 dynamic({:safe, term()}), dynamic()21482149 previous clauses have already matched on the following types:21502151 term(), term()21522153 │2154 32 │ def handle_text({:safe, buffer}, text) do2155 │ ~2156 │2157 └─ lib/phoenix_html/engine.ex:32:7: Phoenix.HTML.Engine.handle_text/221582159Generated phoenix_html app2160==> tracy2161Compiling 8 files (.ex)2162 warning: invalid type annotation. The left side of :: must be a variable, got: fun()2163 │2164 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2165 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2166 │2167 └─ lib/tracy.ex:23: Tracy (module)21682169 warning: invalid type annotation. Type annotations cannot be nested: metadata :: fun() :: map() | nil2170 │2171 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2172 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2173 │2174 └─ lib/tracy.ex:23: Tracy (module)21752176 warning: invalid type annotation. The left side of :: must be a variable, got: fun()2177 │2178 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2179 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2180 │2181 └─ lib/tracy.ex:23: Tracy (module)21822183 warning: unused require Logger2184 │2185 3 │ require Logger2186 │ ~2187 │2188 └─ lib/tracy/plug.ex:3:321892190 warning: unused require Logger2191 │2192 3 │ require Logger2193 │ ~2194 │2195 └─ lib/tracy/util.ex:3:321962197 warning: a struct for Tracy.Tracer.State is expected on struct update:21982199 %Tracy.Tracer.State{state | count: state.count + 1}22002201 but got type:22022203 dynamic(%{..., pid: term()})22042205 where "state" was given the type:22062207 # type: dynamic(%{..., pid: term()})2208 # from: lib/tracy/tracer.ex:47:552209 state = %{pid: pid}22102211 when defining the variable "state", you must also pattern match on "%Tracy.Tracer.State{}"22122213 type warning found at:2214 │2215 48 │ state = %State{state | count: state.count + 1}2216 │ ~2217 │2218 └─ lib/tracy/tracer.ex:48:13: Tracy.Tracer.handle_info/222192220 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead2221 │2222 10 │ worker(Tracy.Tracer, [], restart: :transient)2223 │ ~2224 │2225 └─ lib/tracy/trace_supervisor.ex:10:7: Tracy.TraceSupervisor.init/122262227 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2228 │2229 12 │ supervise(children, strategy: :simple_one_for_one)2230 │ ~2231 │2232 └─ lib/tracy/trace_supervisor.ex:12:5: Tracy.TraceSupervisor.init/122332234 warning: the following clause will never match:22352236 nil ->22372238 because it attempts to match on the result of:22392240 Plug.Conn.get_req_header(conn, "x-tracy-definition")22412242 which has type:22432244 dynamic(list(term()))22452246 type warning found at:2247 │2248 13 │ nil ->2249 │ ~~~~~~2250 │2251 └─ lib/tracy/plug.ex:13: Tracy.Plug.call/222522253 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/page_view.ex ==2308** (RuntimeError) unexpected EEx.Engine state: {:safe, ""}. This typically means a bug or an outdated EEx.Engine or tool2309 (eex 1.20.3) lib/eex/engine.ex:226: EEx.Engine.check_state!/12310 (eex 1.20.3) lib/eex/engine.ex:189: EEx.Engine.handle_text/32311 (eex 1.20.3) lib/eex/compiler.ex:338: EEx.Compiler.generate_buffer/42312 (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/22313 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/22314 (phoenix 1.3.5) expanding macro: Phoenix.Template.__before_compile__/12315 lib/tracy_web/web/views/page_view.ex:1: TracyWeb.Web.PageView (module)2316could not compile dependency :tracy_web, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile tracy_web --force", update it with "mix deps.update tracy_web" or clean it with "mix deps.clean tracy_web"