sitesx

Build log

nerves_system_rpi0

sitesx 0.11.0 · fail · run sitesx-0.11.0-1791103582716
1646 of 1646 lines
1Resolving Hex dependencies...2Resolution completed in 0.288s3Unchanged:4  certifi 2.3.15  chexes 0.1.56  circular_buffer 1.1.07  combine 0.10.08  con_cache 0.14.09  decimal 1.9.0 VULNERABLE!10    EEF-CVE-2026-32686 (MEDIUM)11    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v12    Unbounded exponent in decimal enables unauthenticated DoS13    https://osv.dev/vulnerability/EEF-CVE-2026-3268614  ecto 2.2.1215  elixir_make 0.10.016  expo 1.1.117  gettext 0.26.218  hackney 1.13.0 VULNERABLE!19    GHSA-vq52-99r9-h5pw (LOW)20    aka: CVE-2025-121121    Server-side Request Forgery (SSRF) in hackney22    https://osv.dev/vulnerability/GHSA-vq52-99r9-h5pw2324    EEF-CVE-2026-47075 (MEDIUM)25    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf26    CR/LF injection in query parameter in hackney27    https://osv.dev/vulnerability/EEF-CVE-2026-470752829    EEF-CVE-2026-47071 (HIGH)30    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr31    SOCKS5 TLS upgrade ignores caller timeout in hackney32    https://osv.dev/vulnerability/EEF-CVE-2026-470713334    EEF-CVE-2026-47076 (MEDIUM)35    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq36    SSRF allowlist bypass via percent-encoded host in hackney37    https://osv.dev/vulnerability/EEF-CVE-2026-470763839    EEF-CVE-2026-47069 (LOW)40    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw241    CRLF injection in cookie domain/path options in hackney42    https://osv.dev/vulnerability/EEF-CVE-2026-470694344    GHSA-9fm9-hp7p-53mf (LOW)45    aka: CVE-2025-386446    Hackney fails to properly release HTTP connections to the pool47    https://osv.dev/vulnerability/GHSA-9fm9-hp7p-53mf48  httpoison 0.13.049  idna 5.1.250  interactive_cmd 0.1.451  metrics 1.0.152  mime 2.0.753  mimerl 1.0.254  nerves 2.0.0-pre.255  nerves_discovery 0.1.556  nerves_logging 0.2.457  nerves_runtime 0.13.1358  nerves_system_bbb 2.30.259  nerves_system_br 1.34.460  nerves_system_mangopi_mq_pro 0.17.261  nerves_system_qemu_aarch64 0.4.262  nerves_system_rpi0 2.1.263  nerves_system_rpi4 2.1.264  nerves_system_rpi5 2.1.265  nerves_system_trellis 0.5.066  nerves_system_x86_64 1.34.267  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.168  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.169  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.170  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.171  nerves_toolchain_x86_64_nerves_linux_musl 15.3.172  nerves_uevent 0.1.773  parse_trans 3.2.074  phoenix_html_simplified_helpers 1.3.275  plug 1.20.376  plug_crypto 2.2.077  poison 3.1.078  poolboy 1.5.279  property_table 0.3.480  public_suffix 0.6.081  ring_logger 0.11.782  sitesx 0.11.083  ssl_verify_fun 1.1.184  tablet 0.3.385  telemetry 1.4.286  timex 3.7.787  toolshed 0.5.088  tzdata 1.0.589  uboot_env 1.0.290  unicode_util_compat 0.3.191* Getting sitesx (Hex package)92* Getting nerves (Hex package)93* Getting ring_logger (Hex package)94* Getting toolshed (Hex package)95* Getting nerves_runtime (Hex package)96* Getting nerves_system_bbb (Hex package)97* Getting nerves_system_mangopi_mq_pro (Hex package)98* Getting nerves_system_qemu_aarch64 (Hex package)99* Getting nerves_system_rpi0 (Hex package)100* Getting nerves_system_rpi4 (Hex package)101* Getting nerves_system_rpi5 (Hex package)102* Getting nerves_system_trellis (Hex package)103* Getting nerves_system_x86_64 (Hex package)104* Getting nerves_system_br (Hex package)105* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)106* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)107* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)108* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)109* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)110* Getting nerves_logging (Hex package)111* Getting nerves_uevent (Hex package)112* Getting uboot_env (Hex package)113* Getting elixir_make (Hex package)114* Getting property_table (Hex package)115* Getting circular_buffer (Hex package)116* Getting interactive_cmd (Hex package)117* Getting nerves_discovery (Hex package)118* Getting tablet (Hex package)119* Getting chexes (Hex package)120* Getting con_cache (Hex package)121* Getting ecto (Hex package)122* Getting httpoison (Hex package)123* Getting phoenix_html_simplified_helpers (Hex package)124* Getting plug (Hex package)125* Getting poison (Hex package)126* Getting public_suffix (Hex package)127* Getting idna (Hex package)128* Getting unicode_util_compat (Hex package)129* Getting mime (Hex package)130* Getting plug_crypto (Hex package)131* Getting telemetry (Hex package)132* Getting gettext (Hex package)133* Getting timex (Hex package)134* Getting combine (Hex package)135* Getting tzdata (Hex package)136* Getting hackney (Hex package)137* Getting certifi (Hex package)138* Getting metrics (Hex package)139* Getting mimerl (Hex package)140* Getting ssl_verify_fun (Hex package)141* Getting parse_trans (Hex package)142* Getting expo (Hex package)143* Getting decimal (Hex package)144* Getting poolboy (Hex package)145Found packages with security advisories, see above for details146    warning: String.strip/1 is deprecated. Use String.trim/1 instead147    │148  4 │   @version File.read!("VERSION") |> String.strip149    │                                            ~150    │151    └─ /work/proj/deps_rpi0/poison/mix.exs:4:44: Poison.Mixfile (module)152153    warning: found quoted keyword "test" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes154    │155 70 │     ["test": ["ecto.drop --quiet", "ecto.create", "ecto.migrate", "run priv/repo/seeds.exs", "test"]]156    │      ~157    │158    └─ /work/proj/deps_rpi0/sitesx/mix.exs:70:6159160==> nerves_system_br161Generated nerves_system_br app162==> combine163Compiling 6 files (.ex)164    warning: the variable "n" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator165    │166 26 │       <<bits::bitstring-size(n), rest::bitstring>> ->167    │                              ~168    │169    └─ lib/combine/parsers/binary.ex:26:30: Combine.Parsers.Binary.bits_impl/2170171    warning: the variable "bits_size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator172    │173 48 │       <<bits::bitstring-size(bits_size), rest::bitstring>> ->174    │                              ~175    │176    └─ lib/combine/parsers/binary.ex:48:30: Combine.Parsers.Binary.bytes_impl/2177178    warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator179    │180 70 │           <<int::big-unsigned-size(size), rest::bitstring>> ->181    │                                    ~182    │183    └─ lib/combine/parsers/binary.ex:70:36: Combine.Parsers.Binary.uint_impl/3184185    warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator186    │187 77 │           <<int::little-unsigned-size(size), rest::bitstring>> ->188    │                                       ~189    │190    └─ lib/combine/parsers/binary.ex:77:39: Combine.Parsers.Binary.uint_impl/3191192     warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator193     │194 101 │           <<int::big-signed-size(size), rest::bitstring>> ->195     │                                  ~196     │197     └─ lib/combine/parsers/binary.ex:101:34: Combine.Parsers.Binary.int_impl/3198199     warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator200     │201 108 │           <<int::little-signed-size(size), rest::bitstring>> ->202     │                                     ~203     │204     └─ lib/combine/parsers/binary.ex:108:37: Combine.Parsers.Binary.int_impl/3205206     warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator207     │208 128 │       <<num::float-size(size), rest::bitstring>> ->209     │                         ~210     │211     └─ lib/combine/parsers/binary.ex:128:25: Combine.Parsers.Binary.float_impl/2212213     warning: the variable "byte_size" (context Combine.Parsers.Text) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator214     │215 432 │         <<^expected::binary-size(byte_size), rest::binary>> ->216     │                                  ~217     │218     └─ lib/combine/parsers/text.ex:432:34: Combine.Parsers.Text.string_impl/2219220     warning: the following clause is redundant:221222         defp word_of_impl(%Combine.ParserState{...} = state, _pattern)223224     it has type:225226         dynamic(%Combine.ParserState{status: :ok}), dynamic()227228     previous clauses have already matched on the following types:229230         %Combine.ParserState{status: :error}, term()231         %Combine.ParserState{status: :ok}, term()232233     │234 488 │   defp word_of_impl(%ParserState{status: :ok} = state, _pattern) do235     │        ~236     │237     └─ lib/combine/parsers/text.ex:488:8: Combine.Parsers.Text.word_of_impl/2238239Generated combine app240==> mime241Compiling 1 file (.ex)242Generated mime app243==> circular_buffer244Compiling 1 file (.ex)245Generated circular_buffer app246==> poison247Compiling 4 files (.ex)248    warning: using single-quoted strings to represent charlists is deprecated.249    Use ~c"" if you indeed want a charlist or use "" instead.250    You may run "mix format --migrate" to change all single-quoted251    strings to use the ~c sigil and fix this warning.252    │253 93 │   for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do254    │                               ~255    │256    └─ lib/poison/encoder.ex:93:31257258    warning: using single-quoted strings to represent charlists is deprecated.259    Use ~c"" if you indeed want a charlist or use "" instead.260    You may run "mix format --migrate" to change all single-quoted261    strings to use the ~c sigil and fix this warning.262    │263 93 │   for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do264    │                                                ~265    │266    └─ lib/poison/encoder.ex:93:48267268     warning: using single-quoted strings to represent charlists is deprecated.269     Use ~c"" if you indeed want a charlist or use "" instead.270     You may run "mix format --migrate" to change all single-quoted271     strings to use the ~c sigil and fix this warning.272     │273 139 │   defp chunk_size(<<char>> <> _, _mode, acc) when char <= 0x1F or char in '"\\' do274     │                                                                           ~275     │276     └─ lib/poison/encoder.ex:139:75277278    warning: using single-quoted strings to represent charlists is deprecated.279    Use ~c"" if you indeed want a charlist or use "" instead.280    You may run "mix format --migrate" to change all single-quoted281    strings to use the ~c sigil and fix this warning.282    │283 77 │   defp value(<<char, _ :: binary>> = string, pos, _keys) when char in '-0123456789' do284    │                                                                       ~285    │286    └─ lib/poison/parser.ex:77:71287288     warning: using single-quoted strings to represent charlists is deprecated.289     Use ~c"" if you indeed want a charlist or use "" instead.290     You may run "mix format --migrate" to change all single-quoted291     strings to use the ~c sigil and fix this warning.292     │293 155 │   defp number_int(<<char, _ :: binary>> = string, pos, acc) when char in '123456789' do294     │                                                                          ~295     │296     └─ lib/poison/parser.ex:155:74297298     warning: using single-quoted strings to represent charlists is deprecated.299     Use ~c"" if you indeed want a charlist or use "" instead.300     You may run "mix format --migrate" to change all single-quoted301     strings to use the ~c sigil and fix this warning.302     │303 171 │   defp number_exp(<<e>> <> rest, frac, pos, acc) when e in 'eE' do304     │                                                            ~305     │306     └─ lib/poison/parser.ex:171:60307308     warning: using single-quoted strings to represent charlists is deprecated.309     Use ~c"" if you indeed want a charlist or use "" instead.310     You may run "mix format --migrate" to change all single-quoted311     strings to use the ~c sigil and fix this warning.312     │313 197 │   defp number_digits(<<char>> <> rest = string, pos) when char in '0123456789' do314     │                                                                   ~315     │316     └─ lib/poison/parser.ex:197:67317318     warning: using single-quoted strings to represent charlists is deprecated.319     Use ~c"" if you indeed want a charlist or use "" instead.320     You may run "mix format --migrate" to change all single-quoted321     strings to use the ~c sigil and fix this warning.322     │323 205 │   defp number_digits_count(<<char>> <> rest, acc) when char in '0123456789' do324     │                                                                ~325     │326     └─ lib/poison/parser.ex:205:64327328     warning: using single-quoted strings to represent charlists is deprecated.329     Use ~c"" if you indeed want a charlist or use "" instead.330     You may run "mix format --migrate" to change all single-quoted331     strings to use the ~c sigil and fix this warning.332     │333 229 │   for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do334     │                               ~335     │336     └─ lib/poison/parser.ex:229:31337338     warning: using single-quoted strings to represent charlists is deprecated.339     Use ~c"" if you indeed want a charlist or use "" instead.340     You may run "mix format --migrate" to change all single-quoted341     strings to use the ~c sigil and fix this warning.342     │343 229 │   for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do344     │                                            ~345     │346     └─ lib/poison/parser.ex:229:44347348     warning: using single-quoted strings to represent charlists is deprecated.349     Use ~c"" if you indeed want a charlist or use "" instead.350     You may run "mix format --migrate" to change all single-quoted351     strings to use the ~c sigil and fix this warning.352     │353 239 │     when a1 in 'dD' and a2 in 'dD'354     │                ~355     │356     └─ lib/poison/parser.ex:239:16357358     warning: using single-quoted strings to represent charlists is deprecated.359     Use ~c"" if you indeed want a charlist or use "" instead.360     You may run "mix format --migrate" to change all single-quoted361     strings to use the ~c sigil and fix this warning.362     │363 239 │     when a1 in 'dD' and a2 in 'dD'364     │                               ~365     │366     └─ lib/poison/parser.ex:239:31367368     warning: using single-quoted strings to represent charlists is deprecated.369     Use ~c"" if you indeed want a charlist or use "" instead.370     You may run "mix format --migrate" to change all single-quoted371     strings to use the ~c sigil and fix this warning.372     │373 240 │     and (b1 in '89abAB')374     │                ~375     │376     └─ lib/poison/parser.ex:240:16377378     warning: using single-quoted strings to represent charlists is deprecated.379     Use ~c"" if you indeed want a charlist or use "" instead.380     You may run "mix format --migrate" to change all single-quoted381     strings to use the ~c sigil and fix this warning.382     │383 274 │   defp skip_whitespace(<<char>> <> rest, pos) when char in '\s\n\t\r' do384     │                                                            ~385     │386     └─ lib/poison/parser.ex:274:60387388    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead389    │390 22 │   if Application.get_env(:poison, :native) do391    │                  ~392    │393    └─ lib/poison/parser.ex:22:18: Poison.Parser (module)394395    warning: use Bitwise is deprecated. import Bitwise instead396    │397 26 │   use Bitwise398    │   ~~~~~~~~~~~399    │400    └─ lib/poison/parser.ex:26: Poison.Parser (module)401402     warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator403     │404 199 │     <<digits :: binary-size(count), rest :: binary>> = string405     │                             ~406     │407     └─ lib/poison/parser.ex:199:29: Poison.Parser.number_digits/2408409     warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator410     │411 225 │     <<chunk :: binary-size(count), rest :: binary>> = string412     │                            ~413     │414     └─ lib/poison/parser.ex:225:28: Poison.Parser.string_continue/3415416    warning: use Bitwise is deprecated. import Bitwise instead417    │418 83 │   use Bitwise419    │   ~~~~~~~~~~~420    │421    └─ lib/poison/encoder.ex:83: Poison.Encoder.BitString (module)422423     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 operator424     │425 135 │     <<chunk :: binary-size(size), rest :: binary>> = string426     │                            ~427     │428     └─ lib/poison/encoder.ex:135:28: Poison.Encoder.BitString.escape/2429430     warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead431     │432 173 │     case Integer.to_char_list(char, 16) do433     │                  ~434     │435     └─ lib/poison/encoder.ex:173:18: Poison.Encoder.BitString.seq/1436437Generated poison app438==> plug_crypto439Compiling 5 files (.ex)440Generated plug_crypto app441==> nerves_compatibility_test442===> Analyzing applications...443===> Compiling mimerl444===> Analyzing applications...445===> Compiling ssl_verify_fun446===> "/work/proj/_build/rpi0/lib/ssl_verify_fun/ebin/ssl_verify_fun.app" is missing description entry447==> chexes448Compiling 2 files (.ex)449    warning: using single-quoted strings to represent charlists is deprecated.450    Use ~c"" if you indeed want a charlist or use "" instead.451    You may run "mix format --migrate" to change all single-quoted452    strings to use the ~c sigil and fix this warning.453    │454 16 │   def blank?(''),     do: true455    │              ~456    │457    └─ lib/chexes.ex:16:14458459    warning: using single-quoted strings to represent charlists is deprecated.460    Use ~c"" if you indeed want a charlist or use "" instead.461    You may run "mix format --migrate" to change all single-quoted462    strings to use the ~c sigil and fix this warning.463    │464 17 │   def blank?(' '),    do: true465    │              ~466    │467    └─ lib/chexes.ex:17:14468469    warning: the 1st pattern in clause will never match:470471        []472473    because it is expected to receive type:474475        dynamic(%{..., __struct__: String})476477    hint: defimpl for String requires its callbacks to match exclusively on %{..., __struct__: String}478479    type warning found at:480    │481 16 │   def blank?(''),     do: true482    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~483    │484    └─ lib/chexes.ex:16: Chexes.String.blank?/1485486    warning: the 1st pattern in clause will never match:487488        ~c" "489490    because it is expected to receive type:491492        dynamic(%{..., __struct__: String})493494    hint: defimpl for String requires its callbacks to match exclusively on %{..., __struct__: String}495496    type warning found at:497    │498 17 │   def blank?(' '),    do: true499    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~500    │501    └─ lib/chexes.ex:17: Chexes.String.blank?/1502503Generated chexes app504==> tablet505Compiling 2 files (.ex)506Generated tablet app507==> elixir_make508Compiling 8 files (.ex)509Generated elixir_make app510==> nerves_logging511 CC kmsg_tailer.o512 LD kmsg_tailer513Compiling 5 files (.ex)514Generated nerves_logging app515==> nerves_discovery516Compiling 5 files (.ex)517Generated nerves_discovery app518==> ring_logger519Compiling 7 files (.ex)520Generated ring_logger app521==> nerves_compatibility_test522===> Analyzing applications...523===> Compiling poolboy524==> decimal525Compiling 4 files (.ex)526      warning: using single-quoted strings to represent charlists is deprecated.527      Use ~c"" if you indeed want a charlist or use "" instead.528      You may run "mix format --migrate" to change all single-quoted529      strings to use the ~c sigil and fix this warning.530      │531 1320 │           '0.' ++ :lists.duplicate(-diff, ?0) ++ list532      │           ~533      │534      └─ lib/decimal.ex:1320:11535536      warning: using single-quoted strings to represent charlists is deprecated.537      Use ~c"" if you indeed want a charlist or use "" instead.538      You may run "mix format --migrate" to change all single-quoted539      strings to use the ~c sigil and fix this warning.540      │541 1351 │           list = list ++ 'E'542      │                          ~543      │544      └─ lib/decimal.ex:1351:26545546      warning: using single-quoted strings to represent charlists is deprecated.547      Use ~c"" if you indeed want a charlist or use "" instead.548      You may run "mix format --migrate" to change all single-quoted549      strings to use the ~c sigil and fix this warning.550      │551 1352 │           list = if exp >= 0, do: list ++ '+', else: list552      │                                           ~553      │554      └─ lib/decimal.ex:1352:43555556      warning: using single-quoted strings to represent charlists is deprecated.557      Use ~c"" if you indeed want a charlist or use "" instead.558      You may run "mix format --migrate" to change all single-quoted559      strings to use the ~c sigil and fix this warning.560      │561 1775 │       int = if int == [], do: '0', else: int562      │                               ~563      │564      └─ lib/decimal.ex:1775:31565566      warning: using single-quoted strings to represent charlists is deprecated.567      Use ~c"" if you indeed want a charlist or use "" instead.568      You may run "mix format --migrate" to change all single-quoted569      strings to use the ~c sigil and fix this warning.570      │571 1776 │       exp = if exp == [], do: '0', else: exp572      │                               ~573      │574      └─ lib/decimal.ex:1776:31575576Generated decimal app577warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"578  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2579  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1580  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5581  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2582  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4583  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2584585==> ecto586Compiling 70 files (.ex)587     warning: using single-quoted strings to represent charlists is deprecated.588     Use ~c"" if you indeed want a charlist or use "" instead.589     You may run "mix format --migrate" to change all single-quoted590     strings to use the ~c sigil and fix this warning.591     │592 166 │     defp insert_all_value(_),   do: '?'593     │                                     ~594     │595     └─ lib/ecto/adapters/mysql/connection.ex:166:37596597     warning: using single-quoted strings to represent charlists is deprecated.598     Use ~c"" if you indeed want a charlist or use "" instead.599     You may run "mix format --migrate" to change all single-quoted600     strings to use the ~c sigil and fix this warning.601     │602 354 │       '?'603     │       ~604     │605     └─ lib/ecto/adapters/mysql/connection.ex:354:7606607      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.608609      This error happens when you have function calls without parentheses inside keywords. For example:610611          function(arg, one: nested_call a, b, c)612          function(arg, one: if expr, do: :this, else: :that)613614      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:615616          function(arg, one: if(expr, do: :this, else: :that))617          function(arg, one: nested_call(a, b, c))618619      Ambiguity found at:620      │621 2286 │     raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"622      │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~623      │624      └─ lib/ecto/changeset.ex:2286625626     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.627628     This error happens when you have function calls without parentheses inside keywords. For example:629630         function(arg, one: nested_call a, b, c)631         function(arg, one: if expr, do: :this, else: :that)632633     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:634635         function(arg, one: if(expr, do: :this, else: :that))636         function(arg, one: nested_call(a, b, c))637638     Ambiguity found at:639     │640 265 │     do: raise ArgumentError, "a constraint must have either a check or exclude option"641     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~642     │643     └─ lib/ecto/migration/runner.ex:265644645     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.646647     This error happens when you have function calls without parentheses inside keywords. For example:648649         function(arg, one: nested_call a, b, c)650         function(arg, one: if expr, do: :this, else: :that)651652     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:653654         function(arg, one: if(expr, do: :this, else: :that))655         function(arg, one: nested_call(a, b, c))656657     Ambiguity found at:658     │659 267 │     do: raise ArgumentError, "a constraint must not have both check and exclude options"660     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~661     │662     └─ lib/ecto/migration/runner.ex:267663664     warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity665     │666 136 │       {:::, _, [left, _]} -> is_integer(left) or is_binary(left)667     │        ~668     │669     └─ lib/ecto/query/builder.ex:136:8670671     warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)672     │673 643 │   def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime674     │                                             ~~675     │676     └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/2677678     warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)679     │680 644 │   def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date681     │                                         ~~682     │683     └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/2684685     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.686687     This error happens when you have function calls without parentheses inside keywords. For example:688689         function(arg, one: nested_call a, b, c)690         function(arg, one: if expr, do: :this, else: :that)691692     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:693694         function(arg, one: if(expr, do: :this, else: :that))695         function(arg, one: nested_call(a, b, c))696697     Ambiguity found at:698     │699 454 │     do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"700     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~701     │702     └─ lib/ecto/repo/schema.ex:454703704    warning: unused require Ecto.Query705    │706  6 │   require Ecto.Query707    │   ~708    │709    └─ lib/ecto/repo/preloader.ex:6:3710711    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead712    │713  9 │   schema "schema_migrations" do714    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~715    │716    └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)717718Compiling lib/ecto.ex (it's taking more than 10s)719    warning: incompatible types given to Mix.Ecto.ensure_started/2:720721        Mix.Ecto.ensure_started(repo, opts)722723    given types:724725        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))726727    but expected one of:728729        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())730731    where "opts" was given the type:732733        # type: dynamic(734          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or735            non_struct_map()736        )737        # from: lib/mix/tasks/ecto.rollback.ex:64:10738        opts =739          if opts[:quiet] do740            Keyword.merge(opts, log: false, log_sql: false)741          else742            opts743          end744745    where "repo" was given the type:746747        # type: dynamic(atom())748        # from: lib/mix/tasks/ecto.rollback.ex:70:7749        Mix.Ecto.ensure_repo(repo, args)750751    type warning found at:752    │753 72 │       {:ok, pid, apps} = ensure_started(repo, opts)754    │                          ~755    │756    └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2757758    warning: incompatible types given to Mix.Ecto.ensure_started/2:759760        Mix.Ecto.ensure_started(repo, all: true)761762    given types:763764        -dynamic(atom())-, non_empty_list({:all, true})765766    but expected one of:767768        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())769770    where "repo" was given the type:771772        # type: dynamic(atom())773        # from: lib/mix/tasks/ecto.migrations.ex:37:7774        Mix.Ecto.ensure_repo(repo, args)775776    type warning found at:777    │778 39 │       {:ok, pid, _} = ensure_started(repo, all: true)779    │                       ~780    │781    └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3782783     warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)784     │785 258 │       err in DBConnection.OwnershipError ->786     │           ~787     │788     └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6789790     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead791     │792 260 │         reraise %{err | message: message}, System.stacktrace793     │                                                   ~794     │795     └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6796797    warning: incompatible types given to Mix.Ecto.ensure_started/2:798799        Mix.Ecto.ensure_started(repo, opts)800801    given types:802803        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))804805    but expected one of:806807        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())808809    where "opts" was given the type:810811        # type: dynamic(812          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or813            non_struct_map()814        )815        # from: lib/mix/tasks/ecto.migrate.ex:68:10816        opts =817          if opts[:quiet] do818            Keyword.merge(opts, log: false, log_sql: false)819          else820            opts821          end822823    where "repo" was given the type:824825        # type: dynamic(atom())826        # from: lib/mix/tasks/ecto.migrate.ex:74:7827        Mix.Ecto.ensure_repo(repo, args)828829    type warning found at:830    │831 76 │       {:ok, pid, apps} = ensure_started(repo, opts)832    │                          ~833    │834    └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2835836      warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead837      │838 2400 │     surround_many("#Ecto.Changeset<", list, ">", opts, fn839      │     ~840      │841      └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2842843    warning: incompatible types given to Mix.Ecto.source_repo_priv/1:844845        Mix.Ecto.source_repo_priv(repo)846847    given types:848849        -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-850851    but expected one of:852853        atom()854855    where "repo" was given the types:856857        # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})858        # from: lib/mix/tasks/ecto.load.ex:70:22859        Keyword.merge(repo.config, opts)860861        # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})862        # from: lib/mix/tasks/ecto.load.ex:72:27863        repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)864865    type warning found at:866    │867 72 │     case repo.__adapter__.structure_load(source_repo_priv(repo), config) do868    │                                          ~869    │870    └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2871872    warning: expected a map or struct when accessing .__adapter__ in expression:873874        repo.__adapter__875876    where "repo" was given the type:877878        # type: dynamic(atom())879        # from: lib/mix/tasks/ecto.load.ex:53:7880        Mix.Ecto.ensure_repo(repo, args)881882    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()883884    type warning found at:885    │886 54 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,887    │                              ~888    │889    └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1890891     warning: the following clause will never match:892893         [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->894895     because it attempts to match on the result of:896897         System.stacktrace()898899     which has type:900901         empty_list()902903     where "args_or_arity" was given the type:904905         # type: float() or integer() or non_empty_list(term())906         # from: lib/ecto/changeset.ex907         (_() when args_or_arity == 2) when length(args_or_arity) == 2908909     where "module" was given the type:910911         # type: dynamic()912         # from: lib/ecto/changeset.ex:733:30913         module914915     type warning found at:916     │917 741 │ ...                   when length(args_or_arity) == 2 ->918     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~919     │920     └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2921922     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead923     │924 739 │           case System.stacktrace do925     │                       ~926     │927     └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2928929    warning: expected a map or struct when accessing .__adapter__ in expression:930931        repo.__adapter__932933    where "repo" was given the type:934935        # type: dynamic(atom())936        # from: lib/mix/tasks/ecto.drop.ex:39:7937        Mix.Ecto.ensure_repo(repo, args)938939    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()940941    type warning found at:942    │943 40 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,944    │                              ~945    │946    └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1947948    warning: expected a map or struct when accessing .__adapter__ in expression:949950        repo.__adapter__951952    where "repo" was given the type:953954        # type: dynamic(atom())955        # from: lib/mix/tasks/ecto.create.ex:37:7956        Mix.Ecto.ensure_repo(repo, args)957958    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()959960    type warning found at:961    │962 38 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,963    │                              ~964    │965    └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1966967    warning: expected a map or struct when accessing .__adapter__ in expression:968969        repo.__adapter__970971    where "repo" was given the type:972973        # type: dynamic(atom())974        # from: lib/mix/tasks/ecto.dump.ex:50:7975        Mix.Ecto.ensure_repo(repo, args)976977    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()978979    type warning found at:980    │981 51 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,982    │                              ~983    │984    └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1985986     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)987     │988 856 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->989     │                                                                              ~990     │991     └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/2992     └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/2993994    warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead995    │996 62 │       Mix.Project.compile(args)997    │                   ~998    │999    └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/210001001     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1002     │1003 715 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1004     │                                                                              ~1005     │1006     └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/210071008     warning: expected a module (an atom) when invoking start_link/1 in expression:10091010         repo.start_link(pool_size: pool_size)10111012     where "pool_size" was given the type:10131014         # type: dynamic()1015         # from: lib/mix/ecto.ex:101:151016         pool_size = Keyword.get(opts, :pool_size, 1)10171018     where "repo" was given the type:10191020         # type: dynamic(%{..., __adapter__: atom()})1021         # from: lib/mix/ecto.ex:99:361022         repo.__adapter__.ensure_all_started(repo, :temporary)10231024     type warning found at:1025     │1026 102 │     case repo.start_link(pool_size: pool_size) do1027     │               ~1028     │1029     └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/210301031     warning: the following conditional expression:10321033         is_atom(related)10341035     will always evaluate to:10361037         dynamic(true)10381039     where "related" was given the type:10401041         # type: dynamic(atom())1042         # from: lib/ecto/association.ex:730:151043         related = Ecto.Association.related_from_query(queryable)10441045     type warning found at:1046     │1047 732 │     unless is_atom(related) do1048     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~1049     │1050     └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/310511052     warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1053     │1054 146 │     Logger.remove_backend(:console)1055     │            ~1056     │1057     └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/210581059     warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1060     │1061 155 │     Logger.add_backend(:console, flush: true)1062     │            ~1063     │1064     └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/210651066     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1067     │1068 430 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1069     │                                                                              ~1070     │1071     └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/210721073    warning: incompatible types given to get_source/1:10741075        get_source(repo)10761077    given types:10781079        -dynamic(atom())-10801081    but expected one of:10821083        %{..., config: empty_list() or non_empty_list(term(), term())}10841085    where "repo" was given the type:10861087        # type: dynamic(atom())1088        # from: lib/ecto/migration/schema_migration.ex:24:131089        repo.all(1090          Map.put(1091            (1092              query =1093                (1094                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1095                  Ecto.Query.Builder.From.apply(query, 1)1096                )1097        1098              Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1099                ...,1100                expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1101                file: "/work/proj/deps_rpi0/ecto/lib/ecto/migration/schema_migration.ex",1102                line: 22,1103                take: %{}1104              })1105            ),1106            :prefix,1107            prefix1108          ), timeout: :infinity, log: false)11091110    type warning found at:1111    │1112 22 │     from(p in {get_source(repo), __MODULE__}, select: p.version)1113    │                ~1114    │1115    └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/211161117      warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1118      │1119 1422 │   defp type_to_module(:naive_datetime), do: NaiveDateTime1120      │        ~1121      │1122      └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111231124    warning: incompatible types given to get_source/1:11251126        get_source(repo)11271128    given types:11291130        -dynamic(atom())-11311132    but expected one of:11331134        %{..., config: empty_list() or non_empty_list(term(), term())}11351136    where "repo" was given the type:11371138        # type: dynamic(atom())1139        # from: lib/ecto/migration/schema_migration.ex:30:131140        repo.insert!(1141          Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1142            prefix: prefix,1143            source: get_source(repo)1144          ), timeout: :infinity, log: false)11451146    type warning found at:1147    │1148 29 │     |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1149    │                                              ~1150    │1151    └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/311521153    warning: incompatible types given to get_source/1:11541155        get_source(repo)11561157    given types:11581159        -dynamic(atom())-11601161    but expected one of:11621163        %{..., config: empty_list() or non_empty_list(term(), term())}11641165    where "repo" was given the type:11661167        # type: dynamic(atom())1168        # from: lib/ecto/migration/schema_migration.ex:36:131169        repo.delete_all(1170          Map.put(1171            (1172              query =1173                (1174                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1175                  Ecto.Query.Builder.From.apply(query, 1)1176                )1177        1178              Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1179                expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1180                op: :and,1181                params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1182                file: "/work/proj/deps_rpi0/ecto/lib/ecto/migration/schema_migration.ex",1183                line: 341184              })1185            ),1186            :prefix,1187            prefix1188          ), timeout: :infinity, log: false)11891190    type warning found at:1191    │1192 34 │     from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1193    │                ~1194    │1195    └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/311961197      warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1198      │1199 1885 │         if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1200      │                 ~1201      │1202      └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/312031204     warning: the following clause will never match:12051206         {:error, _} = error ->12071208     because it attempts to match on the result of:12091210         apply(changeset, adapter, :insert, args)12111212     which has type:12131214         dynamic({:invalid or :ok, term()})12151216     type warning found at:1217     │1218 219 │           {:error, _} = error ->1219     │                       ~1220     │1221     └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/412221223     warning: the following clause will never match:12241225         {:error, _} = error ->12261227     because it attempts to match on the result of:12281229         apply(changeset, adapter, action, args)12301231     which has type:12321233         dynamic({:invalid or :ok, term()})12341235     type warning found at:1236     │1237 297 │             {:error, _} = error ->1238     │                         ~1239     │1240     └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412411242    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1243    │1244 54 │       filter_and_reraise e, System.stacktrace1245    │                                    ~1246    │1247    └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/512481249    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1250    │1251 29 │     surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1252    │     ~1253    │1254    └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212551256     warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1257     │1258 144 │     Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1259     │           ~1260     │1261     └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312621263    warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1264    │1265 44 │     index  = Map.size(params)1266    │                  ~1267    │1268    └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51269    └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/512701271     warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1272     │1273 614 │     Decimal.minus(decimal)1274     │             ~1275     │1276     └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/112771278     warning: BadStructError.exception/1 is undefined (module BadStructError is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)1279     │1280 228 │         raise BadStructError, struct: struct, term: data1281     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1282     │1283     └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/512841285     warning: the following clause will never match:12861287         {:error, _} ->12881289     because it attempts to match on the result of:12901291         NaiveDateTime.new(date, time)12921293     which has type:12941295         dynamic({:ok, %NaiveDateTime{}})12961297     type warning found at:1298     │1299 803 │         {:error, _} -> :error1300     │         ~~~~~~~~~~~~~~~~~~~~~1301     │1302     └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/113031304     warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1305     │1306 159 │         supervise(children, strategy: :one_for_one)1307     │         ~1308     │1309     └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/113101311     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1312     │1313 214 │       filter_and_reraise e, System.stacktrace1314     │                                    ~1315     │1316     └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41317     └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/413181319    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1320    │1321 15 │     surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1322    │     ~1323    │1324    └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/213251326      warning: expected a map or struct when accessing .__struct__ in expression:13271328          schema.__struct__13291330      where "schema" was given the types:13311332          # type: dynamic(atom() and not nil)1333          # from: lib/ecto/query/planner.ex:1186:411334          schema13351336          # type: atom()1337          # from: lib/ecto/query/planner.ex:1186:611338          is_atom(schema)13391340      hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13411342      type warning found at:1343      │1344 1190 │       Map.has_key?(schema.__struct__, field) ->1345      │                           ~1346      │1347      └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/613481349    warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13501351        Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13521353    given types:13541355        (1356          -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1357          dynamic()1358        )13591360    but expected one of:13611362        atom(), term()13631364    where "opts" was given the type:13651366        # type: dynamic(1367          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1368            non_struct_map()1369        )1370        # from: lib/ecto/migrator.ex:44:651371        opts[:prefix]13721373    where "repo" was given the type:13741375        # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1376        # from: lib/ecto/migrator.ex:44:231377        Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13781379    type warning found at:1380    │1381 45 │       SchemaMigration.migrated_versions(repo, opts[:prefix])1382    │                       ~1383    │1384    └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213851386     warning: expected a module (an atom) when invoking transaction/2 in expression:13871388         repo.transaction(fun, log: false, timeout: :infinity)13891390     where "fun" was given the type:13911392         # type: dynamic()1393         # from: lib/ecto/migrator.ex:114:471394         fun13951396     where "repo" was given the types:13971398         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1399         # from: lib/ecto/migrator.ex:118:241400         repo.__adapter__.supports_ddl_transaction?14011402         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1403         # from: lib/ecto/migrator.ex:118:241404         repo.__adapter__.supports_ddl_transaction?14051406     type warning found at:1407     │1408 119 │         repo.transaction(fun, [log: false, timeout: :infinity])1409     │              ~1410     │1411     └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/314121413     warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1414     │1415 291 │     modules = Code.load_file(file)1416     │                    ~1417     │1418     └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/214191420     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1421     │1422 321 │         reraise error, System.stacktrace1423     │                               ~1424     │1425     └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/314261427    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1428    │1429 12 │       worker(Ecto.Migration.Runner, [], restart: :temporary)1430    │       ~1431    │1432    └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/114331434    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1435    │1436 15 │     supervise(children, strategy: :simple_one_for_one)1437    │     ~1438    │1439    └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/114401441    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1442    │1443 10 │       worker(Ecto.Registry, []),1444    │       ~1445    │1446    └─ lib/ecto/application.ex:10:7: Ecto.Application.start/214471448    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1449    │1450 11 │       supervisor(Ecto.Migration.Supervisor, [])1451    │       ~1452    │1453    └─ lib/ecto/application.ex:11:7: Ecto.Application.start/214541455Generated ecto app1456==> interactive_cmd1457Compiling 1 file (.ex)1458Generated interactive_cmd app1459==> nerves1460Compiling 65 files (.ex)1461    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)1462    │1463  6 │ defmodule Mix.Tasks.Nerves.Init do1464    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1465    │1466    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)14671468    warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.beam)1469    │1470  6 │ defmodule Nerves do1471    │ ~~~~~~~~~~~~~~~~~~~1472    │1473    └─ lib/nerves.ex:6: Nerves (module)14741475    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)1476    │1477  5 │ defmodule Nerves.ArtifactResolver do1478    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1479    │1480    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)14811482    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)1483    │1484  6 │ defmodule Nerves.BuildAction.AppModes do1485    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1486    │1487    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)14881489    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)1490    │1491  5 │ defmodule Nerves.BuildAction.CheckExecutables do1492    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1493    │1494    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)14951496    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)1497    │1498  8 │ defmodule Nerves.BuildAction.Erlinit do1499    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1500    │1501    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)15021503    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)1504    │1505  5 │ defmodule Nerves.BuildAction.Firmware do1506    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1507    │1508    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)15091510    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)1511    │1512  7 │ defmodule Nerves.BuildAction.IExStartupCheck do1513    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1514    │1515    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)15161517    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)1518    │1519  5 │ defmodule Nerves.BuildAction.NervesV1System do1520    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1521    │1522    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)15231524    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)1525    │1526  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do1527    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1528    │1529    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)15301531    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)1532    │1533  5 │ defmodule Nerves.BuildAction.Rootfs do1534    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1535    │1536    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)15371538    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)1539    │1540  6 │ defmodule Nerves.BuildAction.SortApps do1541    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1542    │1543    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)15441545    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)1546    │1547  5 │ defmodule Nerves.BuildAction.StripAll do1548    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1549    │1550    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)15511552    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)1553    │1554  5 │ defmodule Nerves.BuildAction.Trimmer do1555    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1556    │1557    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)15581559    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)1560    │1561  5 │ defmodule Nerves.BuildPlan do1562    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1563    │1564    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)15651566    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)1567    │1568  5 │ defmodule Nerves.BuildPlan.Checks do1569    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1570    │1571    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)15721573    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Container.beam)1574    │1575  6 │ defmodule Nerves.Container do1576    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1577    │1578    └─ lib/nerves/container.ex:6: Nerves.Container (module)15791580    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)1581    │1582  5 │ defmodule Nerves.Fingerprint do1583    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1584    │1585    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)15861587    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)1588    │1589  5 │ defmodule Nerves.MixPackage do1590    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1591    │1592    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)15931594    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Paths.beam)1595    │1596  5 │ defmodule Nerves.Paths do1597    │ ~~~~~~~~~~~~~~~~~~~~~~~~~1598    │1599    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)16001601    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)1602    │1603  5 │ defmodule Nerves.TargetTuple do1604    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1605    │1606    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)16071608Generated nerves app1609==> nerves_toolchain_armv6_nerves_linux_gnueabihf1610Compiling 1 file (.ex)1611Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app1612==> nerves_system_rpi01613Generated nerves_system_rpi0 app1614==> nerves_compatibility_test1615===> Analyzing applications...1616===> Compiling unicode_util_compat1617===> Analyzing applications...1618===> Compiling idna1619==> public_suffix1620Compiling 3 files (.ex)1621warning: cannot infer signatures from :idna because it is not loaded16221623warning: cannot infer signatures from :unicode_util_compat because it is not loaded16241625warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead1626  lib/public_suffix/remote_file_fetcher.ex:13: PublicSuffix.RemoteFileFetcher.fetch_remote_file/116271628     warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead1629     │1630 173 │   raw_data = if Application.get_env(:public_suffix, :download_data_on_compile, false) do1631     │                             ~1632     │1633     └─ lib/public_suffix.ex:173:29: PublicSuffix (module)163416351636== Compilation error in file lib/public_suffix.ex ==1637** (UndefinedFunctionError) function :idna.to_ascii/1 is undefined (module :idna is not available)1638    :idna.to_ascii(~c"ac")1639    lib/public_suffix/rules_parser.ex:62: PublicSuffix.RulesParser.punycode_domain/11640    lib/public_suffix/rules_parser.ex:35: anonymous fn/1 in PublicSuffix.RulesParser.parse_rules_section/21641    (elixir 1.20.3) lib/stream.ex:524: anonymous fn/3 in Stream.flat_map/21642    (elixir 1.20.3) lib/stream.ex:1009: Stream.do_transform_user/61643    (elixir 1.20.3) lib/enum.ex:4667: Enum.split_with/21644    lib/public_suffix/rules_parser.ex:38: PublicSuffix.RulesParser.parse_rules_section/21645    lib/public_suffix/rules_parser.ex:18: PublicSuffix.RulesParser.parse_rules/11646could not compile dependency :public_suffix, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile public_suffix --force", update it with "mix deps.update public_suffix" or clean it with "mix deps.clean public_suffix"