tracy_web

Build log

nerves_system_rpi0

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.133s3Unchanged: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_rpi0/poison/mix.exs:4:44: Poison.Mixfile (module)126127==> nerves_system_br128Generated nerves_system_br app129==> mime130Compiling 2 files (.ex)131Generated mime app132==> circular_buffer133Compiling 1 file (.ex)134Generated circular_buffer app135==> poison136Compiling 4 files (.ex)137    warning: using single-quoted strings to represent charlists is deprecated.138    Use ~c"" if you indeed want a charlist or use "" instead.139    You may run "mix format --migrate" to change all single-quoted140    strings to use the ~c sigil and fix this warning.141    │142 93 │   for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do143    │                               ~144    │145    └─ lib/poison/encoder.ex:93:31146147    warning: using single-quoted strings to represent charlists is deprecated.148    Use ~c"" if you indeed want a charlist or use "" instead.149    You may run "mix format --migrate" to change all single-quoted150    strings to use the ~c sigil and fix this warning.151    │152 93 │   for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do153    │                                                ~154    │155    └─ lib/poison/encoder.ex:93:48156157     warning: using single-quoted strings to represent charlists is deprecated.158     Use ~c"" if you indeed want a charlist or use "" instead.159     You may run "mix format --migrate" to change all single-quoted160     strings to use the ~c sigil and fix this warning.161     │162 139 │   defp chunk_size(<<char>> <> _, _mode, acc) when char <= 0x1F or char in '"\\' do163     │                                                                           ~164     │165     └─ lib/poison/encoder.ex:139:75166167    warning: using single-quoted strings to represent charlists is deprecated.168    Use ~c"" if you indeed want a charlist or use "" instead.169    You may run "mix format --migrate" to change all single-quoted170    strings to use the ~c sigil and fix this warning.171    │172 77 │   defp value(<<char, _ :: binary>> = string, pos, _keys) when char in '-0123456789' do173    │                                                                       ~174    │175    └─ lib/poison/parser.ex:77:71176177     warning: using single-quoted strings to represent charlists is deprecated.178     Use ~c"" if you indeed want a charlist or use "" instead.179     You may run "mix format --migrate" to change all single-quoted180     strings to use the ~c sigil and fix this warning.181     │182 155 │   defp number_int(<<char, _ :: binary>> = string, pos, acc) when char in '123456789' do183     │                                                                          ~184     │185     └─ lib/poison/parser.ex:155:74186187     warning: using single-quoted strings to represent charlists is deprecated.188     Use ~c"" if you indeed want a charlist or use "" instead.189     You may run "mix format --migrate" to change all single-quoted190     strings to use the ~c sigil and fix this warning.191     │192 171 │   defp number_exp(<<e>> <> rest, frac, pos, acc) when e in 'eE' do193     │                                                            ~194     │195     └─ lib/poison/parser.ex:171:60196197     warning: using single-quoted strings to represent charlists is deprecated.198     Use ~c"" if you indeed want a charlist or use "" instead.199     You may run "mix format --migrate" to change all single-quoted200     strings to use the ~c sigil and fix this warning.201     │202 197 │   defp number_digits(<<char>> <> rest = string, pos) when char in '0123456789' do203     │                                                                   ~204     │205     └─ lib/poison/parser.ex:197:67206207     warning: using single-quoted strings to represent charlists is deprecated.208     Use ~c"" if you indeed want a charlist or use "" instead.209     You may run "mix format --migrate" to change all single-quoted210     strings to use the ~c sigil and fix this warning.211     │212 205 │   defp number_digits_count(<<char>> <> rest, acc) when char in '0123456789' do213     │                                                                ~214     │215     └─ lib/poison/parser.ex:205:64216217     warning: using single-quoted strings to represent charlists is deprecated.218     Use ~c"" if you indeed want a charlist or use "" instead.219     You may run "mix format --migrate" to change all single-quoted220     strings to use the ~c sigil and fix this warning.221     │222 229 │   for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do223     │                               ~224     │225     └─ lib/poison/parser.ex:229:31226227     warning: using single-quoted strings to represent charlists is deprecated.228     Use ~c"" if you indeed want a charlist or use "" instead.229     You may run "mix format --migrate" to change all single-quoted230     strings to use the ~c sigil and fix this warning.231     │232 229 │   for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do233     │                                            ~234     │235     └─ lib/poison/parser.ex:229:44236237     warning: using single-quoted strings to represent charlists is deprecated.238     Use ~c"" if you indeed want a charlist or use "" instead.239     You may run "mix format --migrate" to change all single-quoted240     strings to use the ~c sigil and fix this warning.241     │242 239 │     when a1 in 'dD' and a2 in 'dD'243     │                ~244     │245     └─ lib/poison/parser.ex:239:16246247     warning: using single-quoted strings to represent charlists is deprecated.248     Use ~c"" if you indeed want a charlist or use "" instead.249     You may run "mix format --migrate" to change all single-quoted250     strings to use the ~c sigil and fix this warning.251     │252 239 │     when a1 in 'dD' and a2 in 'dD'253     │                               ~254     │255     └─ lib/poison/parser.ex:239:31256257     warning: using single-quoted strings to represent charlists is deprecated.258     Use ~c"" if you indeed want a charlist or use "" instead.259     You may run "mix format --migrate" to change all single-quoted260     strings to use the ~c sigil and fix this warning.261     │262 240 │     and (b1 in '89abAB')263     │                ~264     │265     └─ lib/poison/parser.ex:240:16266267     warning: using single-quoted strings to represent charlists is deprecated.268     Use ~c"" if you indeed want a charlist or use "" instead.269     You may run "mix format --migrate" to change all single-quoted270     strings to use the ~c sigil and fix this warning.271     │272 274 │   defp skip_whitespace(<<char>> <> rest, pos) when char in '\s\n\t\r' do273     │                                                            ~274     │275     └─ lib/poison/parser.ex:274:60276277    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead278    │279 22 │   if Application.get_env(:poison, :native) do280    │                  ~281    │282    └─ lib/poison/parser.ex:22:18: Poison.Parser (module)283284    warning: use Bitwise is deprecated. import Bitwise instead285    │286 26 │   use Bitwise287    │   ~~~~~~~~~~~288    │289    └─ lib/poison/parser.ex:26: Poison.Parser (module)290291     warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator292     │293 199 │     <<digits :: binary-size(count), rest :: binary>> = string294     │                             ~295     │296     └─ lib/poison/parser.ex:199:29: Poison.Parser.number_digits/2297298     warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator299     │300 225 │     <<chunk :: binary-size(count), rest :: binary>> = string301     │                            ~302     │303     └─ lib/poison/parser.ex:225:28: Poison.Parser.string_continue/3304305    warning: use Bitwise is deprecated. import Bitwise instead306    │307 83 │   use Bitwise308    │   ~~~~~~~~~~~309    │310    └─ lib/poison/encoder.ex:83: Poison.Encoder.BitString (module)311312     warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator313     │314 135 │     <<chunk :: binary-size(size), rest :: binary>> = string315     │                            ~316     │317     └─ lib/poison/encoder.ex:135:28: Poison.Encoder.BitString.escape/2318319     warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead320     │321 173 │     case Integer.to_char_list(char, 16) do322     │                  ~323     │324     └─ lib/poison/encoder.ex:173:18: Poison.Encoder.BitString.seq/1325326Generated poison app327==> nerves_compatibility_test328===> Analyzing applications...329===> Compiling ranch330    ┌─ src/ranch.erl:331    │332 73 │  					catch Transport:controlling_process(Socket, AcceptorsSup);333    │  					╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.334Compile directive 'nowarn_deprecated_catch' can be used to suppress335warnings in selected modules.336337338    ┌─ src/ranch_conns_sup.erl:339    │340 80 │  	catch erlang:send(SupPid, {?MODULE, active_connections, self(), Tag},341    │  	╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.342Compile directive 'nowarn_deprecated_catch' can be used to suppress343warnings in selected modules.344345346     ┌─ src/ranch_ssl.erl:347     │348 128 │  	case ssl:ssl_accept(CSocket, Timeout) of349     │  	     ╰── Warning: ssl:ssl_accept/2 is removed; use ssl:handshake/1,2,3 instead350351     ┌─ src/ranch_ssl.erl:352     │353 233 │  			end, ssl:cipher_suites());354     │  			     ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead355356     ┌─ src/ranch_ssl.erl:357     │358 235 │  			ssl:cipher_suites()359     │  			╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead360361362==> tablet363Compiling 2 files (.ex)364Generated tablet app365==> elixir_make366Compiling 8 files (.ex)367Generated elixir_make app368==> nerves_logging369 CC kmsg_tailer.o370 LD kmsg_tailer371Compiling 5 files (.ex)372Generated nerves_logging app373==> nerves_compatibility_test374===> Analyzing applications...375===> Compiling cowlib376==> nerves_discovery377Compiling 5 files (.ex)378Generated nerves_discovery app379==> ring_logger380Compiling 7 files (.ex)381Generated ring_logger app382==> interactive_cmd383Compiling 1 file (.ex)384Generated interactive_cmd app385==> nerves386Compiling 65 files (.ex)387    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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_armv6_nerves_linux_gnueabihf536Compiling 1 file (.ex)537Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app538==> nerves_system_rpi0539Generated nerves_system_rpi0 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: the following clause is redundant:605606         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)607608     it has type:609610         dynamic(%Expo.Message.Plural{})611612     previous clauses have already matched on the following types:613614         %Expo.Message.Singular{}615         %Expo.Message.Plural{}616617     │618 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do619     │        ~620     │621     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1622623     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead624     │625 426 │               Kernel.ParallelCompiler.async(fn ->626     │                                       ~627     │628     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3629630Generated gettext app631==> phoenix_pubsub632Compiling 13 files (.ex)633     warning: single quotes around atoms are deprecated. Use double quotes instead634     │635 160 │     |> :ets.select([{{:'$1', :_}, [], [:'$1']}])636     │                       ~637     │638     └─ lib/phoenix/pubsub/local.ex:160:23639640     warning: single quotes around atoms are deprecated. Use double quotes instead641     │642 160 │     |> :ets.select([{{:'$1', :_}, [], [:'$1']}])643     │                                        ~644     │645     └─ lib/phoenix/pubsub/local.ex:160:40646647     warning: unused require Logger648     │649 107 │   require Logger650     │   ~651     │652     └─ lib/phoenix/tracker.ex:107:3653654     warning: a struct for Phoenix.Tracker.State is expected on struct update:655656         %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}657658     but got type:659660         dynamic()661662     where "delta" was given the type:663664         # type: dynamic()665         # from: lib/phoenix/tracker/state.ex:461:36666         %Phoenix.Tracker.State{delta: delta} = state667668     when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"669670     type warning found at:671     │672 465 │     new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}673     │                 ~674     │675     └─ lib/phoenix/tracker/state.ex:465:17: Phoenix.Tracker.State.do_add/5676677     warning: a struct for Phoenix.Tracker.State is expected on struct update:678679         %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}680681     but got type:682683         dynamic()684685     where "delta" was given the type:686687         # type: dynamic()688         # from: lib/phoenix/tracker/state.ex:541:99689         %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =690           state691692     when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"693694     type warning found at:695     │696 547 │            delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}697     │                   ~698     │699     └─ lib/phoenix/tracker/state.ex:547:19: Phoenix.Tracker.State.bump_clock/1700701    warning: a struct for Phoenix.Tracker.Replica is expected on struct update:702703        %Phoenix.Tracker.Replica{replica | status: :permdown}704705    but got type:706707        dynamic()708709    where "replica" was given the type:710711        # type: dynamic()712        # from: lib/phoenix/tracker/replica.ex:72:17713        replica714715    when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"716717    type warning found at:718    │719 72 │   defp permdown(replica), do: %Replica{replica | status: :permdown}720    │                               ~721    │722    └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1723724     warning: a struct for Phoenix.Tracker.State is expected on struct update:725726         %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}727728     but got type:729730         dynamic(%{..., range: {term(), term()}})731732     where "delta" was given the type:733734         # type: dynamic(%{..., range: {term(), term()}})735         # from: lib/phoenix/tracker/state.ex:551:30736         {start_clock, end_clock} = delta.range737738     when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"739740     type warning found at:741     │742 555 │            delta: %State{delta | range: {start_clock, new_end}}}743     │                   ~744     │745     └─ lib/phoenix/tracker/state.ex:555:19: Phoenix.Tracker.State.put_context/2746747    warning: a struct for Phoenix.Tracker.Replica is expected on struct update:748749        %Phoenix.Tracker.Replica{replica | status: :down}750751    but got type:752753        dynamic()754755    where "replica" was given the type:756757        # type: dynamic()758        # from: lib/phoenix/tracker/replica.ex:74:13759        replica760761    when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"762763    type warning found at:764    │765 74 │   defp down(replica), do: %Replica{replica | status: :down}766    │                           ~767    │768    └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/1769770     warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead771     │772 269 │         worker(Phoenix.Tracker.Shard, [tracker, tracker_opts, shard_opts],773     │         ~774     │775     └─ lib/phoenix/tracker.ex:269:9: Phoenix.Tracker.init/1776777    warning: a struct for Phoenix.Tracker.Replica is expected on struct update:778779        %Phoenix.Tracker.Replica{replica | last_heartbeat_at: now_ms()}780781    but got type:782783        dynamic()784785    where "replica" was given the type:786787        # type: dynamic()788        # from: lib/phoenix/tracker/replica.ex:76:29789        replica790791    when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"792793    type warning found at:794    │795 77 │     %Replica{replica | last_heartbeat_at: now_ms()}796    │     ~797    │798    └─ lib/phoenix/tracker/replica.ex:77:5: Phoenix.Tracker.Replica.touch_last_heartbeat/1799800     warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead801     │802 273 │     supervise(shards, strategy: :one_for_one,803     │     ~804     │805     └─ lib/phoenix/tracker.ex:273:5: Phoenix.Tracker.init/1806807    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead808    │809  7 │       [supervisor(Phoenix.PubSub.PG2, pubsub)]810    │        ~811    │812    └─ lib/phoenix/pubsub/supervisor.ex:7:8: Phoenix.PubSub.Supervisor.start/2813814    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead815    │816 93 │       supervisor(Phoenix.PubSub.LocalSupervisor, [server, pool_size, dispatch_rules]),817    │       ~818    │819    └─ lib/phoenix/pubsub/pg2.ex:93:7: Phoenix.PubSub.PG2.init/1820821    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead822    │823 94 │       worker(Phoenix.PubSub.PG2Server, [server, pool_size])824    │       ~825    │826    └─ lib/phoenix/pubsub/pg2.ex:94:7: Phoenix.PubSub.PG2.init/1827828    warning: :pg2.create/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead829    │830 43 │     :ok = :pg2.create(pg2_group)831    │                ~832    │833    └─ lib/phoenix/pubsub/pg2_server.ex:43:16: Phoenix.PubSub.PG2Server.init/1834835    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead836    │837 97 │     supervise(children, strategy: :rest_for_one)838    │     ~839    │840    └─ lib/phoenix/pubsub/pg2.ex:97:5: Phoenix.PubSub.PG2.init/1841842    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead843    │844 35 │         worker(Phoenix.PubSub.GC, [gc_shard_name, local_shard_name]),845    │         ~846    │847    └─ lib/phoenix/pubsub/local_supervisor.ex:35:9: Phoenix.PubSub.LocalSupervisor.init/1848    └─ lib/phoenix/pubsub/local_supervisor.ex:36:9: Phoenix.PubSub.LocalSupervisor.init/1849850    warning: :pg2.join/2 is undefined or private, this module was removed in OTP 24. Use 'pg' instead851    │852 44 │     :ok = :pg2.join(pg2_group, self())853    │                ~854    │855    └─ lib/phoenix/pubsub/pg2_server.ex:44:16: Phoenix.PubSub.PG2Server.init/1856857    warning: :pg2.get_members/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead858    │859 57 │     :pg2.get_members(pg2_namespace(server_name))860    │          ~861    │862    └─ lib/phoenix/pubsub/pg2_server.ex:57:10: Phoenix.PubSub.PG2Server.get_members/1863864    warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead865    │866 39 │       supervisor(Supervisor, [shard_children, [strategy: :one_for_all]], id: shard)867    │       ~868    │869    └─ lib/phoenix/pubsub/local_supervisor.ex:39:7: Phoenix.PubSub.LocalSupervisor.init/1870871    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead872    │873 42 │     supervise children, strategy: :one_for_one874    │     ~875    │876    └─ lib/phoenix/pubsub/local_supervisor.ex:42:5: Phoenix.PubSub.LocalSupervisor.init/1877878Generated phoenix_pubsub app879warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"880  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2881  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1882  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5883  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2884  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4885  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2886887==> plug888Compiling 44 files (.ex)889warning: cannot infer signatures from :cowboy because it is not loaded890891warning: cannot infer signatures from :cowlib because it is not loaded892893warning: cannot infer signatures from :ranch because it is not loaded894895warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead896  lib/plug/adapters/cowboy.ex:220: Plug.Adapters.Cowboy.put_ssl_file/3897898warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead899  lib/plug/adapters/cowboy.ex:238: Plug.Adapters.Cowboy.to_char_list/2900901     warning: using single-quoted strings to represent charlists is deprecated.902     Use ~c"" if you indeed want a charlist or use "" instead.903     You may run "mix format --migrate" to change all single-quoted904     strings to use the ~c sigil and fix this warning.905     │906 230 │     generated? = :erlang.system_info(:otp_release) >= '19'907     │                                                       ~908     │909     └─ lib/plug/builder.ex:230:55910911     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead912     │913 421 │       when not state in @unsent do914     │                      ~915     │916     └─ lib/plug/conn.ex:421:22917918     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead919     │920 445 │       when not state in @unsent do921     │                      ~922     │923     └─ lib/plug/conn.ex:445:22924925     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead926     │927 497 │       when not state in @unsent do928     │                      ~929     │930     └─ lib/plug/conn.ex:497:22931932     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead933     │934 883 │   def put_session(%Conn{state: state}, _key, _value) when not state in @unsent,935     │                                                                     ~936     │937     └─ lib/plug/conn.ex:883:69938939     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead940     │941 907 │   def delete_session(%Conn{state: state}, _key) when not state in @unsent,942     │                                                                ~943     │944     └─ lib/plug/conn.ex:907:64945946     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead947     │948 939 │   def configure_session(%Conn{state: state}, _opts) when not state in @unsent,949     │                                                                    ~950     │951     └─ lib/plug/conn.ex:939:68952953     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead954     │955 961 │       when not state in @unsent do956     │                      ~957     │958     └─ lib/plug/conn.ex:961:22959960    warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead961    │962  6 │   custom_statuses = Application.get_env(:plug, :statuses, %{})963    │                                 ~964    │965    └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)966967    warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead968    │969 65 │     mask(left, right, <<acc::binary, x ^^^ y>>)970    │                                        ~971    │972    └─ lib/plug/crypto.ex:65:40973974    warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead975    │976 87 │     masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))977    │                                                  ~978    │979    └─ lib/plug/crypto.ex:87:50980981    warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead982    │983 87 │     masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))984    │                                                         ~985    │986    └─ lib/plug/crypto.ex:87:57987988     warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead989     │990 108 │     secure_compare(left, right, acc ||| (x ^^^ y))991     │                                            ~992     │993     └─ lib/plug/crypto.ex:108:44994995    warning: use Bitwise is deprecated. import Bitwise instead996    │997  6 │   use Bitwise998    │   ~~~~~~~~~~~999    │1000    └─ lib/plug/crypto.ex:6: Plug.Crypto (module)10011002    warning: use Bitwise is deprecated. import Bitwise instead1003    │1004 13 │   use Bitwise1005    │   ~~~~~~~~~~~1006    │1007    └─ lib/plug/crypto/key_generator.ex:13: Plug.Crypto.KeyGenerator (module)10081009    warning: the variable "max_length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1010    │1011 59 │     <<bin::binary-size(max_length), _::binary>> = key1012    │                        ~1013    │1014    └─ lib/plug/crypto/key_generator.ex:59:24: Plug.Crypto.KeyGenerator.generate/710151016    warning: unused require Bitwise1017    │1018 64 │   require Bitwise1019    │   ~1020    │1021    └─ lib/plug/csrf_protection.ex:64:310221023    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1024    │1025  4 │   if Application.get_env(:plug, :mimes) do1026    │                  ~1027    │1028    └─ lib/plug/mime.ex:4:18: Plug.MIME (module)10291030    warning: unused require Logger1031    │1032 32 │   require Logger1033    │   ~1034    │1035    └─ lib/plug/request_id.ex:32:310361037     warning: calling super for GenServer callback handle_info/2 is deprecated1038     │1039 164 │     super(msg, state)1040     │     ~1041     │1042     └─ lib/plug/upload.ex:164:5: Plug.Upload.handle_info/210431044    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1045    │1046 39 │         reraise e, System.stacktrace1047    │                           ~1048    │1049    └─ lib/plug/parsers/multipart.ex:39:27: Plug.Parsers.MULTIPART.parse/51050    └─ lib/plug/parsers/multipart.ex:41:73: Plug.Parsers.MULTIPART.parse/510511052    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1053    │1054 12 │       worker(Plug.Upload, [])1055    │       ~1056    │1057    └─ lib/plug/supervisor.ex:12:7: Plug.Supervisor.init/110581059    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1060    │1061 16 │     supervise(children, strategy: :one_for_one)1062    │     ~1063    │1064    └─ lib/plug/supervisor.ex:16:5: Plug.Supervisor.init/110651066     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1067     │1068 210 │       if Code.ensure_compiled?(module) and function_exported?(module, :init, 1) do1069     │               ~1070     │1071     └─ lib/plug/parsers.ex:210:15: Plug.Parsers.convert_parsers/210721073     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1074     │1075 139 │     __catch__(conn, kind, reason, System.stacktrace, opts)1076     │                                          ~1077     │1078     └─ lib/plug/debugger.ex:139:42: Plug.Debugger.__catch__/410791080    warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead1081    │1082 28 │     MIME.valid?(type)1083    │          ~1084    │1085    └─ lib/plug/mime.ex:28:10: Plug.MIME.valid?/110861087     warning: String.rstrip/1 is deprecated. Use String.trim_trailing/1 instead1088     │1089 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>1090     │                                                                                                                                                                                                              ~1091     │1092     └─ lib/plug/templates/debugger.html.eex:635:206: Plug.Debugger.template_html/110931094    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1095    │1096 82 │     __catch__(conn, kind, reason, reason, System.stacktrace, handle_errors)1097    │                                                  ~1098    │1099    └─ lib/plug/error_handler.ex:82:50: Plug.ErrorHandler.__catch__/411001101    warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1102    │1103 41 │     signature  = :crypto.hmac(:sha, key, plain_text)1104    │                          ~1105    │1106    └─ lib/plug/crypto/message_verifier.ex:41:26: Plug.Crypto.MessageVerifier.hmac_sha1_sign/21107    └─ lib/plug/crypto/message_verifier.ex:49:29: Plug.Crypto.MessageVerifier.hmac_sha1_verify/21108    └─ lib/plug/crypto/message_verifier.ex:71:26: Plug.Crypto.MessageVerifier.hmac_sha2_sign/31109    └─ lib/plug/crypto/message_verifier.ex:80:29: Plug.Crypto.MessageVerifier.hmac_sha2_verify/211101111    warning: :crypto.block_encrypt/4 is undefined or private, use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_init + crypto:crypto_update + crypto:crypto_final instead1112    │1113 57 │     {cipher_text, cipher_tag} = :crypto.block_encrypt(:aes_gcm, key, iv, {aad, plain_text})1114    │                                         ~1115    │1116    └─ lib/plug/crypto/message_encryptor.ex:57:41: Plug.Crypto.MessageEncryptor.aes128_gcm_encrypt/31117    └─ lib/plug/crypto/message_encryptor.ex:104:41: Plug.Crypto.MessageEncryptor.aes_gcm_key_wrap/31118    └─ lib/plug/crypto/message_encryptor.ex:314:13: Plug.Crypto.MessageEncryptor.encrypt_legacy/41119    └─ lib/plug/crypto/message_encryptor.ex:332:27: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_encrypt/311201121    warning: :crypto.block_decrypt/4 is undefined or private, use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_init + crypto:crypto_update + crypto:crypto_final instead1122    │1123 79 │             :crypto.block_decrypt(:aes_gcm, key, iv, {aad, cipher_text, cipher_tag})1124    │                     ~1125    │1126    └─ lib/plug/crypto/message_encryptor.ex:79:21: Plug.Crypto.MessageEncryptor.aes128_gcm_decrypt/31127    └─ lib/plug/crypto/message_encryptor.ex:120:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31128    └─ lib/plug/crypto/message_encryptor.ex:122:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31129    └─ lib/plug/crypto/message_encryptor.ex:124:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/31130    └─ lib/plug/crypto/message_encryptor.ex:321:13: Plug.Crypto.MessageEncryptor.decrypt_legacy/41131    └─ lib/plug/crypto/message_encryptor.ex:349:17: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_decrypt/311321133     warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1134     │1135 275 │     cipher_tag = Base.url_encode64(:crypto.hmac(:sha, sign_secret, cipher_text))1136     │                                            ~1137     │1138     └─ lib/plug/crypto/message_encryptor.ex:275:44: Plug.Crypto.MessageEncryptor.encode_legacy_token/31139     └─ lib/plug/crypto/message_encryptor.ex:291:44: Plug.Crypto.MessageEncryptor.decode_legacy_token/211401141    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1142    │1143 21 │         stack = System.stacktrace()1144    │                        ~1145    │1146    └─ lib/plug/adapters/cowboy/handler.ex:21:24: Plug.Adapters.Cowboy.Handler.upgrade/41147    └─ lib/plug/adapters/cowboy/handler.ex:26:24: Plug.Adapters.Cowboy.Handler.upgrade/41148    └─ lib/plug/adapters/cowboy/handler.ex:30:24: Plug.Adapters.Cowboy.Handler.upgrade/411491150    warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead1151    │1152 78 │     &:crypto.hmac(digest, secret, &1)1153    │              ~1154    │1155    └─ lib/plug/crypto/key_generator.ex:78:14: Plug.Crypto.KeyGenerator.mac_fun/211561157    warning: a struct for Plug.Conn is expected on struct update:11581159        %Plug.Conn{1160          conn1161          | adapter: {Plug.Adapters.Test.Conn, state},1162            host: uri.host || conn.host || "www.example.com",1163            method: method,1164            owner: owner,1165            path_info: split_path(uri.path),1166            port: uri.port || 80,1167            peer: {{127, 0, 0, 1}, 111_317},1168            remote_ip: {127, 0, 0, 1},1169            req_headers: req_headers,1170            request_path: uri.path,1171            query_string: query,1172            params: params || %Plug.Conn.Unfetched{aspect: :params},1173            scheme: String.to_atom(String.downcase(uri.scheme || "http"))1174        }11751176    but got type:11771178        dynamic(%{..., req_headers: term()})11791180    where "conn" was given the type:11811182        # type: dynamic(%{..., req_headers: term()})1183        # from: lib/plug/adapters/test/conn.ex:15:351184        body_or_params(body_or_params, query, conn.req_headers)11851186    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11871188    type warning found at:1189    │1190 19 │     %Plug.Conn{conn |1191    │     ~1192    │1193    └─ lib/plug/adapters/test/conn.ex:19:5: Plug.Adapters.Test.Conn.conn/411941195    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1196    │1197 21 │     stack   = System.stacktrace1198    │                      ~1199    │1200    └─ lib/plug/conn/wrapper_error.ex:21:22: Plug.Conn.WrapperError.reraise/31201    └─ lib/plug/conn/wrapper_error.ex:26:40: Plug.Conn.WrapperError.reraise/312021203     warning: Atom.to_char_list/1 is deprecated. Use Atom.to_charlist/1 instead1204     │1205 186 │     case Atom.to_char_list(plug) do1206     │               ~1207     │1208     └─ lib/plug/builder.ex:186:15: Plug.Builder.init_plug/112091210    warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1211    │1212 43 │       Enum.partition(cowboy_options, &is_tuple(&1) and tuple_size(&1) == 2)1213    │            ~1214    │1215    └─ lib/plug/adapters/cowboy.ex:43:12: Plug.Adapters.Cowboy.args/412161217Generated plug app1218warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1219  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21220  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11221  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51222  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21223  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41224  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212251226==> phoenix1227Compiling 75 files (.ex)1228     warning: the variable "prefix" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1229     │1230 170 │       <<attr::size(prefix)-binary, ":unique">> -> attr1231     │                    ~1232     │1233     └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/112341235     warning: using single-quoted strings to represent charlists is deprecated.1236     Use ~c"" if you indeed want a charlist or use "" instead.1237     You may run "mix format --migrate" to change all single-quoted1238     strings to use the ~c sigil and fix this warning.1239     │1240 310 │     :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',1241     │                               ~1242     │1243     └─ lib/phoenix/channel/server.ex:310:3112441245    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1246    │1247 39 │             Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>1248    │                    ~1249    │1250    └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/312511252    warning: unused require Logger1253    │1254 20 │   require Logger1255    │   ~1256    │1257    └─ lib/phoenix/endpoint/handler.ex:20:312581259    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1260    │1261 39 │       Logger.warn """1262    │              ~1263    │1264    └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/112651266    warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1267    │1268 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1269    │                             ~1270    │1271    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/212721273     warning: using single-quoted strings to represent charlists is deprecated.1274     Use ~c"" if you indeed want a charlist or use "" instead.1275     You may run "mix format --migrate" to change all single-quoted1276     strings to use the ~c sigil and fix this warning.1277     │1278 315 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1279     │                                                  ~1280     │1281     └─ lib/phoenix/router.ex:315:5012821283     warning: using single-quoted strings to represent charlists is deprecated.1284     Use ~c"" if you indeed want a charlist or use "" instead.1285     You may run "mix format --migrate" to change all single-quoted1286     strings to use the ~c sigil and fix this warning.1287     │1288 195 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1289     │                                                  ~1290     │1291     └─ lib/phoenix/router/helpers.ex:195:5012921293    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12941295    This error happens when you have function calls without parentheses inside keywords. For example:12961297        function(arg, one: nested_call a, b, c)1298        function(arg, one: if expr, do: :this, else: :that)12991300    In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:13011302        function(arg, one: if(expr, do: :this, else: :that))1303        function(arg, one: nested_call(a, b, c))13041305    Ambiguity found at:1306    │1307 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """1308    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1309    │1310    └─ lib/phoenix/router/resource.ex:7113111312    warning: duplicate key :route found in struct1313    │1314 24 │   defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]1315    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1316    │1317    └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)13181319     warning: invalid type annotation. The left side of :: must be a variable, got: {:ok, pid()} | {:error, reason :: term()}. Note "left | right :: ann" is the same as "(left | right) :: ann". To solve this, use parentheses around the union operands: "left | (right :: ann)"1320     │1321 110 │   @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore1322     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1323     │1324     └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)13251326     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1327     │1328 885 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1329     │              ~1330     │1331     └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/113321333     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1334     │1335 304 │     Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end1336     │            ~1337     │1338     └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/213391340     warning: using single-quoted strings to represent charlists is deprecated.1341     Use ~c"" if you indeed want a charlist or use "" instead.1342     You may run "mix format --migrate" to change all single-quoted1343     strings to use the ~c sigil and fix this warning.1344     │1345 174 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1346     │                                                  ~1347     │1348     └─ lib/phoenix/template.ex:174:5013491350     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1351     │1352 227 │     Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>1353     │            ~1354     │1355     └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/213561357    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1358    │1359 12 │       worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)1360    │       ~1361    │1362    └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/113631364    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1365    │1366 14 │     supervise(children, strategy: :simple_one_for_one)1367    │     ~1368    │1369    └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/113701371     warning: expected a module (an atom) when invoking config/1 in expression:13721373         endpoint.config(:endpoint_id)13741375     where "endpoint" was given the type:13761377         # type: dynamic(%{..., __pubsub_server__: atom()})1378         # from: lib/phoenix/transports/long_poll.ex:199:101379         verify_token(endpoint, token, opts)13801381     type warning found at:1382     │1383 201 │         server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)1384     │                                          ~1385     │1386     └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/313871388     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1389     │1390 647 │       exception -> {:error, {exception, System.stacktrace()}}1391     │                                                ~1392     │1393     └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/113941395     warning: unknown key .__pubsub_server__ in expression:13961397         endpoint.__pubsub_server__13981399     the given type does not have the given key:14001401         dynamic(1402           %Phoenix.Socket{1403             id: term(),1404             assigns: term(),1405             channel: term(),1406             channel_pid: term(),1407             endpoint: atom(),1408             handler: term(),1409             joined: term(),1410             pubsub_server: term(),1411             ref: term(),1412             join_ref: term(),1413             topic: term(),1414             transport: term(),1415             transport_pid: term(),1416             transport_name: term(),1417             serializer: term(),1418             private: term(),1419             vsn: term()1420           } or1421             %Plug.Conn{1422               adapter: term(),1423               assigns: term(),1424               before_send: term(),1425               body_params: term(),1426               cookies: term(),1427               halted: term(),1428               host: term(),1429               method: term(),1430               owner: term(),1431               params: term(),1432               path_params: term(),1433               path_info: term(),1434               port: term(),1435               private: term(),1436               query_params: term(),1437               query_string: term(),1438               peer: term(),1439               remote_ip: term(),1440               req_cookies: term(),1441               req_headers: term(),1442               request_path: term(),1443               resp_body: term(),1444               resp_cookies: term(),1445               resp_headers: term(),1446               scheme: term(),1447               script_name: term(),1448               secret_key_base: term(),1449               state: term(),1450               status: term()1451             } or atom() or binary()1452         )14531454     where "endpoint" was given the type:14551456         # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())1457         # from: lib/phoenix/transports/long_poll.ex:254:191458         Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])14591460     type warning found at:1461     │1462 254 │     Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])1463     │                                                          ~~~~~~~~~~~~~~~~~1464     │1465     └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/314661467    warning: a struct for Plug.Conn is expected on struct update:14681469        %Plug.Conn{conn | state: :sent}14701471    but got type:14721473        dynamic()14741475    where "conn" was given the type:14761477        # type: dynamic()1478        # from: lib/phoenix/endpoint/render_errors.ex:79:211479        conn14801481    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14821483    type warning found at:1484    │1485 83 │         %Plug.Conn{conn | state: :sent}1486    │         ~1487    │1488    └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/514891490    warning: a struct for Plug.Conn is expected on struct update:14911492        %Plug.Conn{conn | query_params: %{}, params: %{}}14931494    but got type:14951496        dynamic(%{..., params: %Plug.Conn.Unfetched{}})14971498    where "conn" was given the types:14991500        # type: dynamic(%{..., params: term()})1501        # from: lib/phoenix/endpoint/render_errors.ex:94:171502        conn.params15031504        # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1505        # from: lib/phoenix/endpoint/render_errors.ex:94:171506        conn.params15071508    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15091510    type warning found at:1511    │1512 95 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1513    │                                   ~1514    │1515    └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115161517    warning: a struct for Plug.Conn is expected on struct update:15181519        %Plug.Conn{conn | query_params: %{}, params: params}15201521    but got type:15221523        dynamic(%{..., params: not %Plug.Conn.Unfetched{}})15241525    where "conn" was given the types:15261527        # type: dynamic(%{..., params: term()})1528        # from: lib/phoenix/endpoint/render_errors.ex:94:171529        conn.params15301531        # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1532        # from: lib/phoenix/endpoint/render_errors.ex:94:171533        conn.params15341535    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15361537    type warning found at:1538    │1539 96 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1540    │                   ~1541    │1542    └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/115431544     warning: a struct for Phoenix.Socket is expected on struct update:15451546         %Phoenix.Socket{socket | id: id}15471548     but got type:15491550         dynamic()15511552     where "socket" was given the type:15531554         # type: dynamic()1555         # from: lib/phoenix/socket/transport.ex1556         {:ok, socket}15571558     when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"15591560     type warning found at:1561     │1562 195 │           id when is_binary(id) -> {:ok, %Socket{socket | id: id}}1563     │                                          ~1564     │1565     └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/715661567     warning: a struct for Plug.Conn is expected on struct update:15681569         %Plug.Conn{conn | params: params}15701571     but got type:15721573         dynamic(%{..., params: map()})15741575     where "conn" was given the type:15761577         # type: dynamic(%{..., params: map()})1578         # from: lib/phoenix/controller.ex:912:171579         Map.get(conn.params, required_key)15801581     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"15821583     type warning found at:1584     │1585 919 │     %Plug.Conn{conn | params: params}1586     │     ~1587     │1588     └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/215891590    warning: expected a map or struct when accessing .url in expression:15911592        endpoint.url15931594    where "endpoint" was given the types:15951596        # type: dynamic(atom())1597        # from: lib/phoenix/router/helpers.ex:24:201598        endpoint15991600        # type: atom()1601        # from: lib/phoenix/router/helpers.ex:24:351602        is_atom(endpoint)16031604    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()16051606    type warning found at:1607    │1608 25 │     endpoint.url1609    │              ~1610    │1611    └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/216121613     warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1614     │1615 198 │       supervisor(Task.Supervisor, [[name: task_supervisor]]),1616     │       ~1617     │1618     └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/416191620     warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1621     │1622 199 │       worker(Phoenix.Tracker, [module, opts, opts])1623     │       ~1624     │1625     └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/416261627     warning: a struct for Plug.Conn is expected on struct update:16281629         %Plug.Conn{conn | path_info: path, script_name: script}16301631     but got type:16321633         dynamic()16341635     where "conn" was given the type:16361637         # type: dynamic()1638         # from: lib/phoenix/router/route.ex:147:101639         conn = target.call(%Plug.Conn{...}, opts)16401641     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16421643     type warning found at:1644     │1645 148 │     %Plug.Conn{conn | path_info: path, script_name: script}1646     │     ~1647     │1648     └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/416491650     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1651     │1652 284 │             Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())1653     │                                                                          ~1654     │1655     └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/116561657    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1658    │1659 71 │     supervise(children, strategy: :one_for_one)1660    │     ~1661    │1662    └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/116631664    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1665    │1666 76 │     [worker(Phoenix.Config, args)]1667    │      ~1668    │1669    └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/316701671    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1672    │1673 84 │       [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]1674    │        ~1675    │1676    └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/21677    └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/31678    └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/316791680    warning: incompatible types given to Plug.Adapters.Cowboy.child_spec/4:16811682        Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)16831684    given types:16851686        (1687          dynamic(:http or :https),1688          -dynamic(%{..., __sockets__: term()})-,1689          empty_list(),1690          dynamic(empty_list() or non_empty_list(term(), term()))1691        )16921693    but expected one of:16941695        :http or :https, atom() or binary(), term(), term()16961697    where "config" was given the type:16981699        # type: dynamic(empty_list() or non_empty_list(term(), term()))1700        # from: lib/phoenix/endpoint/cowboy_handler.ex:78:121701        config = Keyword.put_new(config, :dispatch, _: dispatches)17021703    where "endpoint" was given the type:17041705        # type: dynamic(%{..., __sockets__: term()})1706        # from: lib/phoenix/endpoint/cowboy_handler.ex:66:261707        {path, socket} <- endpoint.__sockets__17081709    where "scheme" was given the types:17101711        # type: dynamic()1712        # from: lib/phoenix/endpoint/cowboy_handler.ex:60:181713        scheme17141715        # type: dynamic(:http or :https)1716        # from: lib/phoenix/endpoint/cowboy_handler.ex:81:281717        Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)17181719    type warning found at:1720    │1721 81 │       Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)1722    │                            ~1723    │1724    └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/317251726     warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1727     │1728 106 │         worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),1729     │         ~1730     │1731     └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/317321733    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1734    │1735 23 │         {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}1736    │                                                                                   ~1737    │1738    └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/317391740     warning: expected a module (an atom) when invoking path/1 in expression:17411742         endpoint.path("/")17431744     where "endpoint" was given the type:17451746         # type: dynamic(%{..., host: term()})1747         # from: lib/phoenix/endpoint/supervisor.ex:312:141748         endpoint.host17491750     type warning found at:1751     │1752 313 │     endpoint.path("/")1753     │              ~1754     │1755     └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/117561757    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1758    │1759 35 │     supervise(children, strategy: :one_for_one)1760    │     ~1761    │1762    └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/117631764    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: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1802     │1803 155 │     Enum.partition attrs, fn1804     │          ~1805     │1806     └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/118071808    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1809    │1810 61 │             IO.puts Exception.format(kind, reason, System.stacktrace)1811    │                                                           ~1812    │1813    └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/318141815    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: "&lt;"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: "&gt;"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: "&amp;"1936    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1937    │1938    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/119391940     warning: the right-hand side of || will never be executed:19411942         selected(form, field, opts) || ...19431944     because the left-hand side always evaluates to:19451946         dynamic({term(), term()})19471948     where "field" was given the type:19491950         # type: dynamic()1951         # from: lib/phoenix_html/form.ex:830:201952         field19531954     where "form" was given the type:19551956         # type: dynamic()1957         # from: lib/phoenix_html/form.ex:830:141958         form19591960     where "opts" was given the types:19611962         # type: dynamic()1963         # from: lib/phoenix_html/form.ex:830:361964         opts19651966         # type: dynamic(empty_list() or non_empty_list(term(), term()))1967         # from: lib/phoenix_html/form.ex:831:241968         selected(form, field, opts)19691970     type warning found at:1971     │1972 831 │     {selected, opts} = selected(form, field, opts) || []1973     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1974     │1975     └─ lib/phoenix_html/form.ex:831: Phoenix.HTML.Form.select/419761977    warning: the 1st pattern in clause will never match:19781979        3419801981    because it is expected to receive type:19821983        dynamic(empty_list() or non_empty_list(term(), term()))19841985    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())19861987    type warning found at:1988    │1989 59 │   def to_iodata(?"), do: "&quot;"1990    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1991    │1992    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/119931994    warning: the 1st pattern in clause will never match:19951996        3919971998    because it is expected to receive type:19992000        dynamic(empty_list() or non_empty_list(term(), term()))20012002    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20032004    type warning found at:2005    │2006 60 │   def to_iodata(?'), do: "&#39;"2007    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2008    │2009    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/120102011    warning: the 1st pattern in clause will never match:20122013        {:safe, data}20142015    because it is expected to receive type:20162017        dynamic(empty_list() or non_empty_list(term(), term()))20182019    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20202021    type warning found at:2022    │2023 75 │   def to_iodata({:safe, data}) do2024    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2025    │2026    └─ lib/phoenix_html/safe.ex:75: Phoenix.HTML.Safe.List.to_iodata/120272028    warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)2029    │2030  1 │ defmodule Phoenix.HTML.Engine do2031    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2032    │2033    └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)20342035    warning: the following clause is redundant:20362037        def to_iodata(other)20382039    it has type:20402041        dynamic(empty_list() or non_empty_list(term(), term()))20422043    previous clauses have already matched on the following types:20442045        non_empty_list(term(), term())2046        empty_list()20472048    │2049 79 │   def to_iodata(other) do2050    │       ~2051    │2052    └─ lib/phoenix_html/safe.ex:79:7: Phoenix.HTML.Safe.List.to_iodata/120532054    warning: the following clause is redundant:20552056        def handle_text("", text)20572058    it has type:20592060        binary(), dynamic()20612062    previous clauses have already matched on the following types:20632064        term(), term()20652066    │2067 28 │   def handle_text("", text) do # Required for Elixir < v1.5.12068    │       ~2069    │2070    └─ lib/phoenix_html/engine.ex:28:7: Phoenix.HTML.Engine.handle_text/220712072    warning: the 1st pattern in clause will never match:20732074        h20752076    because it is expected to receive type:20772078        dynamic(empty_list() or non_empty_list(term(), term()))20792080    where "h" was given the type:20812082        # type: integer()2083        # from: lib/phoenix_html/safe.ex:62:252084        is_integer(h)20852086    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())20872088    type warning found at:2089    │2090 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do2091    │                 ~2092    │2093    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/120942095    warning: the following clause is redundant:20962097        def handle_text({:safe, buffer}, text)20982099    it has type:21002101        dynamic({:safe, term()}), dynamic()21022103    previous clauses have already matched on the following types:21042105        term(), term()21062107    │2108 32 │   def handle_text({:safe, buffer}, text) do2109    │       ~2110    │2111    └─ lib/phoenix_html/engine.ex:32:7: Phoenix.HTML.Engine.handle_text/221122113    warning: the 1st pattern in clause will never match:21142115        h21162117    because it is expected to receive type:21182119        dynamic(empty_list() or non_empty_list(term(), term()))21202121    where "h" was given the type:21222123        # type: integer()2124        # from: lib/phoenix_html/safe.ex:65:252125        is_integer(h)21262127    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21282129    type warning found at:2130    │2131 65 │   def to_iodata(h) when is_integer(h) do2132    │                 ~2133    │2134    └─ lib/phoenix_html/safe.ex:65:17: Phoenix.HTML.Safe.List.to_iodata/121352136    warning: the 1st pattern in clause will never match:21372138        h21392140    because it is expected to receive type:21412142        dynamic(empty_list() or non_empty_list(term(), term()))21432144    where "h" was given the type:21452146        # type: binary()2147        # from: lib/phoenix_html/safe.ex:71:252148        is_binary(h)21492150    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())21512152    type warning found at:2153    │2154 71 │   def to_iodata(h) when is_binary(h) do2155    │                 ~2156    │2157    └─ lib/phoenix_html/safe.ex:71:17: Phoenix.HTML.Safe.List.to_iodata/121582159Generated phoenix_html app2160==> tracy2161Compiling 8 files (.ex)2162    warning: invalid type annotation. The left side of :: must be a variable, got: fun()2163    │2164 23 │   @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2165    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2166    │2167    └─ lib/tracy.ex:23: Tracy (module)21682169    warning: invalid type annotation. Type annotations cannot be nested: metadata :: fun() :: map() | nil2170    │2171 23 │   @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2172    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2173    │2174    └─ lib/tracy.ex:23: Tracy (module)21752176    warning: invalid type annotation. The left side of :: must be a variable, got: fun()2177    │2178 23 │   @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}2179    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2180    │2181    └─ lib/tracy.ex:23: Tracy (module)21822183    warning: unused require Logger2184    │2185  3 │   require Logger2186    │   ~2187    │2188    └─ lib/tracy/plug.ex:3:321892190    warning: unused require Logger2191    │2192  3 │   require Logger2193    │   ~2194    │2195    └─ lib/tracy/util.ex:3:321962197    warning: a struct for Tracy.Tracer.State is expected on struct update:21982199        %Tracy.Tracer.State{state | count: state.count + 1}22002201    but got type:22022203        dynamic(%{..., pid: term()})22042205    where "state" was given the type:22062207        # type: dynamic(%{..., pid: term()})2208        # from: lib/tracy/tracer.ex:47:552209        state = %{pid: pid}22102211    when defining the variable "state", you must also pattern match on "%Tracy.Tracer.State{}"22122213    type warning found at:2214    │2215 48 │     state = %State{state | count: state.count + 1}2216    │             ~2217    │2218    └─ lib/tracy/tracer.ex:48:13: Tracy.Tracer.handle_info/222192220    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead2221    │2222 10 │       worker(Tracy.Tracer, [], restart: :transient)2223    │       ~2224    │2225    └─ lib/tracy/trace_supervisor.ex:10:7: Tracy.TraceSupervisor.init/122262227    warning: 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/layout_view.ex ==2308** (RuntimeError) unexpected EEx.Engine state: {:safe, ""}. This typically means a bug or an outdated EEx.Engine or tool2309    (eex 1.20.3) lib/eex/engine.ex:226: EEx.Engine.check_state!/12310    (eex 1.20.3) lib/eex/engine.ex:189: EEx.Engine.handle_text/32311    (eex 1.20.3) lib/eex/compiler.ex:338: EEx.Compiler.generate_buffer/42312    (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/22313    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/22314    (phoenix 1.3.5) expanding macro: Phoenix.Template.__before_compile__/12315    lib/tracy_web/web/views/layout_view.ex:1: TracyWeb.Web.LayoutView (module)2316could not compile dependency :tracy_web, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile tracy_web --force", update it with "mix deps.update tracy_web" or clean it with "mix deps.clean tracy_web"