Build log
nerves_system_mangopi_mq_pro
sitesx 0.11.0 · fail · run sitesx-0.11.0-1791103582716
1646 of 1646 lines
1Resolving Hex dependencies...2Resolution completed in 0.491s3Unchanged: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_mangopi_mq_pro/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_mangopi_mq_pro/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/mangopi_mq_pro/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:3710711Compiling lib/ecto.ex (it's taking more than 10s)712 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead713 │714 9 │ schema "schema_migrations" do715 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~716 │717 └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)718719 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)720 │721 258 │ err in DBConnection.OwnershipError ->722 │ ~723 │724 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6725726 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead727 │728 260 │ reraise %{err | message: message}, System.stacktrace729 │ ~730 │731 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6732733 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead734 │735 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn736 │ ~737 │738 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2739740 warning: incompatible types given to Mix.Ecto.ensure_started/2:741742 Mix.Ecto.ensure_started(repo, opts)743744 given types:745746 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))747748 but expected one of:749750 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())751752 where "opts" was given the type:753754 # type: dynamic(755 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or756 non_struct_map()757 )758 # from: lib/mix/tasks/ecto.rollback.ex:64:10759 opts =760 if opts[:quiet] do761 Keyword.merge(opts, log: false, log_sql: false)762 else763 opts764 end765766 where "repo" was given the type:767768 # type: dynamic(atom())769 # from: lib/mix/tasks/ecto.rollback.ex:70:7770 Mix.Ecto.ensure_repo(repo, args)771772 type warning found at:773 │774 72 │ {:ok, pid, apps} = ensure_started(repo, opts)775 │ ~776 │777 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2778779 warning: incompatible types given to Mix.Ecto.ensure_started/2:780781 Mix.Ecto.ensure_started(repo, all: true)782783 given types:784785 -dynamic(atom())-, non_empty_list({:all, true})786787 but expected one of:788789 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())790791 where "repo" was given the type:792793 # type: dynamic(atom())794 # from: lib/mix/tasks/ecto.migrations.ex:37:7795 Mix.Ecto.ensure_repo(repo, args)796797 type warning found at:798 │799 39 │ {:ok, pid, _} = ensure_started(repo, all: true)800 │ ~801 │802 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3803804 warning: incompatible types given to Mix.Ecto.ensure_started/2:805806 Mix.Ecto.ensure_started(repo, opts)807808 given types:809810 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))811812 but expected one of:813814 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())815816 where "opts" was given the type:817818 # type: dynamic(819 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or820 non_struct_map()821 )822 # from: lib/mix/tasks/ecto.migrate.ex:68:10823 opts =824 if opts[:quiet] do825 Keyword.merge(opts, log: false, log_sql: false)826 else827 opts828 end829830 where "repo" was given the type:831832 # type: dynamic(atom())833 # from: lib/mix/tasks/ecto.migrate.ex:74:7834 Mix.Ecto.ensure_repo(repo, args)835836 type warning found at:837 │838 76 │ {:ok, pid, apps} = ensure_started(repo, opts)839 │ ~840 │841 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/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: expected a map or struct when accessing .__adapter__ in expression:892893 repo.__adapter__894895 where "repo" was given the type:896897 # type: dynamic(atom())898 # from: lib/mix/tasks/ecto.dump.ex:50:7899 Mix.Ecto.ensure_repo(repo, args)900901 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()902903 type warning found at:904 │905 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,906 │ ~907 │908 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1909910 warning: expected a map or struct when accessing .__adapter__ in expression:911912 repo.__adapter__913914 where "repo" was given the type:915916 # type: dynamic(atom())917 # from: lib/mix/tasks/ecto.drop.ex:39:7918 Mix.Ecto.ensure_repo(repo, args)919920 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()921922 type warning found at:923 │924 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,925 │ ~926 │927 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1928929 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.create.ex:37: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 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,944 │ ~945 │946 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1947948 warning: the following clause will never match:949950 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->951952 because it attempts to match on the result of:953954 System.stacktrace()955956 which has type:957958 empty_list()959960 where "args_or_arity" was given the type:961962 # type: float() or integer() or non_empty_list(term())963 # from: lib/ecto/changeset.ex964 (_() when args_or_arity == 2) when length(args_or_arity) == 2965966 where "module" was given the type:967968 # type: dynamic()969 # from: lib/ecto/changeset.ex:733:30970 module971972 type warning found at:973 │974 741 │ ... when length(args_or_arity) == 2 ->975 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~976 │977 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2978979 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead980 │981 739 │ case System.stacktrace do982 │ ~983 │984 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2985986 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead987 │988 62 │ Mix.Project.compile(args)989 │ ~990 │991 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/2992993 warning: expected a module (an atom) when invoking start_link/1 in expression:994995 repo.start_link(pool_size: pool_size)996997 where "pool_size" was given the type:998999 # type: dynamic()1000 # from: lib/mix/ecto.ex:101:151001 pool_size = Keyword.get(opts, :pool_size, 1)10021003 where "repo" was given the type:10041005 # type: dynamic(%{..., __adapter__: atom()})1006 # from: lib/mix/ecto.ex:99:361007 repo.__adapter__.ensure_all_started(repo, :temporary)10081009 type warning found at:1010 │1011 102 │ case repo.start_link(pool_size: pool_size) do1012 │ ~1013 │1014 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/210151016 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1017 │1018 146 │ Logger.remove_backend(:console)1019 │ ~1020 │1021 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/210221023 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1024 │1025 155 │ Logger.add_backend(:console, flush: true)1026 │ ~1027 │1028 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/210291030 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1031 │1032 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1033 │ ~1034 │1035 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21036 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/210371038 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1039 │1040 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1041 │ ~1042 │1043 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/210441045 warning: the following conditional expression:10461047 is_atom(related)10481049 will always evaluate to:10501051 dynamic(true)10521053 where "related" was given the type:10541055 # type: dynamic(atom())1056 # from: lib/ecto/association.ex:730:151057 related = Ecto.Association.related_from_query(queryable)10581059 type warning found at:1060 │1061 732 │ unless is_atom(related) do1062 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1063 │1064 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/310651066 warning: incompatible types given to get_source/1:10671068 get_source(repo)10691070 given types:10711072 -dynamic(atom())-10731074 but expected one of:10751076 %{..., config: empty_list() or non_empty_list(term(), term())}10771078 where "repo" was given the type:10791080 # type: dynamic(atom())1081 # from: lib/ecto/migration/schema_migration.ex:24:131082 repo.all(1083 Map.put(1084 (1085 query =1086 (1087 query = {get_source(repo), Ecto.Migration.SchemaMigration}1088 Ecto.Query.Builder.From.apply(query, 1)1089 )1090 1091 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1092 ...,1093 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1094 file: "/work/proj/deps_mangopi_mq_pro/ecto/lib/ecto/migration/schema_migration.ex",1095 line: 22,1096 take: %{}1097 })1098 ),1099 :prefix,1100 prefix1101 ), timeout: :infinity, log: false)11021103 type warning found at:1104 │1105 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1106 │ ~1107 │1108 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/211091110 warning: incompatible types given to get_source/1:11111112 get_source(repo)11131114 given types:11151116 -dynamic(atom())-11171118 but expected one of:11191120 %{..., config: empty_list() or non_empty_list(term(), term())}11211122 where "repo" was given the type:11231124 # type: dynamic(atom())1125 # from: lib/ecto/migration/schema_migration.ex:30:131126 repo.insert!(1127 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1128 prefix: prefix,1129 source: get_source(repo)1130 ), timeout: :infinity, log: false)11311132 type warning found at:1133 │1134 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1135 │ ~1136 │1137 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/311381139 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1140 │1141 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1142 │ ~1143 │1144 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111451146 warning: incompatible types given to get_source/1:11471148 get_source(repo)11491150 given types:11511152 -dynamic(atom())-11531154 but expected one of:11551156 %{..., config: empty_list() or non_empty_list(term(), term())}11571158 where "repo" was given the type:11591160 # type: dynamic(atom())1161 # from: lib/ecto/migration/schema_migration.ex:36:131162 repo.delete_all(1163 Map.put(1164 (1165 query =1166 (1167 query = {get_source(repo), Ecto.Migration.SchemaMigration}1168 Ecto.Query.Builder.From.apply(query, 1)1169 )1170 1171 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1172 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1173 op: :and,1174 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1175 file: "/work/proj/deps_mangopi_mq_pro/ecto/lib/ecto/migration/schema_migration.ex",1176 line: 341177 })1178 ),1179 :prefix,1180 prefix1181 ), timeout: :infinity, log: false)11821183 type warning found at:1184 │1185 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1186 │ ~1187 │1188 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/311891190 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1191 │1192 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1193 │ ~1194 │1195 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/211961197 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: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1224 │1225 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1226 │ ~1227 │1228 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212291230 warning: the following clause will never match:12311232 {:error, _} = error ->12331234 because it attempts to match on the result of:12351236 apply(changeset, adapter, action, args)12371238 which has type:12391240 dynamic({:invalid or :ok, term()})12411242 type warning found at:1243 │1244 297 │ {:error, _} = error ->1245 │ ~1246 │1247 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412481249 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1250 │1251 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1252 │ ~1253 │1254 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312551256 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1257 │1258 54 │ filter_and_reraise e, System.stacktrace1259 │ ~1260 │1261 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/512621263 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: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1305 │1306 214 │ filter_and_reraise e, System.stacktrace1307 │ ~1308 │1309 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41310 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/413111312 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1313 │1314 159 │ supervise(children, strategy: :one_for_one)1315 │ ~1316 │1317 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/113181319 warning: expected a map or struct when accessing .__struct__ in expression:13201321 schema.__struct__13221323 where "schema" was given the types:13241325 # type: dynamic(atom() and not nil)1326 # from: lib/ecto/query/planner.ex:1186:411327 schema13281329 # type: atom()1330 # from: lib/ecto/query/planner.ex:1186:611331 is_atom(schema)13321333 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13341335 type warning found at:1336 │1337 1190 │ Map.has_key?(schema.__struct__, field) ->1338 │ ~1339 │1340 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/613411342 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1343 │1344 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1345 │ ~1346 │1347 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/213481349 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1350 │1351 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1352 │ ~1353 │1354 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/113551356 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13571358 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13591360 given types:13611362 (1363 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1364 dynamic()1365 )13661367 but expected one of:13681369 atom(), term()13701371 where "opts" was given the type:13721373 # type: dynamic(1374 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1375 non_struct_map()1376 )1377 # from: lib/ecto/migrator.ex:44:651378 opts[:prefix]13791380 where "repo" was given the type:13811382 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1383 # from: lib/ecto/migrator.ex:44:231384 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13851386 type warning found at:1387 │1388 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1389 │ ~1390 │1391 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213921393 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1394 │1395 15 │ supervise(children, strategy: :simple_one_for_one)1396 │ ~1397 │1398 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/113991400 warning: expected a module (an atom) when invoking transaction/2 in expression:14011402 repo.transaction(fun, log: false, timeout: :infinity)14031404 where "fun" was given the type:14051406 # type: dynamic()1407 # from: lib/ecto/migrator.ex:114:471408 fun14091410 where "repo" was given the types:14111412 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1413 # from: lib/ecto/migrator.ex:118:241414 repo.__adapter__.supports_ddl_transaction?14151416 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1417 # from: lib/ecto/migrator.ex:118:241418 repo.__adapter__.supports_ddl_transaction?14191420 type warning found at:1421 │1422 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1423 │ ~1424 │1425 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/314261427 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1428 │1429 291 │ modules = Code.load_file(file)1430 │ ~1431 │1432 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/214331434 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1435 │1436 321 │ reraise error, System.stacktrace1437 │ ~1438 │1439 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/314401441 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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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_riscv64_nerves_linux_gnu1610Compiling 1 file (.ex)1611Generated nerves_toolchain_riscv64_nerves_linux_gnu app1612==> nerves_system_mangopi_mq_pro1613Generated nerves_system_mangopi_mq_pro 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"