Build log
nerves_system_bbb
tracy_web 0.0.1-rc.1 · fail · run tracy_web-0.0.1-rc.1-1791143770106
2314 of 2314 lines
1Resolving Hex dependencies...2Resolution completed in 0.225s3Unchanged: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_bbb/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_ssl.erl:331 │332 128 │ case ssl:ssl_accept(CSocket, Timeout) of333 │ ╰── Warning: ssl:ssl_accept/2 is removed; use ssl:handshake/1,2,3 instead334335 ┌─ src/ranch_ssl.erl:336 │337 233 │ end, ssl:cipher_suites());338 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead339340 ┌─ src/ranch_ssl.erl:341 │342 235 │ ssl:cipher_suites()343 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead344345346 ┌─ src/ranch.erl:347 │348 73 │ catch Transport:controlling_process(Socket, AcceptorsSup);349 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.350Compile directive 'nowarn_deprecated_catch' can be used to suppress351warnings in selected modules.352353354 ┌─ 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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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_armv7_nerves_linux_gnueabihf536Compiling 1 file (.ex)537Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app538==> nerves_compatibility_test539===> Analyzing applications...540===> Compiling cowboy541 ┌─ src/cowboy_websocket.erl:542 │543 147 │ Stacktrace = erlang:get_stacktrace(),544 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace545546 ┌─ src/cowboy_websocket.erl:547 │548 645 │ {stacktrace, erlang:get_stacktrace()},549 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace550551 ┌─ src/cowboy_websocket.erl:552 │553 755 │ {stacktrace, erlang:get_stacktrace()},554 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace555556557 ┌─ src/cowboy_rest.erl:558 │559 69 │ Stacktrace = erlang:get_stacktrace(),560 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace561562 ┌─ src/cowboy_rest.erl:563 │564 1006 │ Stacktrace = erlang:get_stacktrace(),565 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace566567568 ┌─ src/cowboy_handler.erl:569 │570 87 │ Stacktrace = erlang:get_stacktrace(),571 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace572573 ┌─ src/cowboy_handler.erl:574 │575 116 │ Stacktrace = erlang:get_stacktrace(),576 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace577578 ┌─ src/cowboy_handler.erl:579 │580 235 │ Stacktrace = erlang:get_stacktrace(),581 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace582583 ┌─ src/cowboy_handler.erl:584 │585 290 │ {stacktrace, erlang:get_stacktrace()},586 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace587588589==> expo590Compiling 2 files (.erl)591Compiling 22 files (.ex)592Generated expo app593==> gettext594Compiling 18 files (.ex)595 warning: unused require Gettext.Macros596 │597 594 │ require Gettext.Macros598 │ ~599 │600 └─ lib/gettext.ex:594:3601602 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead603 │604 426 │ Kernel.ParallelCompiler.async(fn ->605 │ ~606 │607 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3608609 warning: the following clause is redundant:610611 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)612613 it has type:614615 dynamic(%Expo.Message.Plural{})616617 previous clauses have already matched on the following types:618619 %Expo.Message.Singular{}620 %Expo.Message.Plural{}621622 │623 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do624 │ ~625 │626 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1627628Generated gettext app629==> phoenix_pubsub630Compiling 13 files (.ex)631 warning: single quotes around atoms are deprecated. Use double quotes instead632 │633 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])634 │ ~635 │636 └─ lib/phoenix/pubsub/local.ex:160:23637638 warning: single quotes around atoms are deprecated. Use double quotes instead639 │640 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])641 │ ~642 │643 └─ lib/phoenix/pubsub/local.ex:160:40644645 warning: unused require Logger646 │647 107 │ require Logger648 │ ~649 │650 └─ lib/phoenix/tracker.ex:107:3651652 warning: a struct for Phoenix.Tracker.State is expected on struct update:653654 %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}655656 but got type:657658 dynamic()659660 where "delta" was given the type:661662 # type: dynamic()663 # from: lib/phoenix/tracker/state.ex:461:36664 %Phoenix.Tracker.State{delta: delta} = state665666 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"667668 type warning found at:669 │670 465 │ new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}671 │ ~672 │673 └─ lib/phoenix/tracker/state.ex:465:17: Phoenix.Tracker.State.do_add/5674675 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:676677 %Phoenix.Tracker.Replica{replica | status: :permdown}678679 but got type:680681 dynamic()682683 where "replica" was given the type:684685 # type: dynamic()686 # from: lib/phoenix/tracker/replica.ex:72:17687 replica688689 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"690691 type warning found at:692 │693 72 │ defp permdown(replica), do: %Replica{replica | status: :permdown}694 │ ~695 │696 └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1697698 warning: a struct for Phoenix.Tracker.State is expected on struct update:699700 %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}701702 but got type:703704 dynamic()705706 where "delta" was given the type:707708 # type: dynamic()709 # from: lib/phoenix/tracker/state.ex:541:99710 %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =711 state712713 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"714715 type warning found at:716 │717 547 │ delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}718 │ ~719 │720 └─ lib/phoenix/tracker/state.ex:547:19: Phoenix.Tracker.State.bump_clock/1721722 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:723724 %Phoenix.Tracker.Replica{replica | status: :down}725726 but got type:727728 dynamic()729730 where "replica" was given the type:731732 # type: dynamic()733 # from: lib/phoenix/tracker/replica.ex:74:13734 replica735736 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"737738 type warning found at:739 │740 74 │ defp down(replica), do: %Replica{replica | status: :down}741 │ ~742 │743 └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/1744745 warning: a struct for Phoenix.Tracker.State is expected on struct update:746747 %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}748749 but got type:750751 dynamic(%{..., range: {term(), term()}})752753 where "delta" was given the type:754755 # type: dynamic(%{..., range: {term(), term()}})756 # from: lib/phoenix/tracker/state.ex:551:30757 {start_clock, end_clock} = delta.range758759 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"760761 type warning found at:762 │763 555 │ delta: %State{delta | range: {start_clock, new_end}}}764 │ ~765 │766 └─ lib/phoenix/tracker/state.ex:555:19: Phoenix.Tracker.State.put_context/2767768 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:769770 %Phoenix.Tracker.Replica{replica | last_heartbeat_at: now_ms()}771772 but got type:773774 dynamic()775776 where "replica" was given the type:777778 # type: dynamic()779 # from: lib/phoenix/tracker/replica.ex:76:29780 replica781782 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"783784 type warning found at:785 │786 77 │ %Replica{replica | last_heartbeat_at: now_ms()}787 │ ~788 │789 └─ lib/phoenix/tracker/replica.ex:77:5: Phoenix.Tracker.Replica.touch_last_heartbeat/1790791 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead792 │793 269 │ worker(Phoenix.Tracker.Shard, [tracker, tracker_opts, shard_opts],794 │ ~795 │796 └─ lib/phoenix/tracker.ex:269:9: Phoenix.Tracker.init/1797798 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead799 │800 7 │ [supervisor(Phoenix.PubSub.PG2, pubsub)]801 │ ~802 │803 └─ lib/phoenix/pubsub/supervisor.ex:7:8: Phoenix.PubSub.Supervisor.start/2804805 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead806 │807 273 │ supervise(shards, strategy: :one_for_one,808 │ ~809 │810 └─ lib/phoenix/tracker.ex:273:5: Phoenix.Tracker.init/1811812 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead813 │814 93 │ supervisor(Phoenix.PubSub.LocalSupervisor, [server, pool_size, dispatch_rules]),815 │ ~816 │817 └─ lib/phoenix/pubsub/pg2.ex:93:7: Phoenix.PubSub.PG2.init/1818819 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead820 │821 94 │ worker(Phoenix.PubSub.PG2Server, [server, pool_size])822 │ ~823 │824 └─ lib/phoenix/pubsub/pg2.ex:94:7: Phoenix.PubSub.PG2.init/1825826 warning: :pg2.create/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead827 │828 43 │ :ok = :pg2.create(pg2_group)829 │ ~830 │831 └─ lib/phoenix/pubsub/pg2_server.ex:43:16: Phoenix.PubSub.PG2Server.init/1832833 warning: :pg2.join/2 is undefined or private, this module was removed in OTP 24. Use 'pg' instead834 │835 44 │ :ok = :pg2.join(pg2_group, self())836 │ ~837 │838 └─ lib/phoenix/pubsub/pg2_server.ex:44:16: Phoenix.PubSub.PG2Server.init/1839840 warning: :pg2.get_members/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead841 │842 57 │ :pg2.get_members(pg2_namespace(server_name))843 │ ~844 │845 └─ lib/phoenix/pubsub/pg2_server.ex:57:10: Phoenix.PubSub.PG2Server.get_members/1846847 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead848 │849 97 │ supervise(children, strategy: :rest_for_one)850 │ ~851 │852 └─ lib/phoenix/pubsub/pg2.ex:97:5: Phoenix.PubSub.PG2.init/1853854 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead855 │856 35 │ worker(Phoenix.PubSub.GC, [gc_shard_name, local_shard_name]),857 │ ~858 │859 └─ lib/phoenix/pubsub/local_supervisor.ex:35:9: Phoenix.PubSub.LocalSupervisor.init/1860 └─ lib/phoenix/pubsub/local_supervisor.ex:36:9: Phoenix.PubSub.LocalSupervisor.init/1861862 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead863 │864 39 │ supervisor(Supervisor, [shard_children, [strategy: :one_for_all]], id: shard)865 │ ~866 │867 └─ lib/phoenix/pubsub/local_supervisor.ex:39:7: Phoenix.PubSub.LocalSupervisor.init/1868869 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead870 │871 42 │ supervise children, strategy: :one_for_one872 │ ~873 │874 └─ lib/phoenix/pubsub/local_supervisor.ex:42:5: Phoenix.PubSub.LocalSupervisor.init/1875876Generated phoenix_pubsub app877warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"878 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2879 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1880 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5881 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2882 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4883 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2884885==> plug886Compiling 44 files (.ex)887warning: cannot infer signatures from :cowboy because it is not loaded888889warning: cannot infer signatures from :cowlib because it is not loaded890891warning: cannot infer signatures from :ranch because it is not loaded892893warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead894 lib/plug/adapters/cowboy.ex:220: Plug.Adapters.Cowboy.put_ssl_file/3895896warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead897 lib/plug/adapters/cowboy.ex:238: Plug.Adapters.Cowboy.to_char_list/2898899 warning: using single-quoted strings to represent charlists is deprecated.900 Use ~c"" if you indeed want a charlist or use "" instead.901 You may run "mix format --migrate" to change all single-quoted902 strings to use the ~c sigil and fix this warning.903 │904 230 │ generated? = :erlang.system_info(:otp_release) >= '19'905 │ ~906 │907 └─ lib/plug/builder.ex:230:55908909 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead910 │911 421 │ when not state in @unsent do912 │ ~913 │914 └─ lib/plug/conn.ex:421:22915916 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead917 │918 445 │ when not state in @unsent do919 │ ~920 │921 └─ lib/plug/conn.ex:445:22922923 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead924 │925 497 │ when not state in @unsent do926 │ ~927 │928 └─ lib/plug/conn.ex:497:22929930 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead931 │932 883 │ def put_session(%Conn{state: state}, _key, _value) when not state in @unsent,933 │ ~934 │935 └─ lib/plug/conn.ex:883:69936937 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead938 │939 907 │ def delete_session(%Conn{state: state}, _key) when not state in @unsent,940 │ ~941 │942 └─ lib/plug/conn.ex:907:64943944 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead945 │946 939 │ def configure_session(%Conn{state: state}, _opts) when not state in @unsent,947 │ ~948 │949 └─ lib/plug/conn.ex:939:68950951 warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead952 │953 961 │ when not state in @unsent do954 │ ~955 │956 └─ lib/plug/conn.ex:961:22957958 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead959 │960 6 │ custom_statuses = Application.get_env(:plug, :statuses, %{})961 │ ~962 │963 └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)964965 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead966 │967 65 │ mask(left, right, <<acc::binary, x ^^^ y>>)968 │ ~969 │970 └─ lib/plug/crypto.ex:65:40971972 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead973 │974 87 │ masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))975 │ ~976 │977 └─ lib/plug/crypto.ex:87:50978979 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead980 │981 87 │ masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))982 │ ~983 │984 └─ lib/plug/crypto.ex:87:57985986 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead987 │988 108 │ secure_compare(left, right, acc ||| (x ^^^ y))989 │ ~990 │991 └─ lib/plug/crypto.ex:108:44992993 warning: use Bitwise is deprecated. import Bitwise instead994 │995 6 │ use Bitwise996 │ ~~~~~~~~~~~997 │998 └─ lib/plug/crypto.ex:6: Plug.Crypto (module)9991000 warning: use Bitwise is deprecated. import Bitwise instead1001 │1002 13 │ use Bitwise1003 │ ~~~~~~~~~~~1004 │1005 └─ lib/plug/crypto/key_generator.ex:13: Plug.Crypto.KeyGenerator (module)10061007 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 operator1008 │1009 59 │ <<bin::binary-size(max_length), _::binary>> = key1010 │ ~1011 │1012 └─ lib/plug/crypto/key_generator.ex:59:24: Plug.Crypto.KeyGenerator.generate/710131014 warning: unused require Bitwise1015 │1016 64 │ require Bitwise1017 │ ~1018 │1019 └─ lib/plug/csrf_protection.ex:64:310201021 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1022 │1023 4 │ if Application.get_env(:plug, :mimes) do1024 │ ~1025 │1026 └─ lib/plug/mime.ex:4:18: Plug.MIME (module)10271028 warning: unused require Logger1029 │1030 32 │ require Logger1031 │ ~1032 │1033 └─ lib/plug/request_id.ex:32:310341035 warning: calling super for GenServer callback handle_info/2 is deprecated1036 │1037 164 │ super(msg, state)1038 │ ~1039 │1040 └─ lib/plug/upload.ex:164:5: Plug.Upload.handle_info/210411042 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1043 │1044 39 │ reraise e, System.stacktrace1045 │ ~1046 │1047 └─ lib/plug/parsers/multipart.ex:39:27: Plug.Parsers.MULTIPART.parse/51048 └─ lib/plug/parsers/multipart.ex:41:73: Plug.Parsers.MULTIPART.parse/510491050 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1051 │1052 12 │ worker(Plug.Upload, [])1053 │ ~1054 │1055 └─ lib/plug/supervisor.ex:12:7: Plug.Supervisor.init/110561057 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1058 │1059 16 │ supervise(children, strategy: :one_for_one)1060 │ ~1061 │1062 └─ lib/plug/supervisor.ex:16:5: Plug.Supervisor.init/110631064 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1065 │1066 210 │ if Code.ensure_compiled?(module) and function_exported?(module, :init, 1) do1067 │ ~1068 │1069 └─ lib/plug/parsers.ex:210:15: Plug.Parsers.convert_parsers/210701071 warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead1072 │1073 28 │ MIME.valid?(type)1074 │ ~1075 │1076 └─ lib/plug/mime.ex:28:10: Plug.MIME.valid?/110771078 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1079 │1080 139 │ __catch__(conn, kind, reason, System.stacktrace, opts)1081 │ ~1082 │1083 └─ lib/plug/debugger.ex:139:42: Plug.Debugger.__catch__/410841085 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1086 │1087 82 │ __catch__(conn, kind, reason, reason, System.stacktrace, handle_errors)1088 │ ~1089 │1090 └─ lib/plug/error_handler.ex:82:50: Plug.ErrorHandler.__catch__/410911092 warning: String.rstrip/1 is deprecated. Use String.trim_trailing/1 instead1093 │1094 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>1095 │ ~1096 │1097 └─ lib/plug/templates/debugger.html.eex:635:206: Plug.Debugger.template_html/110981099 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1100 │1101 41 │ signature = :crypto.hmac(:sha, key, plain_text)1102 │ ~1103 │1104 └─ lib/plug/crypto/message_verifier.ex:41:26: Plug.Crypto.MessageVerifier.hmac_sha1_sign/21105 └─ lib/plug/crypto/message_verifier.ex:49:29: Plug.Crypto.MessageVerifier.hmac_sha1_verify/21106 └─ lib/plug/crypto/message_verifier.ex:71:26: Plug.Crypto.MessageVerifier.hmac_sha2_sign/31107 └─ lib/plug/crypto/message_verifier.ex:80:29: Plug.Crypto.MessageVerifier.hmac_sha2_verify/211081109 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 instead1110 │1111 57 │ {cipher_text, cipher_tag} = :crypto.block_encrypt(:aes_gcm, key, iv, {aad, plain_text})1112 │ ~1113 │1114 └─ lib/plug/crypto/message_encryptor.ex:57:41: Plug.Crypto.MessageEncryptor.aes128_gcm_encrypt/31115 └─ lib/plug/crypto/message_encryptor.ex:104:41: Plug.Crypto.MessageEncryptor.aes_gcm_key_wrap/31116 └─ lib/plug/crypto/message_encryptor.ex:314:13: Plug.Crypto.MessageEncryptor.encrypt_legacy/41117 └─ lib/plug/crypto/message_encryptor.ex:332:27: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_encrypt/311181119 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 instead1120 │1121 79 │ :crypto.block_decrypt(:aes_gcm, key, iv, {aad, cipher_text, cipher_tag})1122 │ ~1123 │1124 └─ lib/plug/crypto/message_encryptor.ex:79:21: Plug.Crypto.MessageEncryptor.aes128_gcm_decrypt/31125 └─ lib/plug/crypto/message_encryptor.ex:120:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31126 └─ lib/plug/crypto/message_encryptor.ex:122:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31127 └─ lib/plug/crypto/message_encryptor.ex:124:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31128 └─ lib/plug/crypto/message_encryptor.ex:321:13: Plug.Crypto.MessageEncryptor.decrypt_legacy/41129 └─ lib/plug/crypto/message_encryptor.ex:349:17: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_decrypt/311301131 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1132 │1133 78 │ &:crypto.hmac(digest, secret, &1)1134 │ ~1135 │1136 └─ lib/plug/crypto/key_generator.ex:78:14: Plug.Crypto.KeyGenerator.mac_fun/211371138 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1139 │1140 275 │ cipher_tag = Base.url_encode64(:crypto.hmac(:sha, sign_secret, cipher_text))1141 │ ~1142 │1143 └─ lib/plug/crypto/message_encryptor.ex:275:44: Plug.Crypto.MessageEncryptor.encode_legacy_token/31144 └─ lib/plug/crypto/message_encryptor.ex:291:44: Plug.Crypto.MessageEncryptor.decode_legacy_token/211451146 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1147 │1148 21 │ stack = System.stacktrace()1149 │ ~1150 │1151 └─ lib/plug/adapters/cowboy/handler.ex:21:24: Plug.Adapters.Cowboy.Handler.upgrade/41152 └─ lib/plug/adapters/cowboy/handler.ex:26:24: Plug.Adapters.Cowboy.Handler.upgrade/41153 └─ lib/plug/adapters/cowboy/handler.ex:30:24: Plug.Adapters.Cowboy.Handler.upgrade/411541155 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1156 │1157 21 │ stack = System.stacktrace1158 │ ~1159 │1160 └─ lib/plug/conn/wrapper_error.ex:21:22: Plug.Conn.WrapperError.reraise/31161 └─ lib/plug/conn/wrapper_error.ex:26:40: Plug.Conn.WrapperError.reraise/311621163 warning: a struct for Plug.Conn is expected on struct update:11641165 %Plug.Conn{1166 conn1167 | adapter: {Plug.Adapters.Test.Conn, state},1168 host: uri.host || conn.host || "www.example.com",1169 method: method,1170 owner: owner,1171 path_info: split_path(uri.path),1172 port: uri.port || 80,1173 peer: {{127, 0, 0, 1}, 111_317},1174 remote_ip: {127, 0, 0, 1},1175 req_headers: req_headers,1176 request_path: uri.path,1177 query_string: query,1178 params: params || %Plug.Conn.Unfetched{aspect: :params},1179 scheme: String.to_atom(String.downcase(uri.scheme || "http"))1180 }11811182 but got type:11831184 dynamic(%{..., req_headers: term()})11851186 where "conn" was given the type:11871188 # type: dynamic(%{..., req_headers: term()})1189 # from: lib/plug/adapters/test/conn.ex:15:351190 body_or_params(body_or_params, query, conn.req_headers)11911192 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11931194 type warning found at:1195 │1196 19 │ %Plug.Conn{conn |1197 │ ~1198 │1199 └─ lib/plug/adapters/test/conn.ex:19:5: Plug.Adapters.Test.Conn.conn/412001201 warning: Atom.to_char_list/1 is deprecated. Use Atom.to_charlist/1 instead1202 │1203 186 │ case Atom.to_char_list(plug) do1204 │ ~1205 │1206 └─ lib/plug/builder.ex:186:15: Plug.Builder.init_plug/112071208 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1209 │1210 43 │ Enum.partition(cowboy_options, &is_tuple(&1) and tuple_size(&1) == 2)1211 │ ~1212 │1213 └─ lib/plug/adapters/cowboy.ex:43:12: Plug.Adapters.Cowboy.args/412141215Generated plug app1216warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1217 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21218 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11219 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51220 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21221 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41222 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212231224==> phoenix1225Compiling 75 files (.ex)1226 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 operator1227 │1228 170 │ <<attr::size(prefix)-binary, ":unique">> -> attr1229 │ ~1230 │1231 └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/112321233 warning: using single-quoted strings to represent charlists is deprecated.1234 Use ~c"" if you indeed want a charlist or use "" instead.1235 You may run "mix format --migrate" to change all single-quoted1236 strings to use the ~c sigil and fix this warning.1237 │1238 310 │ :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',1239 │ ~1240 │1241 └─ lib/phoenix/channel/server.ex:310:3112421243 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1244 │1245 39 │ Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>1246 │ ~1247 │1248 └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/312491250 warning: unused require Logger1251 │1252 20 │ require Logger1253 │ ~1254 │1255 └─ lib/phoenix/endpoint/handler.ex:20:312561257 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1258 │1259 39 │ Logger.warn """1260 │ ~1261 │1262 └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/112631264 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 operator1265 │1266 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1267 │ ~1268 │1269 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/212701271 warning: using single-quoted strings to represent charlists is deprecated.1272 Use ~c"" if you indeed want a charlist or use "" instead.1273 You may run "mix format --migrate" to change all single-quoted1274 strings to use the ~c sigil and fix this warning.1275 │1276 315 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1277 │ ~1278 │1279 └─ lib/phoenix/router.ex:315:5012801281 warning: using single-quoted strings to represent charlists is deprecated.1282 Use ~c"" if you indeed want a charlist or use "" instead.1283 You may run "mix format --migrate" to change all single-quoted1284 strings to use the ~c sigil and fix this warning.1285 │1286 195 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1287 │ ~1288 │1289 └─ lib/phoenix/router/helpers.ex:195:5012901291 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12921293 This error happens when you have function calls without parentheses inside keywords. For example:12941295 function(arg, one: nested_call a, b, c)1296 function(arg, one: if expr, do: :this, else: :that)12971298 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:12991300 function(arg, one: if(expr, do: :this, else: :that))1301 function(arg, one: nested_call(a, b, c))13021303 Ambiguity found at:1304 │1305 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """1306 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1307 │1308 └─ lib/phoenix/router/resource.ex:7113091310 warning: duplicate key :route found in struct1311 │1312 24 │ defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]1313 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1314 │1315 └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)13161317 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)"1318 │1319 110 │ @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore1320 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1321 │1322 └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)13231324 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1325 │1326 885 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1327 │ ~1328 │1329 └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/113301331 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1332 │1333 304 │ Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end1334 │ ~1335 │1336 └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/213371338 warning: using single-quoted strings to represent charlists is deprecated.1339 Use ~c"" if you indeed want a charlist or use "" instead.1340 You may run "mix format --migrate" to change all single-quoted1341 strings to use the ~c sigil and fix this warning.1342 │1343 174 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1344 │ ~1345 │1346 └─ lib/phoenix/template.ex:174:5013471348 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1349 │1350 227 │ Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>1351 │ ~1352 │1353 └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/213541355 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1356 │1357 12 │ worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)1358 │ ~1359 │1360 └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/113611362 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1363 │1364 14 │ supervise(children, strategy: :simple_one_for_one)1365 │ ~1366 │1367 └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/113681369 warning: expected a module (an atom) when invoking config/1 in expression:13701371 endpoint.config(:endpoint_id)13721373 where "endpoint" was given the type:13741375 # type: dynamic(%{..., __pubsub_server__: atom()})1376 # from: lib/phoenix/transports/long_poll.ex:199:101377 verify_token(endpoint, token, opts)13781379 type warning found at:1380 │1381 201 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)1382 │ ~1383 │1384 └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/313851386 warning: unknown key .__pubsub_server__ in expression:13871388 endpoint.__pubsub_server__13891390 the given type does not have the given key:13911392 dynamic(1393 %Phoenix.Socket{1394 id: term(),1395 assigns: term(),1396 channel: term(),1397 channel_pid: term(),1398 endpoint: atom(),1399 handler: term(),1400 joined: term(),1401 pubsub_server: term(),1402 ref: term(),1403 join_ref: term(),1404 topic: term(),1405 transport: term(),1406 transport_pid: term(),1407 transport_name: term(),1408 serializer: term(),1409 private: term(),1410 vsn: term()1411 } or1412 %Plug.Conn{1413 adapter: term(),1414 assigns: term(),1415 before_send: term(),1416 body_params: term(),1417 cookies: term(),1418 halted: term(),1419 host: term(),1420 method: term(),1421 owner: term(),1422 params: term(),1423 path_params: term(),1424 path_info: term(),1425 port: term(),1426 private: term(),1427 query_params: term(),1428 query_string: term(),1429 peer: term(),1430 remote_ip: term(),1431 req_cookies: term(),1432 req_headers: term(),1433 request_path: term(),1434 resp_body: term(),1435 resp_cookies: term(),1436 resp_headers: term(),1437 scheme: term(),1438 script_name: term(),1439 secret_key_base: term(),1440 state: term(),1441 status: term()1442 } or atom() or binary()1443 )14441445 where "endpoint" was given the type:14461447 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())1448 # from: lib/phoenix/transports/long_poll.ex:254:191449 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])14501451 type warning found at:1452 │1453 254 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])1454 │ ~~~~~~~~~~~~~~~~~1455 │1456 └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/314571458 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1459 │1460 647 │ exception -> {:error, {exception, System.stacktrace()}}1461 │ ~1462 │1463 └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/114641465 warning: a struct for Phoenix.Socket is expected on struct update:14661467 %Phoenix.Socket{socket | id: id}14681469 but got type:14701471 dynamic()14721473 where "socket" was given the type:14741475 # type: dynamic()1476 # from: lib/phoenix/socket/transport.ex1477 {:ok, socket}14781479 when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"14801481 type warning found at:1482 │1483 195 │ id when is_binary(id) -> {:ok, %Socket{socket | id: id}}1484 │ ~1485 │1486 └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/714871488 warning: a struct for Plug.Conn is expected on struct update:14891490 %Plug.Conn{conn | state: :sent}14911492 but got type:14931494 dynamic()14951496 where "conn" was given the type:14971498 # type: dynamic()1499 # from: lib/phoenix/endpoint/render_errors.ex:79:211500 conn15011502 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15031504 type warning found at:1505 │1506 83 │ %Plug.Conn{conn | state: :sent}1507 │ ~1508 │1509 └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/515101511 warning: a struct for Plug.Conn is expected on struct update:15121513 %Plug.Conn{conn | query_params: %{}, params: %{}}15141515 but got type:15161517 dynamic(%{..., params: %Plug.Conn.Unfetched{}})15181519 where "conn" was given the types:15201521 # type: dynamic(%{..., params: term()})1522 # from: lib/phoenix/endpoint/render_errors.ex:94:171523 conn.params15241525 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1526 # from: lib/phoenix/endpoint/render_errors.ex:94:171527 conn.params15281529 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15301531 type warning found at:1532 │1533 95 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1534 │ ~1535 │1536 └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115371538 warning: a struct for Plug.Conn is expected on struct update:15391540 %Plug.Conn{conn | query_params: %{}, params: params}15411542 but got type:15431544 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})15451546 where "conn" was given the types:15471548 # type: dynamic(%{..., params: term()})1549 # from: lib/phoenix/endpoint/render_errors.ex:94:171550 conn.params15511552 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1553 # from: lib/phoenix/endpoint/render_errors.ex:94:171554 conn.params15551556 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15571558 type warning found at:1559 │1560 96 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1561 │ ~1562 │1563 └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115641565 warning: a struct for Plug.Conn is expected on struct update:15661567 %Plug.Conn{conn | params: params}15681569 but got type:15701571 dynamic(%{..., params: map()})15721573 where "conn" was given the type:15741575 # type: dynamic(%{..., params: map()})1576 # from: lib/phoenix/controller.ex:912:171577 Map.get(conn.params, required_key)15781579 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15801581 type warning found at:1582 │1583 919 │ %Plug.Conn{conn | params: params}1584 │ ~1585 │1586 └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/215871588 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1589 │1590 198 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),1591 │ ~1592 │1593 └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/415941595 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1596 │1597 199 │ worker(Phoenix.Tracker, [module, opts, opts])1598 │ ~1599 │1600 └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/416011602 warning: expected a map or struct when accessing .url in expression:16031604 endpoint.url16051606 where "endpoint" was given the types:16071608 # type: dynamic(atom())1609 # from: lib/phoenix/router/helpers.ex:24:201610 endpoint16111612 # type: atom()1613 # from: lib/phoenix/router/helpers.ex:24:351614 is_atom(endpoint)16151616 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()16171618 type warning found at:1619 │1620 25 │ endpoint.url1621 │ ~1622 │1623 └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/216241625 warning: a struct for Plug.Conn is expected on struct update:16261627 %Plug.Conn{conn | path_info: path, script_name: script}16281629 but got type:16301631 dynamic()16321633 where "conn" was given the type:16341635 # type: dynamic()1636 # from: lib/phoenix/router/route.ex:147:101637 conn = target.call(%Plug.Conn{...}, opts)16381639 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16401641 type warning found at:1642 │1643 148 │ %Plug.Conn{conn | path_info: path, script_name: script}1644 │ ~1645 │1646 └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/416471648 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1649 │1650 284 │ Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())1651 │ ~1652 │1653 └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/116541655 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1656 │1657 71 │ supervise(children, strategy: :one_for_one)1658 │ ~1659 │1660 └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/116611662 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1663 │1664 76 │ [worker(Phoenix.Config, args)]1665 │ ~1666 │1667 └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/316681669 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1670 │1671 84 │ [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]1672 │ ~1673 │1674 └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/21675 └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/31676 └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/316771678 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1679 │1680 106 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),1681 │ ~1682 │1683 └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/316841685 warning: incompatible types given to Plug.Adapters.Cowboy.child_spec/4:16861687 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)16881689 given types:16901691 (1692 dynamic(:http or :https),1693 -dynamic(%{..., __sockets__: term()})-,1694 empty_list(),1695 dynamic(empty_list() or non_empty_list(term(), term()))1696 )16971698 but expected one of:16991700 :http or :https, atom() or binary(), term(), term()17011702 where "config" was given the type:17031704 # type: dynamic(empty_list() or non_empty_list(term(), term()))1705 # from: lib/phoenix/endpoint/cowboy_handler.ex:78:121706 config = Keyword.put_new(config, :dispatch, _: dispatches)17071708 where "endpoint" was given the type:17091710 # type: dynamic(%{..., __sockets__: term()})1711 # from: lib/phoenix/endpoint/cowboy_handler.ex:66:261712 {path, socket} <- endpoint.__sockets__17131714 where "scheme" was given the types:17151716 # type: dynamic()1717 # from: lib/phoenix/endpoint/cowboy_handler.ex:60:181718 scheme17191720 # type: dynamic(:http or :https)1721 # from: lib/phoenix/endpoint/cowboy_handler.ex:81:281722 Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)17231724 type warning found at:1725 │1726 81 │ Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)1727 │ ~1728 │1729 └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/317301731 warning: expected a module (an atom) when invoking path/1 in expression:17321733 endpoint.path("/")17341735 where "endpoint" was given the type:17361737 # type: dynamic(%{..., host: term()})1738 # from: lib/phoenix/endpoint/supervisor.ex:312:141739 endpoint.host17401741 type warning found at:1742 │1743 313 │ endpoint.path("/")1744 │ ~1745 │1746 └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/117471748 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1749 │1750 23 │ {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}1751 │ ~1752 │1753 └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/317541755 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1756 │1757 35 │ supervise(children, strategy: :one_for_one)1758 │ ~1759 │1760 └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/117611762 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1763 │1764 39 │ {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)1765 │ ~1766 │1767 └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/317681769 warning: comparison between distinct types found:17701771 !Path.extname(file_path) == ".gz"17721773 given types:17741775 dynamic(boolean()) == binary()17761777 where "file_path" was given the type:17781779 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))1780 # from: lib/phoenix/digester.ex:147:451781 Path.basename(file_path)17821783 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 false17841785 type warning found at:1786 │1787 148 │ !Path.extname(file_path) == ".gz"1788 │ ~1789 │1790 └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/117911792 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1793 │1794 51 │ worker(Phoenix.CodeReloader.Server, [])1795 │ ~1796 │1797 └─ lib/phoenix.ex:51:7: Phoenix.start/217981799 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1800 │1801 61 │ IO.puts Exception.format(kind, reason, System.stacktrace)1802 │ ~1803 │1804 └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/318051806 warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:18071808 mod.__phoenix_recompile__?18091810 where "mod" was given the type:18111812 # type: dynamic(atom())1813 # from: lib/mix/tasks/compile.phoenix.ex:34:121814 Code.ensure_loaded?(mod)18151816 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()18171818 type warning found at:1819 │1820 36 │ mod.__phoenix_recompile__?1821 │ ~1822 │1823 └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/118241825 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1826 │1827 155 │ Enum.partition attrs, fn1828 │ ~1829 │1830 └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/118311832 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1833 │1834 234 │ Enum.partition(attrs, fn1835 │ ~1836 │1837 └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/218381839Generated phoenix app1840==> phoenix_html1841Compiling 8 files (.ex)1842 warning: using single-quoted strings to represent charlists is deprecated.1843 Use ~c"" if you indeed want a charlist or use "" instead.1844 You may run "mix format --migrate" to change all single-quoted1845 strings to use the ~c sigil and fix this warning.1846 │1847 7 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1848 │ ~1849 │1850 └─ lib/phoenix_html/engine.ex:7:5018511852 warning: use EEx.Engine is deprecated. Use explicit delegation to EEx.Engine instead1853 │1854 13 │ use EEx.Engine1855 │ ~~~~~~~~~~~~~~1856 │1857 └─ lib/phoenix_html/engine.ex:13: Phoenix.HTML.Engine (module)18581859 warning: this clause for handle_text/2 cannot match because a previous clause at line 13 always matches1860 │1861 28 │ def handle_text("", text) do # Required for Elixir < v1.5.11862 │ ~1863 │1864 └─ lib/phoenix_html/engine.ex:28:718651866 warning: this clause for handle_text/2 cannot match because a previous clause at line 13 always matches1867 │1868 32 │ def handle_text({:safe, buffer}, text) do1869 │ ~1870 │1871 └─ lib/phoenix_html/engine.ex:32:718721873 warning: single quotes around keywords are deprecated. Use double quotes instead1874 │1875 264 │ 'csrf-param': @csrf_param, 'method-param': @method_param1876 │ ~1877 │1878 └─ lib/phoenix_html/tag.ex:264:1618791880 warning: single quotes around keywords are deprecated. Use double quotes instead1881 │1882 264 │ 'csrf-param': @csrf_param, 'method-param': @method_param1883 │ ~1884 │1885 └─ lib/phoenix_html/tag.ex:264:4318861887 warning: the 1st pattern in clause will never match:18881889 6018901891 because it is expected to receive type:18921893 dynamic(empty_list() or non_empty_list(term(), term()))18941895 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())18961897 type warning found at:1898 │1899 56 │ def to_iodata(?<), do: "<"1900 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1901 │1902 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/119031904 warning: the 1st pattern in clause will never match:19051906 6219071908 because it is expected to receive type:19091910 dynamic(empty_list() or non_empty_list(term(), term()))19111912 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19131914 type warning found at:1915 │1916 57 │ def to_iodata(?>), do: ">"1917 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1918 │1919 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/119201921 warning: the 1st pattern in clause will never match:19221923 3819241925 because it is expected to receive type:19261927 dynamic(empty_list() or non_empty_list(term(), term()))19281929 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19301931 type warning found at:1932 │1933 58 │ def to_iodata(?&), do: "&"1934 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1935 │1936 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/119371938 warning: the 1st pattern in clause will never match:19391940 3419411942 because it is expected to receive type:19431944 dynamic(empty_list() or non_empty_list(term(), term()))19451946 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19471948 type warning found at:1949 │1950 59 │ def to_iodata(?"), do: """1951 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1952 │1953 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/119541955 warning: the right-hand side of || will never be executed:19561957 selected(form, field, opts) || ...19581959 because the left-hand side always evaluates to:19601961 dynamic({term(), term()})19621963 where "field" was given the type:19641965 # type: dynamic()1966 # from: lib/phoenix_html/form.ex:830:201967 field19681969 where "form" was given the type:19701971 # type: dynamic()1972 # from: lib/phoenix_html/form.ex:830:141973 form19741975 where "opts" was given the types:19761977 # type: dynamic()1978 # from: lib/phoenix_html/form.ex:830:361979 opts19801981 # type: dynamic(empty_list() or non_empty_list(term(), term()))1982 # from: lib/phoenix_html/form.ex:831:241983 selected(form, field, opts)19841985 type warning found at:1986 │1987 831 │ {selected, opts} = selected(form, field, opts) || []1988 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1989 │1990 └─ lib/phoenix_html/form.ex:831: Phoenix.HTML.Form.select/419911992 warning: the 1st pattern in clause will never match:19931994 3919951996 because it is expected to receive type:19971998 dynamic(empty_list() or non_empty_list(term(), term()))19992000 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20012002 type warning found at:2003 │2004 60 │ def to_iodata(?'), do: "'"2005 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2006 │2007 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/120082009 warning: the 1st pattern in clause will never match:20102011 {:safe, data}20122013 because it is expected to receive type:20142015 dynamic(empty_list() or non_empty_list(term(), term()))20162017 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20182019 type warning found at:2020 │2021 75 │ def to_iodata({:safe, data}) do2022 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2023 │2024 └─ lib/phoenix_html/safe.ex:75: Phoenix.HTML.Safe.List.to_iodata/120252026 warning: the following clause is redundant:20272028 def to_iodata(other)20292030 it has type:20312032 dynamic(empty_list() or non_empty_list(term(), term()))20332034 previous clauses have already matched on the following types:20352036 non_empty_list(term(), term())2037 empty_list()20382039 │2040 79 │ def to_iodata(other) do2041 │ ~2042 │2043 └─ lib/phoenix_html/safe.ex:79:7: Phoenix.HTML.Safe.List.to_iodata/120442045 warning: the 1st pattern in clause will never match:20462047 h20482049 because it is expected to receive type:20502051 dynamic(empty_list() or non_empty_list(term(), term()))20522053 where "h" was given the type:20542055 # type: integer()2056 # from: lib/phoenix_html/safe.ex:62:252057 is_integer(h)20582059 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20602061 type warning found at:2062 │2063 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do2064 │ ~2065 │2066 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/120672068 warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)2069 │2070 1 │ defmodule Phoenix.HTML.Engine do2071 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2072 │2073 └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)20742075 warning: the 1st pattern in clause will never match:20762077 h20782079 because it is expected to receive type:20802081 dynamic(empty_list() or non_empty_list(term(), term()))20822083 where "h" was given the type:20842085 # type: integer()2086 # from: lib/phoenix_html/safe.ex:65:252087 is_integer(h)20882089 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20902091 type warning found at:2092 │2093 65 │ def to_iodata(h) when is_integer(h) do2094 │ ~2095 │2096 └─ lib/phoenix_html/safe.ex:65:17: Phoenix.HTML.Safe.List.to_iodata/120972098 warning: the 1st pattern in clause will never match:20992100 h21012102 because it is expected to receive type:21032104 dynamic(empty_list() or non_empty_list(term(), term()))21052106 where "h" was given the type:21072108 # type: binary()2109 # from: lib/phoenix_html/safe.ex:71:252110 is_binary(h)21112112 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21132114 type warning found at:2115 │2116 71 │ def to_iodata(h) when is_binary(h) do2117 │ ~2118 │2119 └─ lib/phoenix_html/safe.ex:71:17: Phoenix.HTML.Safe.List.to_iodata/121202121 warning: the following clause is redundant:21222123 def handle_text("", text)21242125 it has type:21262127 binary(), dynamic()21282129 previous clauses have already matched on the following types:21302131 term(), term()21322133 │2134 28 │ def handle_text("", text) do # Required for Elixir < v1.5.12135 │ ~2136 │2137 └─ lib/phoenix_html/engine.ex:28:7: Phoenix.HTML.Engine.handle_text/221382139 warning: the following clause is redundant:21402141 def handle_text({:safe, buffer}, text)21422143 it has type:21442145 dynamic({:safe, term()}), dynamic()21462147 previous clauses have already matched on the following types:21482149 term(), term()21502151 │2152 32 │ def handle_text({:safe, buffer}, text) do2153 │ ~2154 │2155 └─ lib/phoenix_html/engine.ex:32:7: Phoenix.HTML.Engine.handle_text/221562157Generated phoenix_html app2158==> tracy2159Compiling 8 files (.ex)2160 warning: invalid type annotation. The left side of :: must be a variable, got: fun()2161 │2162 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2163 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2164 │2165 └─ lib/tracy.ex:23: Tracy (module)21662167 warning: invalid type annotation. Type annotations cannot be nested: metadata :: fun() :: map() | nil2168 │2169 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2170 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2171 │2172 └─ lib/tracy.ex:23: Tracy (module)21732174 warning: invalid type annotation. The left side of :: must be a variable, got: fun()2175 │2176 23 │ @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2177 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2178 │2179 └─ lib/tracy.ex:23: Tracy (module)21802181 warning: unused require Logger2182 │2183 3 │ require Logger2184 │ ~2185 │2186 └─ lib/tracy/plug.ex:3:321872188 warning: unused require Logger2189 │2190 3 │ require Logger2191 │ ~2192 │2193 └─ lib/tracy/util.ex:3:321942195 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead2196 │2197 10 │ worker(Tracy.Tracer, [], restart: :transient)2198 │ ~2199 │2200 └─ lib/tracy/trace_supervisor.ex:10:7: Tracy.TraceSupervisor.init/122012202 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2203 │2204 12 │ supervise(children, strategy: :simple_one_for_one)2205 │ ~2206 │2207 └─ lib/tracy/trace_supervisor.ex:12:5: Tracy.TraceSupervisor.init/122082209 warning: a struct for Tracy.Tracer.State is expected on struct update:22102211 %Tracy.Tracer.State{state | count: state.count + 1}22122213 but got type:22142215 dynamic(%{..., pid: term()})22162217 where "state" was given the type:22182219 # type: dynamic(%{..., pid: term()})2220 # from: lib/tracy/tracer.ex:47:552221 state = %{pid: pid}22222223 when defining the variable "state", you must also pattern match on "%Tracy.Tracer.State{}"22242225 type warning found at:2226 │2227 48 │ state = %State{state | count: state.count + 1}2228 │ ~2229 │2230 └─ lib/tracy/tracer.ex:48:13: Tracy.Tracer.handle_info/222312232 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead2233 │2234 8 │ supervisor(Tracy.TraceSupervisor, [])2235 │ ~2236 │2237 └─ lib/tracy/application.ex:8:7: Tracy.Application.start/222382239 warning: the following clause will never match:22402241 nil ->22422243 because it attempts to match on the result of:22442245 Plug.Conn.get_req_header(conn, "x-tracy-definition")22462247 which has type:22482249 dynamic(list(term()))22502251 type warning found at:2252 │2253 13 │ nil ->2254 │ ~~~~~~2255 │2256 └─ lib/tracy/plug.ex:13: Tracy.Plug.call/222572258Generated tracy app2259warning: the :gettext compiler is no longer required in your mix.exs.22602261Please find the following line in your mix.exs and remove the :gettext entry:22622263 compilers: [..., :gettext, ...] ++ Mix.compilers(),22642265 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/12266 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52267 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22268 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42269 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/22270 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/522712272==> tracy_web2273Compiling 23 files (.ex)2274 warning: unused require Logger2275 │2276 3 │ require Logger2277 │ ~2278 │2279 └─ lib/tracy_web/upstream.ex:3:322802281warning: defining a Gettext backend by calling22822283 use Gettext, otp_app: ...22842285is deprecated. To define a backend, call:22862287 use Gettext.Backend, otp_app: :my_app22882289Then, instead of importing your backend, call this in your module:22902291 use Gettext, backend: MyApp.Gettext22922293 lib/tracy_web/web/gettext.ex:23: TracyWeb.Web.Gettext (module)22942295warning: no configuration found for otp_app :tracy_web and module TracyWeb.Web.Endpoint2296warning: Phoenix.HTML.Engine.handle_text/2 is deprecated, implement handle_text/3 instead2297 (eex 1.20.3) lib/eex/compiler.ex:315: EEx.Compiler.compile/32298 (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/22299 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/22300 (phoenix 1.3.5) lib/phoenix/template.ex:185: Phoenix.Template."MACRO-__before_compile__"/22301 (elixir 1.20.3) src/elixir_dispatch.erl:263: :elixir_dispatch.expand_macro_fun/72302 (elixir 1.20.3) src/elixir_dispatch.erl:155: :elixir_dispatch.dispatch_require/7230323042305== Compilation error in file lib/tracy_web/web/views/layout_view.ex ==2306** (RuntimeError) unexpected EEx.Engine state: {:safe, ""}. This typically means a bug or an outdated EEx.Engine or tool2307 (eex 1.20.3) lib/eex/engine.ex:226: EEx.Engine.check_state!/12308 (eex 1.20.3) lib/eex/engine.ex:189: EEx.Engine.handle_text/32309 (eex 1.20.3) lib/eex/compiler.ex:338: EEx.Compiler.generate_buffer/42310 (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/22311 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/22312 (phoenix 1.3.5) expanding macro: Phoenix.Template.__before_compile__/12313 lib/tracy_web/web/views/layout_view.ex:1: TracyWeb.Web.LayoutView (module)2314could 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"