Build log
nerves_system_bbb
sitesx 0.11.0 · fail · run sitesx-0.11.0-1791103582716
1644 of 1644 lines
1Resolving Hex dependencies...2Resolution completed in 0.184s3Unchanged: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_bbb/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_bbb/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/bbb/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: 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: the following clause will never match:844845 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->846847 because it attempts to match on the result of:848849 System.stacktrace()850851 which has type:852853 empty_list()854855 where "args_or_arity" was given the type:856857 # type: float() or integer() or non_empty_list(term())858 # from: lib/ecto/changeset.ex859 (_() when args_or_arity == 2) when length(args_or_arity) == 2860861 where "module" was given the type:862863 # type: dynamic()864 # from: lib/ecto/changeset.ex:733:30865 module866867 type warning found at:868 │869 741 │ ... when length(args_or_arity) == 2 ->870 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~871 │872 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2873874 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead875 │876 739 │ case System.stacktrace do877 │ ~878 │879 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2880881 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:882883 Mix.Ecto.source_repo_priv(repo)884885 given types:886887 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-888889 but expected one of:890891 atom()892893 where "repo" was given the types:894895 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})896 # from: lib/mix/tasks/ecto.load.ex:70:22897 Keyword.merge(repo.config, opts)898899 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})900 # from: lib/mix/tasks/ecto.load.ex:72:27901 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)902903 type warning found at:904 │905 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do906 │ ~907 │908 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2909910 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.load.ex:53: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 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,925 │ ~926 │927 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.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.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.dump.ex:50: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 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,963 │ ~964 │965 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.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.create.ex:37: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 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,982 │ ~983 │984 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.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: incompatible types given to get_source/1:995996 get_source(repo)997998 given types:9991000 -dynamic(atom())-10011002 but expected one of:10031004 %{..., config: empty_list() or non_empty_list(term(), term())}10051006 where "repo" was given the type:10071008 # type: dynamic(atom())1009 # from: lib/ecto/migration/schema_migration.ex:24:131010 repo.all(1011 Map.put(1012 (1013 query =1014 (1015 query = {get_source(repo), Ecto.Migration.SchemaMigration}1016 Ecto.Query.Builder.From.apply(query, 1)1017 )1018 1019 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1020 ...,1021 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1022 file: "/work/proj/deps_bbb/ecto/lib/ecto/migration/schema_migration.ex",1023 line: 22,1024 take: %{}1025 })1026 ),1027 :prefix,1028 prefix1029 ), timeout: :infinity, log: false)10301031 type warning found at:1032 │1033 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1034 │ ~1035 │1036 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/210371038 warning: incompatible types given to get_source/1:10391040 get_source(repo)10411042 given types:10431044 -dynamic(atom())-10451046 but expected one of:10471048 %{..., config: empty_list() or non_empty_list(term(), term())}10491050 where "repo" was given the type:10511052 # type: dynamic(atom())1053 # from: lib/ecto/migration/schema_migration.ex:30:131054 repo.insert!(1055 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1056 prefix: prefix,1057 source: get_source(repo)1058 ), timeout: :infinity, log: false)10591060 type warning found at:1061 │1062 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1063 │ ~1064 │1065 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/310661067 warning: incompatible types given to get_source/1:10681069 get_source(repo)10701071 given types:10721073 -dynamic(atom())-10741075 but expected one of:10761077 %{..., config: empty_list() or non_empty_list(term(), term())}10781079 where "repo" was given the type:10801081 # type: dynamic(atom())1082 # from: lib/ecto/migration/schema_migration.ex:36:131083 repo.delete_all(1084 Map.put(1085 (1086 query =1087 (1088 query = {get_source(repo), Ecto.Migration.SchemaMigration}1089 Ecto.Query.Builder.From.apply(query, 1)1090 )1091 1092 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1093 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1094 op: :and,1095 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1096 file: "/work/proj/deps_bbb/ecto/lib/ecto/migration/schema_migration.ex",1097 line: 341098 })1099 ),1100 :prefix,1101 prefix1102 ), timeout: :infinity, log: false)11031104 type warning found at:1105 │1106 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1107 │ ~1108 │1109 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/311101111 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1112 │1113 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1114 │ ~1115 │1116 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/211171118 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1119 │1120 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1121 │ ~1122 │1123 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111241125 warning: the following conditional expression:11261127 is_atom(related)11281129 will always evaluate to:11301131 dynamic(true)11321133 where "related" was given the type:11341135 # type: dynamic(atom())1136 # from: lib/ecto/association.ex:730:151137 related = Ecto.Association.related_from_query(queryable)11381139 type warning found at:1140 │1141 732 │ unless is_atom(related) do1142 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1143 │1144 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/311451146 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1147 │1148 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1149 │ ~1150 │1151 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/211521153 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1154 │1155 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1156 │ ~1157 │1158 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/311591160 warning: the following clause will never match:11611162 {:error, _} = error ->11631164 because it attempts to match on the result of:11651166 apply(changeset, adapter, :insert, args)11671168 which has type:11691170 dynamic({:invalid or :ok, term()})11711172 type warning found at:1173 │1174 219 │ {:error, _} = error ->1175 │ ~1176 │1177 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/411781179 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead1180 │1181 62 │ Mix.Project.compile(args)1182 │ ~1183 │1184 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/211851186 warning: the following clause will never match:11871188 {:error, _} = error ->11891190 because it attempts to match on the result of:11911192 apply(changeset, adapter, action, args)11931194 which has type:11951196 dynamic({:invalid or :ok, term()})11971198 type warning found at:1199 │1200 297 │ {:error, _} = error ->1201 │ ~1202 │1203 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412041205 warning: expected a module (an atom) when invoking start_link/1 in expression:12061207 repo.start_link(pool_size: pool_size)12081209 where "pool_size" was given the type:12101211 # type: dynamic()1212 # from: lib/mix/ecto.ex:101:151213 pool_size = Keyword.get(opts, :pool_size, 1)12141215 where "repo" was given the type:12161217 # type: dynamic(%{..., __adapter__: atom()})1218 # from: lib/mix/ecto.ex:99:361219 repo.__adapter__.ensure_all_started(repo, :temporary)12201221 type warning found at:1222 │1223 102 │ case repo.start_link(pool_size: pool_size) do1224 │ ~1225 │1226 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/212271228 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1229 │1230 146 │ Logger.remove_backend(:console)1231 │ ~1232 │1233 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/212341235 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1236 │1237 155 │ Logger.add_backend(:console, flush: true)1238 │ ~1239 │1240 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/212411242 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1243 │1244 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1245 │ ~1246 │1247 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212481249 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: 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: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1387 │1388 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1389 │ ~1390 │1391 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/113921393 warning: expected a module (an atom) when invoking transaction/2 in expression:13941395 repo.transaction(fun, log: false, timeout: :infinity)13961397 where "fun" was given the type:13981399 # type: dynamic()1400 # from: lib/ecto/migrator.ex:114:471401 fun14021403 where "repo" was given the types:14041405 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1406 # from: lib/ecto/migrator.ex:118:241407 repo.__adapter__.supports_ddl_transaction?14081409 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1410 # from: lib/ecto/migrator.ex:118:241411 repo.__adapter__.supports_ddl_transaction?14121413 type warning found at:1414 │1415 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1416 │ ~1417 │1418 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/314191420 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1421 │1422 15 │ supervise(children, strategy: :simple_one_for_one)1423 │ ~1424 │1425 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/114261427 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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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_armv7_nerves_linux_gnueabihf1610Compiling 1 file (.ex)1611Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app1612==> nerves_compatibility_test1613===> Analyzing applications...1614===> Compiling unicode_util_compat1615===> Analyzing applications...1616===> Compiling idna1617==> public_suffix1618Compiling 3 files (.ex)1619warning: cannot infer signatures from :idna because it is not loaded16201621warning: cannot infer signatures from :unicode_util_compat because it is not loaded16221623warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead1624 lib/public_suffix/remote_file_fetcher.ex:13: PublicSuffix.RemoteFileFetcher.fetch_remote_file/116251626 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead1627 │1628 173 │ raw_data = if Application.get_env(:public_suffix, :download_data_on_compile, false) do1629 │ ~1630 │1631 └─ lib/public_suffix.ex:173:29: PublicSuffix (module)163216331634== Compilation error in file lib/public_suffix.ex ==1635** (UndefinedFunctionError) function :idna.to_ascii/1 is undefined (module :idna is not available)1636 :idna.to_ascii(~c"ac")1637 lib/public_suffix/rules_parser.ex:62: PublicSuffix.RulesParser.punycode_domain/11638 lib/public_suffix/rules_parser.ex:35: anonymous fn/1 in PublicSuffix.RulesParser.parse_rules_section/21639 (elixir 1.20.3) lib/stream.ex:524: anonymous fn/3 in Stream.flat_map/21640 (elixir 1.20.3) lib/stream.ex:1009: Stream.do_transform_user/61641 (elixir 1.20.3) lib/enum.ex:4667: Enum.split_with/21642 lib/public_suffix/rules_parser.ex:38: PublicSuffix.RulesParser.parse_rules_section/21643 lib/public_suffix/rules_parser.ex:18: PublicSuffix.RulesParser.parse_rules/11644could 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"