mppm

Build log

nerves_system_qemu_aarch64

mppm 0.1.1 · fail · run mppm-0.1.1-1791006358568
2472 of 2472 lines
1Resolving Hex dependencies...2Resolution completed in 0.402s3Unchanged:4  certifi 2.15.05  circular_buffer 1.1.06  cowboy 2.19.07  cowboy_telemetry 0.3.18  cowlib 2.20.0 VULNERABLE!9    EEF-CVE-2026-43966 (MEDIUM)10    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c11    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/212    https://osv.dev/vulnerability/EEF-CVE-2026-439661314    EEF-CVE-2026-43969 (LOW)15    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5616    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/117    https://osv.dev/vulnerability/EEF-CVE-2026-4396918  db_connection 2.10.219  decimal 3.1.120  ecto 3.14.221  ecto_network 1.3.022  ecto_sql 3.14.023  elixir_make 0.10.024  erlsom 1.5.225  expo 1.1.126  gettext 0.26.227  hackney 1.25.0 VULNERABLE!28    EEF-CVE-2026-47071 (HIGH)29    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr30    SOCKS5 TLS upgrade ignores caller timeout in hackney31    https://osv.dev/vulnerability/EEF-CVE-2026-470713233    EEF-CVE-2026-47076 (MEDIUM)34    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq35    SSRF allowlist bypass via percent-encoded host in hackney36    https://osv.dev/vulnerability/EEF-CVE-2026-470763738    EEF-CVE-2026-47069 (LOW)39    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw240    CRLF injection in cookie domain/path options in hackney41    https://osv.dev/vulnerability/EEF-CVE-2026-470694243    EEF-CVE-2026-47075 (MEDIUM)44    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf45    CR/LF injection in query parameter in hackney46    https://osv.dev/vulnerability/EEF-CVE-2026-4707547  httpoison 1.8.248  idna 6.1.149  interactive_cmd 0.1.450  jason 1.4.551  logger_file_backend 0.0.1452  metrics 1.0.153  mime 2.0.754  mimerl 1.5.055  mppm 0.1.156  nerves 2.0.0-pre.257  nerves_discovery 0.1.558  nerves_logging 0.2.459  nerves_runtime 0.13.1360  nerves_system_bbb 2.30.261  nerves_system_br 1.34.462  nerves_system_mangopi_mq_pro 0.17.263  nerves_system_qemu_aarch64 0.4.264  nerves_system_rpi0 2.1.265  nerves_system_rpi4 2.1.266  nerves_system_rpi5 2.1.267  nerves_system_trellis 0.5.068  nerves_system_x86_64 1.34.269  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.170  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.171  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.172  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.173  nerves_toolchain_x86_64_nerves_linux_musl 15.3.174  nerves_uevent 0.1.775  oauth2 2.1.176  observer_cli 1.8.877  parse_trans 3.4.178  phoenix 1.5.15 VULNERABLE!79    GHSA-p8f7-22gq-m7j9 (HIGH)80    aka: CVE-2022-4297581    Phoenix before 1.6.14 mishandles check_origin wildcarding82    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j983  phoenix_ecto 4.7.084  phoenix_html 2.14.3 VULNERABLE!85    GHSA-5g2h-9x5v-5h3x (MEDIUM)86    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q287    phoenix_html allows Cross-site Scripting in HEEx class attributes88    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x89  phoenix_live_dashboard 0.4.090  phoenix_live_view 0.15.7 VULNERABLE!91    EEF-CVE-2026-64941 (LOW)92    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf93    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR94    https://osv.dev/vulnerability/EEF-CVE-2026-6494195  phoenix_pubsub 2.3.096  plug 1.20.397  plug_cowboy 2.9.098  plug_crypto 1.2.599  postgrex 0.22.4100  property_table 0.3.4101  ranch 2.3.0102  recon 2.5.6103  ring_logger 0.11.7104  slugify 1.3.1105  ssl_verify_fun 1.1.7106  tablet 0.3.3107  telemetry 0.4.3108  telemetry_metrics 0.6.2109  tesla 1.21.3110  toolshed 0.5.0111  uboot_env 1.0.2112  unicode_util_compat 0.7.1113  xmlrpc 1.5.0114* Getting mppm (Hex package)115* Getting nerves (Hex package)116* Getting ring_logger (Hex package)117* Getting toolshed (Hex package)118* Getting nerves_runtime (Hex package)119* Getting nerves_system_bbb (Hex package)120* Getting nerves_system_mangopi_mq_pro (Hex package)121* Getting nerves_system_qemu_aarch64 (Hex package)122* Getting nerves_system_rpi0 (Hex package)123* Getting nerves_system_rpi4 (Hex package)124* Getting nerves_system_rpi5 (Hex package)125* Getting nerves_system_trellis (Hex package)126* Getting nerves_system_x86_64 (Hex package)127* Getting nerves_system_br (Hex package)128* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)129* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)130* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)131* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)132* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)133* Getting nerves_logging (Hex package)134* Getting nerves_uevent (Hex package)135* Getting uboot_env (Hex package)136* Getting elixir_make (Hex package)137* Getting property_table (Hex package)138* Getting circular_buffer (Hex package)139* Getting interactive_cmd (Hex package)140* Getting nerves_discovery (Hex package)141* Getting tablet (Hex package)142* Getting ecto_network (Hex package)143* Getting ecto_sql (Hex package)144* Getting gettext (Hex package)145* Getting httpoison (Hex package)146* Getting jason (Hex package)147* Getting logger_file_backend (Hex package)148* Getting oauth2 (Hex package)149* Getting observer_cli (Hex package)150* Getting phoenix (Hex package)151* Getting phoenix_ecto (Hex package)152* Getting phoenix_html (Hex package)153* Getting phoenix_live_dashboard (Hex package)154* Getting phoenix_live_view (Hex package)155* Getting phoenix_pubsub (Hex package)156* Getting plug_cowboy (Hex package)157* Getting postgrex (Hex package)158* Getting slugify (Hex package)159* Getting xmlrpc (Hex package)160* Getting decimal (Hex package)161* Getting erlsom (Hex package)162* Getting db_connection (Hex package)163* Getting telemetry (Hex package)164* Getting cowboy (Hex package)165* Getting cowboy_telemetry (Hex package)166* Getting plug (Hex package)167* Getting mime (Hex package)168* Getting plug_crypto (Hex package)169* Getting cowlib (Hex package)170* Getting ranch (Hex package)171* Getting telemetry_metrics (Hex package)172* Getting ecto (Hex package)173* Getting recon (Hex package)174* Getting tesla (Hex package)175* Getting hackney (Hex package)176* Getting certifi (Hex package)177* Getting idna (Hex package)178* Getting metrics (Hex package)179* Getting mimerl (Hex package)180* Getting parse_trans (Hex package)181* Getting ssl_verify_fun (Hex package)182* Getting unicode_util_compat (Hex package)183* Getting expo (Hex package)184Found packages with security advisories, see above for details185You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more186==> nerves_system_br187Generated nerves_system_br app188==> mime189Compiling 1 file (.ex)190Generated mime app191==> circular_buffer192Compiling 1 file (.ex)193Generated circular_buffer app194==> nerves_compatibility_test195===> Analyzing applications...196===> Compiling erlsom197     ┌─ src/erlsom.erl:198     │199 143 │    case catch erlsom_compile:compile(Xsd, Options) of200     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.201Compile directive 'nowarn_deprecated_catch' can be used to suppress202warnings in selected modules.203204     ┌─ src/erlsom.erl:205     │206 245 │    case catch erlsom_sax:parseDocument(Xml, State,207     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.208Compile directive 'nowarn_deprecated_catch' can be used to suppress209warnings in selected modules.210211212      ┌─ src/erlsom_sax_list.erl:213      │214 1063 │        case catch list_to_integer(Tail1) of215      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.216Compile directive 'nowarn_deprecated_catch' can be used to suppress217warnings in selected modules.218219220      ┌─ src/erlsom_sax_latin9.erl:221      │222 1063 │        case catch list_to_integer(Tail1) of223      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.224Compile directive 'nowarn_deprecated_catch' can be used to suppress225warnings in selected modules.226227228     ┌─ src/erlsom_compile.erl:229     │230 250 │    case catch transform(ParsedXsd, Acc) of231     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.232Compile directive 'nowarn_deprecated_catch' can be used to suppress233warnings in selected modules.234235     ┌─ src/erlsom_compile.erl:236     │237 254 │        case catch erlsom_pass2:secondPass(IntermediateResult#p1acc.tps,238     │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.239Compile directive 'nowarn_deprecated_catch' can be used to suppress240warnings in selected modules.241242243      ┌─ src/erlsom_sax_utf16be.erl:244      │245 1063 │        case catch list_to_integer(Tail1) of246      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.247Compile directive 'nowarn_deprecated_catch' can be used to suppress248warnings in selected modules.249250251      ┌─ src/erlsom_sax_utf16le.erl:252      │253 1063 │        case catch list_to_integer(Tail1) of254      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.255Compile directive 'nowarn_deprecated_catch' can be used to suppress256warnings in selected modules.257258259      ┌─ src/erlsom_sax_latin1.erl:260      │261 1063 │        case catch list_to_integer(Tail1) of262      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.263Compile directive 'nowarn_deprecated_catch' can be used to suppress264warnings in selected modules.265266267      ┌─ src/erlsom_sax_utf8.erl:268      │269 1063 │        case catch list_to_integer(Tail1) of270      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.271Compile directive 'nowarn_deprecated_catch' can be used to suppress272warnings in selected modules.273274275==> recon276Compiling 6 files (.erl)277Generated recon app278==> plug_crypto279Compiling 5 files (.ex)280Generated plug_crypto app281==> nerves_compatibility_test282===> Analyzing applications...283===> Compiling mimerl284===> Analyzing applications...285===> Compiling ranch286==> ssl_verify_fun287Compiling 7 files (.erl)288Generated ssl_verify_fun app289==> observer_cli290Compiling 17 files (.erl)291Generated observer_cli app292==> tablet293Compiling 2 files (.ex)294Generated tablet app295==> elixir_make296Compiling 8 files (.ex)297Generated elixir_make app298==> nerves_logging299 CC kmsg_tailer.o300 LD kmsg_tailer301Compiling 5 files (.ex)302Generated nerves_logging app303==> nerves_compatibility_test304===> Analyzing applications...305===> Compiling cowlib306==> logger_file_backend307Compiling 1 file (.ex)308Generated logger_file_backend app309==> nerves_discovery310Compiling 5 files (.ex)311Generated nerves_discovery app312==> ring_logger313Compiling 7 files (.ex)314Generated ring_logger app315==> decimal316Compiling 4 files (.ex)317Generated decimal app318==> jason319Compiling 10 files (.ex)320Generated jason app321==> interactive_cmd322Compiling 1 file (.ex)323Generated interactive_cmd app324==> nerves325Compiling 65 files (.ex)326    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)327    │328  6 │ defmodule Mix.Tasks.Nerves.Init do329    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~330    │331    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)332333    warning: redefining module Nerves (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.beam)334    │335  6 │ defmodule Nerves do336    │ ~~~~~~~~~~~~~~~~~~~337    │338    └─ lib/nerves.ex:6: Nerves (module)339340    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)341    │342  5 │ defmodule Nerves.ArtifactResolver do343    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~344    │345    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)346347    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)348    │349  6 │ defmodule Nerves.BuildAction.AppModes do350    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~351    │352    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)353354    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)355    │356  5 │ defmodule Nerves.BuildAction.CheckExecutables do357    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~358    │359    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)360361    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)362    │363  8 │ defmodule Nerves.BuildAction.Erlinit do364    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~365    │366    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)367368    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)369    │370  5 │ defmodule Nerves.BuildAction.Firmware do371    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~372    │373    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)374375    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)376    │377  7 │ defmodule Nerves.BuildAction.IExStartupCheck do378    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~379    │380    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)381382    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)383    │384  5 │ defmodule Nerves.BuildAction.NervesV1System do385    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~386    │387    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)388389    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)390    │391  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do392    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~393    │394    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)395396    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)397    │398  5 │ defmodule Nerves.BuildAction.Rootfs do399    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~400    │401    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)402403    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)404    │405  6 │ defmodule Nerves.BuildAction.SortApps do406    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~407    │408    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)409410    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)411    │412  5 │ defmodule Nerves.BuildAction.StripAll do413    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~414    │415    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)416417    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)418    │419  5 │ defmodule Nerves.BuildAction.Trimmer do420    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~421    │422    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)423424    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)425    │426  5 │ defmodule Nerves.BuildPlan do427    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~428    │429    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)430431    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)432    │433  5 │ defmodule Nerves.BuildPlan.Checks do434    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~435    │436    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)437438    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Container.beam)439    │440  6 │ defmodule Nerves.Container do441    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~442    │443    └─ lib/nerves/container.ex:6: Nerves.Container (module)444445    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)446    │447  5 │ defmodule Nerves.Fingerprint do448    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~449    │450    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)451452    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)453    │454  5 │ defmodule Nerves.MixPackage do455    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~456    │457    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)458459    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Paths.beam)460    │461  5 │ defmodule Nerves.Paths do462    │ ~~~~~~~~~~~~~~~~~~~~~~~~~463    │464    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)465466    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)467    │468  5 │ defmodule Nerves.TargetTuple do469    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~470    │471    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)472473Generated nerves app474==> nerves_toolchain_aarch64_nerves_linux_gnu475Compiling 1 file (.ex)476Generated nerves_toolchain_aarch64_nerves_linux_gnu app477==> nerves_system_qemu_aarch64478Compiling 1 file (.ex)479Generated nerves_system_qemu_aarch64 app480==> nerves_compatibility_test481===> Analyzing applications...482===> Compiling unicode_util_compat483===> Analyzing applications...484===> Compiling idna485===> Analyzing applications...486===> Compiling telemetry487==> db_connection488Compiling 18 files (.ex)489Generated db_connection app490==> telemetry_metrics491Compiling 7 files (.ex)492     warning: unused require Logger493     │494 391 │   require Logger495     │   ~496     │497     └─ lib/telemetry_metrics.ex:391:3498499Generated telemetry_metrics app500==> ecto501Compiling 56 files (.ex)502Generated ecto app503==> xmlrpc504Compiling 5 files (.ex)505Generated xmlrpc app506==> nerves_compatibility_test507===> Analyzing applications...508===> Compiling cowboy509==> expo510Compiling 2 files (.erl)511Compiling 22 files (.ex)512Generated expo app513==> gettext514Compiling 18 files (.ex)515     warning: unused require Gettext.Macros516     │517 594 │   require Gettext.Macros518     │   ~519     │520     └─ lib/gettext.ex:594:3521522     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead523     │524 426 │               Kernel.ParallelCompiler.async(fn ->525     │                                       ~526     │527     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3528529     warning: the following clause is redundant:530531         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)532533     it has type:534535         dynamic(%Expo.Message.Plural{})536537     previous clauses have already matched on the following types:538539         %Expo.Message.Singular{}540         %Expo.Message.Plural{}541542     │543 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do544     │        ~545     │546     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1547548Generated gettext app549==> phoenix_pubsub550Compiling 12 files (.ex)551Generated phoenix_pubsub app552==> slugify553Compiling 1 file (.ex)554Generated slugify app555==> nerves_compatibility_test556===> Analyzing applications...557===> Compiling certifi558==> plug559Compiling 1 file (.erl)560Compiling 42 files (.ex)561Generated plug app562==> phoenix_html563Compiling 8 files (.ex)564    warning: using single-quoted strings to represent charlists is deprecated.565    Use ~c"" if you indeed want a charlist or use "" instead.566    You may run "mix format --migrate" to change all single-quoted567    strings to use the ~c sigil and fix this warning.568    │569 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do570    │                                                  ~571    │572    └─ lib/phoenix_html/engine.ex:12:50573574    warning: the 1st pattern in clause will never match:575576        60577578    because it is expected to receive type:579580        dynamic(empty_list() or non_empty_list(term(), term()))581582    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())583584    type warning found at:585    │586 56 │   def to_iodata(?<), do: "&lt;"587    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~588    │589    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1590591    warning: the 1st pattern in clause will never match:592593        62594595    because it is expected to receive type:596597        dynamic(empty_list() or non_empty_list(term(), term()))598599    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())600601    type warning found at:602    │603 57 │   def to_iodata(?>), do: "&gt;"604    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~605    │606    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1607608    warning: the 1st pattern in clause will never match:609610        38611612    because it is expected to receive type:613614        dynamic(empty_list() or non_empty_list(term(), term()))615616    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())617618    type warning found at:619    │620 58 │   def to_iodata(?&), do: "&amp;"621    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~622    │623    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1624625    warning: the 1st pattern in clause will never match:626627        34628629    because it is expected to receive type:630631        dynamic(empty_list() or non_empty_list(term(), term()))632633    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())634635    type warning found at:636    │637 59 │   def to_iodata(?"), do: "&quot;"638    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~639    │640    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1641642    warning: the 1st pattern in clause will never match:643644        39645646    because it is expected to receive type:647648        dynamic(empty_list() or non_empty_list(term(), term()))649650    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())651652    type warning found at:653    │654 60 │   def to_iodata(?'), do: "&#39;"655    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~656    │657    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1658659    warning: the 1st pattern in clause will never match:660661        {:safe, data}662663    because it is expected to receive type:664665        dynamic(empty_list() or non_empty_list(term(), term()))666667    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())668669    type warning found at:670    │671 76 │   def to_iodata({:safe, data}) do672    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~673    │674    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1675676    warning: the following clause is redundant:677678        def to_iodata(other)679680    it has type:681682        dynamic(empty_list() or non_empty_list(term(), term()))683684    previous clauses have already matched on the following types:685686        non_empty_list(term(), term())687        empty_list()688689    │690 80 │   def to_iodata(other) do691    │       ~692    │693    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1694695    warning: the 1st pattern in clause will never match:696697        h698699    because it is expected to receive type:700701        dynamic(empty_list() or non_empty_list(term(), term()))702703    where "h" was given the type:704705        # type: integer()706        # from: lib/phoenix_html/safe.ex:62:25707        is_integer(h)708709    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())710711    type warning found at:712    │713 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do714    │                 ~715    │716    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1717718    warning: the 1st pattern in clause will never match:719720        h721722    because it is expected to receive type:723724        dynamic(empty_list() or non_empty_list(term(), term()))725726    where "h" was given the type:727728        # type: integer()729        # from: lib/phoenix_html/safe.ex:66:25730        is_integer(h)731732    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())733734    type warning found at:735    │736 66 │   def to_iodata(h) when is_integer(h) do737    │                 ~738    │739    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1740741    warning: the 1st pattern in clause will never match:742743        h744745    because it is expected to receive type:746747        dynamic(empty_list() or non_empty_list(term(), term()))748749    where "h" was given the type:750751        # type: binary()752        # from: lib/phoenix_html/safe.ex:72:25753        is_binary(h)754755    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())756757    type warning found at:758    │759 72 │   def to_iodata(h) when is_binary(h) do760    │                 ~761    │762    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1763764Generated phoenix_html app765warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"766  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2767  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1768  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5769  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2770  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4771  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2772773==> postgrex774Compiling 70 files (.ex)775Generated postgrex app776==> ecto_sql777Compiling 25 files (.ex)778Generated ecto_sql app779warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"780  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2781  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1782  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5783  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2784  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4785  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2786787==> phoenix_ecto788Compiling 7 files (.ex)789Generated phoenix_ecto app790==> nerves_compatibility_test791===> Analyzing applications...792===> Compiling parse_trans793==> uboot_env794Compiling 5 files (.ex)795Generated uboot_env app796==> nerves_compatibility_test797===> Analyzing applications...798===> Compiling metrics799===> Analyzing applications...800===> Compiling hackney801     ┌─ src/hackney_trace.erl:802     │803 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),804     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.805Compile directive 'nowarn_deprecated_catch' can be used to suppress806warnings in selected modules.807808     ┌─ src/hackney_trace.erl:809     │810 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),811     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.812Compile directive 'nowarn_deprecated_catch' can be used to suppress813warnings in selected modules.814815     ┌─ src/hackney_trace.erl:816     │817 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),818     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.819Compile directive 'nowarn_deprecated_catch' can be used to suppress820warnings in selected modules.821822     ┌─ src/hackney_trace.erl:823     │824 147 │    (catch file:close(Fd)),825     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.826Compile directive 'nowarn_deprecated_catch' can be used to suppress827warnings in selected modules.828829     ┌─ src/hackney_trace.erl:830     │831 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),832     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.833Compile directive 'nowarn_deprecated_catch' can be used to suppress834warnings in selected modules.835836     ┌─ src/hackney_trace.erl:837     │838 155 │    (catch file:close(Fd)),839     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.840Compile directive 'nowarn_deprecated_catch' can be used to suppress841warnings in selected modules.842843     ┌─ src/hackney_trace.erl:844     │845 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,846     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.847Compile directive 'nowarn_deprecated_catch' can be used to suppress848warnings in selected modules.849850     ┌─ src/hackney_trace.erl:851     │852 165 │    (catch print_trace(Fd, Event)),853     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.854Compile directive 'nowarn_deprecated_catch' can be used to suppress855warnings in selected modules.856857858    ┌─ src/hackney_pool.erl:859    │860 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of861    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.862Compile directive 'nowarn_deprecated_catch' can be used to suppress863warnings in selected modules.864865     ┌─ src/hackney_pool.erl:866     │867 101 │                _ = catch hackney_connection:close(Connection, Socket),868     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.869Compile directive 'nowarn_deprecated_catch' can be used to suppress870warnings in selected modules.871872     ┌─ src/hackney_pool.erl:873     │874 130 │            _ = catch hackney_connection:close(Connection, Socket),875     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.876Compile directive 'nowarn_deprecated_catch' can be used to suppress877warnings in selected modules.878879     ┌─ src/hackney_pool.erl:880     │881 134 │        catch hackney_connection:close(Connection, Socket),882     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.883Compile directive 'nowarn_deprecated_catch' can be used to suppress884warnings in selected modules.885886     ┌─ src/hackney_pool.erl:887     │888 319 │                 catch Transport:close(Socket),889     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.890Compile directive 'nowarn_deprecated_catch' can be used to suppress891warnings in selected modules.892893     ┌─ src/hackney_pool.erl:894     │895 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of896     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.897Compile directive 'nowarn_deprecated_catch' can be used to suppress898warnings in selected modules.899900     ┌─ src/hackney_pool.erl:901     │902 423 │                    _ = catch hackney_connection:close(Connection, S),903     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.904Compile directive 'nowarn_deprecated_catch' can be used to suppress905warnings in selected modules.906907     ┌─ src/hackney_pool.erl:908     │909 444 │        catch hackney_connection:close(Connection, Socket),910     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.911Compile directive 'nowarn_deprecated_catch' can be used to suppress912warnings in selected modules.913914     ┌─ src/hackney_pool.erl:915     │916 543 │            _ = (catch hackney_connection:close(Connection, Socket)),917     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.918Compile directive 'nowarn_deprecated_catch' can be used to suppress919warnings in selected modules.920921922     ┌─ src/hackney_manager.erl:923     │924 114 │    catch ets:delete(?MODULE, Ref),925     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.926Compile directive 'nowarn_deprecated_catch' can be used to suppress927warnings in selected modules.928929     ┌─ src/hackney_manager.erl:930     │931 125 │            catch Transport:close(Socket);932     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.933Compile directive 'nowarn_deprecated_catch' can be used to suppress934warnings in selected modules.935936     ┌─ src/hackney_manager.erl:937     │938 129 │            catch Handler:checkin(SocketRef, Socket)939     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.940Compile directive 'nowarn_deprecated_catch' can be used to suppress941warnings in selected modules.942943     ┌─ src/hackney_manager.erl:944     │945 133 │          catch Transport:controlling_process(Socket, self()),946     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.947Compile directive 'nowarn_deprecated_catch' can be used to suppress948warnings in selected modules.949950     ┌─ src/hackney_manager.erl:951     │952 134 │          catch Transport:close(Socket),953     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.954Compile directive 'nowarn_deprecated_catch' can be used to suppress955warnings in selected modules.956957     ┌─ src/hackney_manager.erl:958     │959 227 │            catch ets:delete(?MODULE, Ref),960     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.961Compile directive 'nowarn_deprecated_catch' can be used to suppress962warnings in selected modules.963964     ┌─ src/hackney_manager.erl:965     │966 255 │    catch ets:delete(?MODULE, Ref),967     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.968Compile directive 'nowarn_deprecated_catch' can be used to suppress969warnings in selected modules.970971     ┌─ src/hackney_manager.erl:972     │973 269 │          catch Transport:controlling_process(Socket, self()),974     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.975Compile directive 'nowarn_deprecated_catch' can be used to suppress976warnings in selected modules.977978     ┌─ src/hackney_manager.erl:979     │980 270 │          catch Transport:close(Socket),981     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.982Compile directive 'nowarn_deprecated_catch' can be used to suppress983warnings in selected modules.984985     ┌─ src/hackney_manager.erl:986     │987 383 │          catch unlink(Stream),988     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.989Compile directive 'nowarn_deprecated_catch' can be used to suppress990warnings in selected modules.991992     ┌─ src/hackney_manager.erl:993     │994 416 │        catch ets:delete(?REFS, Ref),995     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.996Compile directive 'nowarn_deprecated_catch' can be used to suppress997warnings in selected modules.998999     ┌─ src/hackney_manager.erl:1000     │1001 426 │        catch ets:delete(?REFS, Ref),1002     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1003Compile directive 'nowarn_deprecated_catch' can be used to suppress1004warnings in selected modules.10051006     ┌─ src/hackney_manager.erl:1007     │1008 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1009     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1010Compile directive 'nowarn_deprecated_catch' can be used to suppress1011warnings in selected modules.10121013     ┌─ src/hackney_manager.erl:1014     │1015 487 │           catch Transport:close(Socket),1016     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1017Compile directive 'nowarn_deprecated_catch' can be used to suppress1018warnings in selected modules.10191020     ┌─ src/hackney_manager.erl:1021     │1022 543 │        catch ets:delete(?REFS, Ref),1023     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1024Compile directive 'nowarn_deprecated_catch' can be used to suppress1025warnings in selected modules.10261027     ┌─ src/hackney_manager.erl:1028     │1029 544 │        catch ets:delete(?MODULE, Ref),1030     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1031Compile directive 'nowarn_deprecated_catch' can be used to suppress1032warnings in selected modules.10331034     ┌─ src/hackney_manager.erl:1035     │1036 559 │        catch ets:delete(?REFS, Ref),1037     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1038Compile directive 'nowarn_deprecated_catch' can be used to suppress1039warnings in selected modules.10401041     ┌─ src/hackney_manager.erl:1042     │1043 560 │        catch ets:delete(?MODULE, Ref),1044     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1045Compile directive 'nowarn_deprecated_catch' can be used to suppress1046warnings in selected modules.10471048     ┌─ src/hackney_manager.erl:1049     │1050 618 │        catch unlink(Pid),1051     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1052Compile directive 'nowarn_deprecated_catch' can be used to suppress1053warnings in selected modules.105410551056     ┌─ src/hackney_happy.erl:1057     │1058 101 │    catch exit(Pid, normal),1059     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1060Compile directive 'nowarn_deprecated_catch' can be used to suppress1061warnings in selected modules.10621063     ┌─ src/hackney_happy.erl:1064     │1065 128 │    case (catch inet_res:getbyname(Hostname, Type)) of1066     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1067Compile directive 'nowarn_deprecated_catch' can be used to suppress1068warnings in selected modules.10691070     ┌─ src/hackney_happy.erl:1071     │1072 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of1073     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1074Compile directive 'nowarn_deprecated_catch' can be used to suppress1075warnings in selected modules.107610771078==> tesla1079Compiling 57 files (.ex)1080Generated tesla app1081==> oauth21082Compiling 13 files (.ex)1083Generated oauth2 app1084==> property_table1085Compiling 8 files (.ex)1086Generated property_table app1087==> nerves_uevent1088 CC uevent.o1089 LD uevent1090Compiling 5 files (.ex)1091Generated nerves_uevent app1092==> nerves_runtime1093Compiling 14 files (.ex)1094Generated nerves_runtime app1095==> toolshed1096Compiling 5 files (.ex)1097Generated toolshed app1098==> nerves_compatibility_test1099===> Analyzing applications...1100===> Compiling cowboy_telemetry1101==> plug_cowboy1102Compiling 5 files (.ex)1103Generated plug_cowboy app1104warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1105  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21106  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11107  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51108  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21109  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41110  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211111112==> phoenix1113Compiling 66 files (.ex)1114     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 operator1115     │1116 194 │       <<attr::size(prefix)-binary, ":unique">> -> attr1117     │                    ~1118     │1119     └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/111201121     warning: using single-quoted strings to represent charlists is deprecated.1122     Use ~c"" if you indeed want a charlist or use "" instead.1123     You may run "mix format --migrate" to change all single-quoted1124     strings to use the ~c sigil and fix this warning.1125     │1126 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},1127     │                                 ~1128     │1129     └─ lib/mix/tasks/phx.gen.cert.ex:258:3311301131     warning: using single-quoted strings to represent charlists is deprecated.1132     Use ~c"" if you indeed want a charlist or use "" instead.1133     You may run "mix format --migrate" to change all single-quoted1134     strings to use the ~c sigil and fix this warning.1135     │1136 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}1137     │                                ~1138     │1139     └─ lib/mix/tasks/phx.gen.cert.ex:259:3211401141    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1142    │1143 55 │             Logger.warn(1144    │                    ~1145    │1146    └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/311471148    warning: unused require Logger1149    │1150  9 │   require Logger1151    │   ~1152    │1153    └─ lib/phoenix/config.ex:9:311541155      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11561157      This error happens when you have function calls without parentheses inside keywords. For example:11581159          function(arg, one: nested_call a, b, c)1160          function(arg, one: if expr, do: :this, else: :that)11611162      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:11631164          function(arg, one: if(expr, do: :this, else: :that))1165          function(arg, one: nested_call(a, b, c))11661167      Ambiguity found at:1168      │1169 1002 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"1170      │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1171      │1172      └─ lib/phoenix/controller.ex:100211731174     warning: unused require Logger1175     │1176 240 │   require Logger1177     │   ~1178     │1179     └─ lib/phoenix/endpoint.ex:240:311801181      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1182      │1183 1013 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1184      │              ~1185      │1186      └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/111871188    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1189    │1190 82 │     Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>1191    │            ~1192    │1193    └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/211941195    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1196    │1197 71 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")1198    │                    ~1199    │1200    └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/112011202    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1203    │1204 95 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")1205    │              ~1206    │1207    └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/112081209     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1210     │1211 116 │       Logger.warn """1212     │              ~1213     │1214     └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/212151216     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1217     │1218 166 │         Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"1219     │                ~1220     │1221     └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/212221223     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1224     │1225 170 │         Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"1226     │                ~1227     │1228     └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/212291230     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1231     │1232 346 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")1233     │              ~1234     │1235     └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/212361237    warning: unused require Phoenix.Endpoint1238    │1239  6 │   require Phoenix.Endpoint1240    │   ~1241    │1242    └─ lib/phoenix/controller.ex:6:312431244    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 operator1245    │1246 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1247    │                             ~1248    │1249    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/212501251     warning: using single-quoted strings to represent charlists is deprecated.1252     Use ~c"" if you indeed want a charlist or use "" instead.1253     You may run "mix format --migrate" to change all single-quoted1254     strings to use the ~c sigil and fix this warning.1255     │1256 411 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1257     │                                                  ~1258     │1259     └─ lib/phoenix/router.ex:411:5012601261    warning: unused require Phoenix.Endpoint1262    │1263 19 │   require Phoenix.Endpoint1264    │   ~1265    │1266    └─ lib/phoenix/endpoint/render_errors.ex:19:312671268    warning: using single-quoted strings to represent charlists is deprecated.1269    Use ~c"" if you indeed want a charlist or use "" instead.1270    You may run "mix format --migrate" to change all single-quoted1271    strings to use the ~c sigil and fix this warning.1272    │1273  8 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1274    │                                                  ~1275    │1276    └─ lib/phoenix/router/helpers.ex:8:5012771278    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12791280    This error happens when you have function calls without parentheses inside keywords. For example:12811282        function(arg, one: nested_call a, b, c)1283        function(arg, one: if expr, do: :this, else: :that)12841285    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:12861287        function(arg, one: if(expr, do: :this, else: :that))1288        function(arg, one: nested_call(a, b, c))12891290    Ambiguity found at:1291    │1292 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """1293    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1294    │1295    └─ lib/phoenix/router/resource.ex:7112961297     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1298     │1299 734 │     Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end1300     │            ~1301     │1302     └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/213031304    warning: unused require Phoenix.Endpoint1305    │1306  6 │   require Phoenix.Endpoint1307    │   ~1308    │1309    └─ lib/phoenix/channel/server.ex:6:313101311     warning: unused require Phoenix.Endpoint1312     │1313 188 │   require Phoenix.Endpoint1314     │   ~1315     │1316     └─ lib/phoenix/socket.ex:188:313171318    warning: unused require Logger1319    │1320 93 │   require Logger1321    │   ~1322    │1323    └─ lib/phoenix/token.ex:93:313241325     warning: using single-quoted strings to represent charlists is deprecated.1326     Use ~c"" if you indeed want a charlist or use "" instead.1327     You may run "mix format --migrate" to change all single-quoted1328     strings to use the ~c sigil and fix this warning.1329     │1330 178 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1331     │                                                  ~1332     │1333     └─ lib/phoenix/view.ex:178:5013341335    warning: a struct for Plug.Conn is expected on struct update:13361337        %Plug.Conn{conn | state: :sent}13381339    but got type:13401341        dynamic()13421343    where "conn" was given the type:13441345        # type: dynamic()1346        # from: lib/phoenix/endpoint/render_errors.ex:57:171347        conn13481349    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13501351    type warning found at:1352    │1353 61 │         %Plug.Conn{conn | state: :sent}1354    │         ~1355    │1356    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/513571358     warning: a struct for Plug.Conn is expected on struct update:13591360         %Plug.Conn{conn | query_params: %{}, params: %{}}13611362     but got type:13631364         dynamic(%{..., params: %Plug.Conn.Unfetched{}})13651366     where "conn" was given the types:13671368         # type: dynamic(%{..., params: term()})1369         # from: lib/phoenix/endpoint/render_errors.ex:124:171370         conn.params13711372         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1373         # from: lib/phoenix/endpoint/render_errors.ex:124:171374         conn.params13751376     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13771378     type warning found at:1379     │1380 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1381     │                                   ~1382     │1383     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/113841385     warning: a struct for Plug.Conn is expected on struct update:13861387         %Plug.Conn{conn | query_params: %{}, params: params}13881389     but got type:13901391         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})13921393     where "conn" was given the types:13941395         # type: dynamic(%{..., params: term()})1396         # from: lib/phoenix/endpoint/render_errors.ex:124:171397         conn.params13981399         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1400         # from: lib/phoenix/endpoint/render_errors.ex:124:171401         conn.params14021403     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14041405     type warning found at:1406     │1407 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1408     │                   ~1409     │1410     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/114111412     warning: incompatible types given to socket_children/1:14131414         socket_children(mod)14151416     given types:14171418         -dynamic(atom())-14191420     but expected one of:14211422         %{..., __sockets__: term()}14231424     where "mod" was given the types:14251426         # type: dynamic(atom() or binary())1427         # from: lib/phoenix/endpoint/supervisor.ex:64:411428         defaults(otp_app, mod)14291430         # type: dynamic(atom())1431         # from: lib/phoenix/endpoint/supervisor.ex:68:161432         mod.init(:supervisor, env_conf)14331434     type warning found at:1435     │1436 105 │       socket_children(mod) ++1437     │       ~1438     │1439     └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/114401441      warning: a struct for Plug.Conn is expected on struct update:14421443          %Plug.Conn{conn | params: params}14441445      but got type:14461447          dynamic(%{..., params: map()})14481449      where "conn" was given the type:14501451          # type: dynamic(%{..., params: map()})1452          # from: lib/phoenix/controller.ex:1040:171453          Map.get(conn.params, required_key)14541455      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14561457      type warning found at:1458      │1459 1047 │     %Plug.Conn{conn | params: params}1460      │     ~1461      │1462      └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/214631464Generated phoenix app1465warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1466  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21467  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11468  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51469  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21470  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41471  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214721473==> phoenix_live_view1474Compiling 22 files (.ex)1475    warning: unused require Logger1476    │1477 25 │   require Logger1478    │   ~1479    │1480    └─ lib/phoenix_live_view/socket.ex:25:314811482     warning: unused require Phoenix.ChannelTest1483     │1484 141 │   require Phoenix.ChannelTest1485     │   ~1486     │1487     └─ lib/phoenix_live_view/test/live_view_test.ex:141:314881489     warning: unused require Phoenix.ConnTest1490     │1491 140 │   require Phoenix.ConnTest1492     │   ~1493     │1494     └─ lib/phoenix_live_view/test/live_view_test.ex:140:314951496    warning: unused require Phoenix.ChannelTest1497    │1498  4 │   require Phoenix.ChannelTest1499    │   ~1500    │1501    └─ lib/phoenix_live_view/test/upload_client.ex:4:315021503    warning: unused require Logger1504    │1505  6 │   require Logger1506    │   ~1507    │1508    └─ lib/phoenix_live_view/upload_channel.ex:6:315091510     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15111512         %Phoenix.LiveView.Socket{1513           socket1514           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1515         }15161517     but got type:15181519         dynamic()15201521     where "socket" was given the type:15221523         # type: dynamic()1524         # from: lib/phoenix_live_view/utils.ex:464:211525         socket15261527     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"15281529     type warning found at:1530     │1531 465 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1532     │     ~1533     │1534     └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/315351536     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15371538         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}15391540     but got type:15411542         dynamic()15431544     where "socket" was given the type:15451546         # type: dynamic()1547         # from: lib/phoenix_live_view/utils.ex:468:211548         socket15491550     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"15511552     type warning found at:1553     │1554 469 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1555     │     ~1556     │1557     └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/315581559     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15601561         %Phoenix.LiveView.Socket{1562           socket1563           | assigns: Map.merge(temp_assigns, socket.assigns),1564             private: Map.put(socket.private, :temporary_assigns, temp_assigns)1565         }15661567     but got type:15681569         dynamic()15701571     where "socket" was given the type:15721573         # type: dynamic()1574         # from: lib/phoenix_live_view/utils.ex:478:211575         socket15761577     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"15781579     type warning found at:1580     │1581 485 │     %Socket{1582     │     ~1583     │1584     └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/315851586     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15871588         %Phoenix.LiveView.Socket{1589           socket1590           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1591         }15921593     but got type:15941595         dynamic(%{..., assigns: term(), changed: term()})15961597     where "socket" was given the type:15981599         # type: dynamic(%{..., assigns: term(), changed: term()})1600         # from: lib/phoenix_live_view/utils.ex:496:611601         %{assigns: assigns, changed: changed} = socket16021603     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"16041605     type warning found at:1606     │1607 497 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1608     │              ~1609     │1610     └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/116111612     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16131614         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}16151616     but got type:16171618         dynamic()16191620     where "entry" was given the type:16211622         # type: dynamic()1623         # from: lib/phoenix_live_view/upload_config.ex:341:281624         entry <- conf.entries16251626     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16271628     type warning found at:1629     │1630 341 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1631     │                                                 ~1632     │1633     └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/116341635     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16361637         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}16381639     but got type:16401641         dynamic()16421643     where "entry" was given the type:16441645         # type: dynamic()1646         # from: lib/phoenix_live_view/upload_config.ex:541:301647         entry16481649     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16501651     type warning found at:1652     │1653 542 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1654     │             ~1655     │1656     └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/216571658     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16591660         %Phoenix.LiveView.UploadEntry{entry | valid?: false}16611662     but got type:16631664         dynamic()16651666     where "entry" was given the type:16671668         # type: dynamic()1669         # from: lib/phoenix_live_view/upload_config.ex:554:321670         entry16711672     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16731674     type warning found at:1675     │1676 555 │     entry = %UploadEntry{entry | valid?: false}1677     │             ~1678     │1679     └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/316801681    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1682    │1683 56 │     Logger.disable(self())1684    │            ~1685    │1686    └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/116871688     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16891690         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}16911692     but got type:16931694         dynamic()16951696     where "entry" was given the type:16971698         # type: dynamic()1699         # from: lib/phoenix_live_view/upload_config.ex:638:421700         entry17011702     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"17031704     type warning found at:1705     │1706 638 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1707     │                                                   ~1708     │1709     └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/217101711     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:17121713         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}17141715     but got type:17161717         dynamic(%{..., rendered: term()})17181719     where "view" was given the type:17201721         # type: dynamic(%{..., rendered: term()})1722         # from: lib/phoenix_live_view/test/client_proxy.ex:600:241723         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)17241725     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"17261727     type warning found at:1728     │1729 601 │         new_view = %ClientProxy{view | rendered: rendered}1730     │                    ~1731     │1732     └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/317331734     warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1735     │1736 986 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1737     │                       ~1738     │1739     └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31740     └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31741     └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31742     └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/317431744     warning: the following clause is redundant:17451746         def to_iodata(%_{} = struct)17471748     it has type:17491750         dynamic(%Phoenix.LiveView.Rendered{})17511752     previous clauses have already matched on the following types:17531754         %Phoenix.LiveView.Rendered{}17551756     │1757 126 │     def to_iodata(%_{} = struct) do1758     │         ~1759     │1760     └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/117611762     warning: the 1st pattern in clause will never match:17631764         nil17651766     because it is expected to receive type:17671768         dynamic(%Phoenix.LiveView.Rendered{})17691770     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}17711772     type warning found at:1773     │1774 130 │     def to_iodata(nil) do1775     │     ~~~~~~~~~~~~~~~~~~~~~1776     │1777     └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/117781779     warning: the following clause is redundant:17801781         def to_iodata(other)17821783     it has type:17841785         dynamic(%Phoenix.LiveView.Rendered{})17861787     previous clauses have already matched on the following types:17881789         %Phoenix.LiveView.Rendered{}17901791     │1792 134 │     def to_iodata(other) do1793     │         ~1794     │1795     └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/117961797Generated phoenix_live_view app1798warning: Phoenix now requires you to explicitly list which engine to use1799for Phoenix JSON encoding. We recommend everyone to upgrade to1800Jason by setting in your config/config.exs:18011802    config :phoenix, :json_library, Jason18031804And then adding {:jason, "~> 1.0"} as a dependency.18051806If instead you would rather continue using Poison, then add to1807your config/config.exs:18081809    config :phoenix, :json_library, Poison18101811  (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/21812  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/418131814warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1815  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21816  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11817  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51818  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21819  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41820  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/218211822==> phoenix_live_dashboard1823Compiling 36 files (.ex)1824    warning: using single-quoted strings to represent charlists is deprecated.1825    Use ~c"" if you indeed want a charlist or use "" instead.1826    You may run "mix format --migrate" to change all single-quoted1827    strings to use the ~c sigil and fix this warning.1828    │1829 41 │     '#Port' ++ rest = :erlang.port_to_list(ref)1830    │     ~1831    │1832    └─ lib/phoenix/live_dashboard/helpers.ex:41:518331834    warning: using single-quoted strings to represent charlists is deprecated.1835    Use ~c"" if you indeed want a charlist or use "" instead.1836    You may run "mix format --migrate" to change all single-quoted1837    strings to use the ~c sigil and fix this warning.1838    │1839 49 │     '#Ref' ++ rest = :erlang.ref_to_list(ref)1840    │     ~1841    │1842    └─ lib/phoenix/live_dashboard/helpers.ex:49:518431844warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1845  lib/phoenix/live_dashboard/pages/home_page.ex:176: Phoenix.LiveDashboard.HomePage.render/118461847warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1848  lib/phoenix/live_dashboard/pages/home_page.ex:184: Phoenix.LiveDashboard.HomePage.render/118491850warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1851  lib/phoenix/live_dashboard/pages/home_page.ex:192: Phoenix.LiveDashboard.HomePage.render/118521853warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1854  lib/phoenix/live_dashboard/pages/os_mon_page.ex:213: Phoenix.LiveDashboard.OSMonPage.render/118551856warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1857  lib/phoenix/live_dashboard/pages/os_mon_page.ex:235: Phoenix.LiveDashboard.OSMonPage.render/118581859     warning: using single-quoted strings to represent charlists is deprecated.1860     Use ~c"" if you indeed want a charlist or use "" instead.1861     You may run "mix format --migrate" to change all single-quoted1862     strings to use the ~c sigil and fix this warning.1863     │1864 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1865     │                ~1866     │1867     └─ lib/phoenix/live_dashboard/system_info.ex:397:1618681869     warning: using single-quoted strings to represent charlists is deprecated.1870     Use ~c"" if you indeed want a charlist or use "" instead.1871     You may run "mix format --migrate" to change all single-quoted1872     strings to use the ~c sigil and fix this warning.1873     │1874 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1875     │                            ~1876     │1877     └─ lib/phoenix/live_dashboard/system_info.ex:397:2818781879     warning: using single-quoted strings to represent charlists is deprecated.1880     Use ~c"" if you indeed want a charlist or use "" instead.1881     You may run "mix format --migrate" to change all single-quoted1882     strings to use the ~c sigil and fix this warning.1883     │1884 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1885     │                                        ~1886     │1887     └─ lib/phoenix/live_dashboard/system_info.ex:397:4018881889     warning: using single-quoted strings to represent charlists is deprecated.1890     Use ~c"" if you indeed want a charlist or use "" instead.1891     You may run "mix format --migrate" to change all single-quoted1892     strings to use the ~c sigil and fix this warning.1893     │1894 543 │         [{'none', 0, 0}] -> []1895     │           ~1896     │1897     └─ lib/phoenix/live_dashboard/system_info.ex:543:1118981899warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1900  lib/phoenix/live_dashboard/page_live.ex:211: Phoenix.LiveDashboard.PageLive.render_page/319011902warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1903  lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/319041905warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1906  lib/phoenix/live_dashboard/components/nav_bar_component.ex:142: Phoenix.LiveDashboard.NavBarComponent.render_content/319071908warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1909  lib/phoenix/live_dashboard/components/card_usage_component.ex:7: Phoenix.LiveDashboard.CardUsageComponent.render/119101911     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:19121913         Phoenix.LiveView.Helpers.__live_component__(1914           component.__live__(),1915           Phoenix.LiveDashboard.ModalComponent,1916           nil1917         )19181919     given types:19201921         dynamic(), -Phoenix.LiveDashboard.ModalComponent-, nil19221923     but expected one of:19241925         (1926           %{..., kind: :component, module: term()},1927           empty_list() or map() or non_empty_list(term(), term()),1928           term()1929         )19301931     where "component" (context Phoenix.LiveView.Helpers) was given the types:19321933         # type: dynamic(not %Phoenix.LiveView.Socket{})1934         # from: lib/phoenix/live_dashboard/page_live.ex:2361935         component19361937         # type: dynamic(atom())1938         # from: lib/phoenix/live_dashboard/page_live.ex:2361939         component.__live__()19401941     type warning found at:1942     │1943 236 │     live_component(socket, Phoenix.LiveDashboard.ModalComponent, modal_opts)1944     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1945     │1946     └─ lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/319471948     warning: the following clause will never match:19491950         %{__changed__: changed} when track_changes? ->19511952     because it attempts to match on the result of:19531954         assigns19551956     which has type:19571958         dynamic(%{text: term()})19591960     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:19611962         # type: dynamic(true)1963         # from: lib/phoenix/live_dashboard/page_live.ex:3121964         track_changes?19651966     type warning found at:1967     │1968 312 │     ~L"""1969     │     ~~~~~1970     │1971     └─ lib/phoenix/live_dashboard/page_live.ex:312: Phoenix.LiveDashboard.PageLive.maybe_link/319721973     warning: the following clause will never match:19741975         %{__changed__: changed} when track_changes? ->19761977     because it attempts to match on the result of:19781979         assigns19801981     which has type:19821983         dynamic(%{more_info_url: term(), text: term()})19841985     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:19861987         # type: dynamic(true)1988         # from: lib/phoenix/live_dashboard/page_live.ex:3221989         track_changes?19901991     type warning found at:1992     │1993 322 │     ~L"""1994     │     ~~~~~1995     │1996     └─ lib/phoenix/live_dashboard/page_live.ex:322: Phoenix.LiveDashboard.PageLive.maybe_link/319971998     warning: the following clause will never match:19992000         %{__changed__: changed} when track_changes? ->20012002     because it attempts to match on the result of:20032004         assigns20052006     which has type:20072008         dynamic(%{checked_param: binary()})20092010     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:20112012         # type: dynamic(true)2013         # from: lib/phoenix/live_dashboard/pages/request_logger_page.ex:1782014         track_changes?20152016     type warning found at:2017     │2018 178 │     ~L"""2019     │     ~~~~~2020     │2021     └─ lib/phoenix/live_dashboard/pages/request_logger_page.ex:178: Phoenix.LiveDashboard.RequestLoggerPage.autoscroll_checkbox/120222023     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:20242025         Phoenix.LiveView.Helpers.__live_component__(2026           component.__live__(),2027           Phoenix.LiveDashboard.ColorBarComponent,2028           nil2029         )20302031     given types:20322033         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil20342035     but expected one of:20362037         (2038           %{..., kind: :component, module: term()},2039           empty_list() or map() or non_empty_list(term(), term()),2040           term()2041         )20422043     where "component" (context Phoenix.LiveView.Helpers) was given the types:20442045         # type: dynamic(not %Phoenix.LiveView.Socket{})2046         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1912047         component20482049         # type: dynamic(atom())2050         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1912051         component.__live__()20522053     type warning found at:2054     │2055 191 │                       <%= live_component @socket, ColorBarComponent, dom_id: "cpu-#{num_cpu}", data: cpu_usage_sections(usage), title: "CPU #{num_cpu+1}", csp_nonces: @csp_nonces %>2056     │                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2057     │2058     └─ lib/phoenix/live_dashboard/pages/os_mon_page.ex:191: Phoenix.LiveDashboard.OSMonPage.render/120592060    warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:20612062        Phoenix.LiveView.Helpers.__live_component__(2063          component.__live__(),2064          Phoenix.LiveDashboard.ChartComponent,2065          nil2066        )20672068    given types:20692070        dynamic(), -Phoenix.LiveDashboard.ChartComponent-, nil20712072    but expected one of:20732074        (2075          %{..., kind: :component, module: term()},2076          empty_list() or map() or non_empty_list(term(), term()),2077          term()2078        )20792080    where "component" (context Phoenix.LiveView.Helpers) was given the types:20812082        # type: dynamic(not %Phoenix.LiveView.Socket{})2083        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:762084        component20852086        # type: dynamic(atom())2087        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:762088        component.__live__()20892090    type warning found at:2091    │2092 76 │           <%= live_component @socket, ChartComponent, id: id, metric: metric %>2093    │           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2094    │2095    └─ lib/phoenix/live_dashboard/pages/metrics_page.ex:76: Phoenix.LiveDashboard.MetricsPage.render_metrics/120962097     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:20982099         Phoenix.LiveView.Helpers.__live_component__(2100           component.__live__(),2101           Phoenix.LiveDashboard.ColorBarComponent,2102           nil2103         )21042105     given types:21062107         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil21082109     but expected one of:21102111         (2112           %{..., kind: :component, module: term()},2113           empty_list() or map() or non_empty_list(term(), term()),2114           term()2115         )21162117     where "component" (context Phoenix.LiveView.Helpers) was given the types:21182119         # type: dynamic(not %Phoenix.LiveView.Socket{})2120         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2062121         component21222123         # type: dynamic(atom())2124         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2062125         component.__live__()21262127     type warning found at:2128     │2129 206 │             <%= live_component @socket, ColorBarComponent, data: memory_usage_sections_percent(@system_usage.memory, @system_usage.memory.total), csp_nonces: @csp_nonces, dom_id: "system_usage_memory_total" %>2130     │             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2131     │2132     └─ lib/phoenix/live_dashboard/pages/home_page.ex:206: Phoenix.LiveDashboard.HomePage.render/121332134    warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency2135    │2136  8 │     Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)2137    │            ~2138    │2139    └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/221402141     warning: the following clause will never match:21422143         %{__changed__: changed} when track_changes? ->21442145     because it attempts to match on the result of:21462147         assigns21482149     which has type:21502151         dynamic(%{block: term()})21522153     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:21542155         # type: dynamic(true)2156         # from: lib/phoenix/live_dashboard/helpers.ex:2082157         track_changes?21582159     type warning found at:2160     │2161 208 │     ~L"""2162     │     ~~~~~2163     │2164     └─ lib/phoenix/live_dashboard/helpers.ex:208: Phoenix.LiveDashboard.Helpers.hint/121652166Generated phoenix_live_dashboard app2167==> ecto_network2168Compiling 4 files (.ex)2169    warning: this clause in cond will always match:21702171        address_netmask(inet.address)21722173    since it has type:21742175        integer()21762177    where "inet" was given the type:21782179        # type: dynamic(%Postgrex.INET{})2180        # from: lib/ecto_network/inet.ex:53:292181        %Postgrex.INET{} = inet21822183    type warning found at:2184    │2185 57 │         address_netmask(inet.address) -> %{inet | netmask: address_netmask(inet.address)}2186    │                                       ~2187    │2188    └─ lib/ecto_network/inet.ex:57:39: EctoNetwork.INET.load/121892190Generated ecto_network app2191==> httpoison2192Compiling 3 files (.ex)2193Generated httpoison app2194warning: the :gettext compiler is no longer required in your mix.exs.21952196Please find the following line in your mix.exs and remove the :gettext entry:21972198    compilers: [..., :gettext, ...] ++ Mix.compilers(),21992200  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/12201  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52202  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22203  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42204  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/22205  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/522062207==> mppm2208Compiling 76 files (.ex)2209    warning: an expression is always required on the right side of ->. Please provide a value after ->2210    │2211 48 │         _ ->2212    │           ~2213    │2214    └─ lib/mppm/application.ex:48:1122152216    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead2217    │2218  5 │   @root_path Application.get_env(:mppm, :game_servers_root_path)2219    │                          ~2220    │2221    └─ lib/mppm/application.ex:5:26: Mppm.Application (module)22222223    warning: binary construction will fail because of a type mismatch2224    │2225 63 │       {:ok, _} = File.cp_r("./priv/default_tracks/", @root_path<>"/UserData/Maps/MX", fn _, _ -> false end)2226    │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2227    │2228    └─ lib/mppm/application.ex:6322292230    warning: binary construction will fail because of a type mismatch2231    │2232 61 │     if {:ok, []} == File.ls(@root_path<>"/UserData/Maps/MX") do2233    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2234    │2235    └─ lib/mppm/application.ex:6122362237    warning: binary construction will fail because of a type mismatch2238    │2239 53 │     try do Port.open({:spawn_executable, @root_path<>"/TrackmaniaServer"}, [:binary, args: ["/nodaemon"]])2240    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2241    │2242    └─ lib/mppm/application.ex:5322432244    warning: an expression is always required on the right side of ->. Please provide a value after ->2245    │2246 99 │         _unhandled_message ->2247    │                            ~2248    │2249    └─ lib/mppm/broker/receiver_server.ex:99:2822502251    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 operator2252    │2253 55 │         <<message::binary-size(size), next_message::binary>> = msg2254    │                                ~2255    │2256    └─ lib/mppm/broker/receiver_server.ex:55:32: Mppm.Broker.ReceiverServer.parse_new_packet/222572258    warning: the variable "missing_bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator2259    │2260 75 │         <<end_of_message::binary-size(missing_bytes), next_message::binary>> = binary2261    │                                       ~2262    │2263    └─ lib/mppm/broker/receiver_server.ex:75:39: Mppm.Broker.ReceiverServer.parse_message_next_packet/322642265     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.22662267     This error happens when you have function calls without parentheses inside keywords. For example:22682269         function(arg, one: nested_call a, b, c)2270         function(arg, one: if expr, do: :this, else: :that)22712272     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:22732274         function(arg, one: if(expr, do: :this, else: :that))2275         function(arg, one: nested_call(a, b, c))22762277     Ambiguity found at:2278     │2279 116 │     from u in Mppm.User, where: u.uuid == ^uuid2280     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2281     │2282     └─ lib/mppm/data/user.ex:11622832284     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.22852286     This error happens when you have function calls without parentheses inside keywords. For example:22872288         function(arg, one: nested_call a, b, c)2289         function(arg, one: if expr, do: :this, else: :that)22902291     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:22922293         function(arg, one: if(expr, do: :this, else: :that))2294         function(arg, one: nested_call(a, b, c))22952296     Ambiguity found at:2297     │2298 119 │     from u in Mppm.User, where: u.login == ^login2299     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2300     │2301     └─ lib/mppm/data/user.ex:11923022303    warning: variable "nickname" is unused (if the variable is not meant to be used, prefix it with an underscore)2304    │2305 15 │   def new_changeset(%User{} = user, %{uuid: uuid, nickname: nickname} = data)2306    │                                                             ~~~~~~~~2307    │2308    └─ lib/mppm/data/user.ex:15:61: Mppm.User.new_changeset/223092310    warning: variable "nickname" is unused (if the variable is not meant to be used, prefix it with an underscore)2311    │2312 22 │   def new_changeset(%User{} = user, %{login: login, nickname: nickname} = data)2313    │                                                               ~~~~~~~~2314    │2315    └─ lib/mppm/data/user.ex:22:63: Mppm.User.new_changeset/223162317    warning: using single-quoted strings to represent charlists is deprecated.2318    Use ~c"" if you indeed want a charlist or use "" instead.2319    You may run "mix format --migrate" to change all single-quoted2320    strings to use the ~c sigil and fix this warning.2321    │2322 32 │     res = :os.cmd('ss -lpn | grep "pid=#{pid}" | awk {\'print$5\'} | cut -d: -f2')2323    │                   ~2324    │2325    └─ lib/mppm/game_server/server.ex:32:1923262327    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead2328    │2329  7 │   @root_path Application.get_env(:mppm, :game_servers_root_path)2330    │                          ~2331    │2332    └─ lib/mppm/game_server/server.ex:7:26: Mppm.GameServer.Server (module)23332334    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead2335    │2336  8 │   @config Application.get_env(:mppm, Mppm.Trackmania)2337    │                       ~2338    │2339    └─ lib/mppm/game_server/server.ex:8:23: Mppm.GameServer.Server (module)23402341    warning: using single-quoted strings to represent charlists is deprecated.2342    Use ~c"" if you indeed want a charlist or use "" instead.2343    You may run "mix format --migrate" to change all single-quoted2344    strings to use the ~c sigil and fix this warning.2345    │2346 31 │   @trackmania 'TrackmaniaServer'2347    │               ~2348    │2349    └─ lib/mppm/game_server/starter.ex:31:1523502351    warning: using single-quoted strings to represent charlists is deprecated.2352    Use ~c"" if you indeed want a charlist or use "" instead.2353    You may run "mix format --migrate" to change all single-quoted2354    strings to use the ~c sigil and fix this warning.2355    │2356 61 │     :os.cmd('ps -aux | grep ' ++ @trackmania)2357    │             ~2358    │2359    └─ lib/mppm/game_server/starter.ex:61:1323602361    warning: using single-quoted strings to represent charlists is deprecated.2362    Use ~c"" if you indeed want a charlist or use "" instead.2363    You may run "mix format --migrate" to change all single-quoted2364    strings to use the ~c sigil and fix this warning.2365    │2366 75 │       :os.cmd('netstat -antp | grep #{pid}/ | awk \'{print $4}\'')2367    │               ~2368    │2369    └─ lib/mppm/game_server/starter.ex:75:1523702371    warning: using single-quoted strings to represent charlists is deprecated.2372    Use ~c"" if you indeed want a charlist or use "" instead.2373    You may run "mix format --migrate" to change all single-quoted2374    strings to use the ~c sigil and fix this warning.2375    │2376 93 │     :os.cmd('ps -aux | grep '++@trackmania)2377    │             ~2378    │2379    └─ lib/mppm/game_server/starter.ex:93:1323802381     warning: variable "ss" is unused (if the variable is not meant to be used, prefix it with an underscore)2382     │2383 153 │   def handle_cast({:relink_orphan_process, {login, pid, xmlrpc_port} = ss}, state) do2384     │                                                                        ~~2385     │2386     └─ lib/mppm/game_server/server.ex:153:72: Mppm.GameServer.Server.handle_cast/223872388     warning: using single-quoted strings to represent charlists is deprecated.2389     Use ~c"" if you indeed want a charlist or use "" instead.2390     You may run "mix format --migrate" to change all single-quoted2391     strings to use the ~c sigil and fix this warning.2392     │2393 176 │         {:name, [], ['SuperAdmin']},2394     │                      ~2395     │2396     └─ lib/mppm/server_config.ex:176:2223972398     warning: using single-quoted strings to represent charlists is deprecated.2399     Use ~c"" if you indeed want a charlist or use "" instead.2400     You may run "mix format --migrate" to change all single-quoted2401     strings to use the ~c sigil and fix this warning.2402     │2403 180 │         {:name, [], ['Admin']},2404     │                      ~2405     │2406     └─ lib/mppm/server_config.ex:180:2224072408     warning: using single-quoted strings to represent charlists is deprecated.2409     Use ~c"" if you indeed want a charlist or use "" instead.2410     You may run "mix format --migrate" to change all single-quoted2411     strings to use the ~c sigil and fix this warning.2412     │2413 184 │         {:name, [], ['User']},2414     │                      ~2415     │2416     └─ lib/mppm/server_config.ex:184:2224172418     warning: using single-quoted strings to represent charlists is deprecated.2419     Use ~c"" if you indeed want a charlist or use "" instead.2420     You may run "mix format --migrate" to change all single-quoted2421     strings to use the ~c sigil and fix this warning.2422     │2423 356 │   defp charlist(true), do: ['True']2424     │                             ~2425     │2426     └─ lib/mppm/server_config.ex:356:2924272428     warning: using single-quoted strings to represent charlists is deprecated.2429     Use ~c"" if you indeed want a charlist or use "" instead.2430     You may run "mix format --migrate" to change all single-quoted2431     strings to use the ~c sigil and fix this warning.2432     │2433 357 │   defp charlist(false), do: ['False']2434     │                              ~2435     │2436     └─ lib/mppm/server_config.ex:357:3024372438     warning: using single-quoted strings to represent charlists is deprecated.2439     Use ~c"" if you indeed want a charlist or use "" instead.2440     You may run "mix format --migrate" to change all single-quoted2441     strings to use the ~c sigil and fix this warning.2442     │2443 369 │     'ls #{@root_path}UserData/Packs/'2444     │     ~2445     │2446     └─ lib/mppm/server_config.ex:369:524472448     warning: using single-quoted strings to represent charlists is deprecated.2449     Use ~c"" if you indeed want a charlist or use "" instead.2450     You may run "mix format --migrate" to change all single-quoted2451     strings to use the ~c sigil and fix this warning.2452     │2453 379 │     'ls /opt/mppm/'2454     │     ~2455     │2456     └─ lib/mppm/server_config.ex:379:524572458    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead2459    │2460 15 │   @root_path Application.get_env(:mppm, :game_servers_root_path)2461    │                          ~2462    │2463    └─ lib/mppm/server_config.ex:15:26: Mppm.ServerConfig (module)246424652466== Compilation error in file lib/mppm/server_config.ex ==2467** (ArgumentError) lib file xmerl/include/xmerl.hrl could not be found2468    (elixir 1.20.3) lib/record/extractor.ex:45: Record.Extractor.from_lib_file/12469    (elixir 1.20.3) lib/record/extractor.ex:22: Record.Extractor.from_or_from_lib_file/12470    (elixir 1.20.3) lib/record/extractor.ex:9: Record.Extractor.extract/22471    lib/mppm/server_config.ex:10: (module)2472could not compile dependency :mppm, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile mppm --force", update it with "mix deps.update mppm" or clean it with "mix deps.clean mppm"