Build log
host
sitesx 0.11.0 · fail · run sitesx-0.11.0-1791103582716
1074 of 1074 lines
1Resolving Hex dependencies...2Resolution completed in 0.347s3Unchanged: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.191Found packages with security advisories, see above for details92All dependencies have been fetched93 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 quotes94 │95 70 │ ["test": ["ecto.drop --quiet", "ecto.create", "ecto.migrate", "run priv/repo/seeds.exs", "test"]]96 │ ~97 │98 └─ /work/proj/deps/sitesx/mix.exs:70:699100 warning: String.strip/1 is deprecated. Use String.trim/1 instead101 │102 4 │ @version File.read!("VERSION") |> String.strip103 │ ~104 │105 └─ /work/proj/deps/poison/mix.exs:4:44: Poison.Mixfile (module)106107==> chexes108Compiling 2 files (.ex)109 warning: using single-quoted strings to represent charlists is deprecated.110 Use ~c"" if you indeed want a charlist or use "" instead.111 You may run "mix format --migrate" to change all single-quoted112 strings to use the ~c sigil and fix this warning.113 │114 16 │ def blank?(''), do: true115 │ ~116 │117 └─ lib/chexes.ex:16:14118119 warning: using single-quoted strings to represent charlists is deprecated.120 Use ~c"" if you indeed want a charlist or use "" instead.121 You may run "mix format --migrate" to change all single-quoted122 strings to use the ~c sigil and fix this warning.123 │124 17 │ def blank?(' '), do: true125 │ ~126 │127 └─ lib/chexes.ex:17:14128129 warning: the 1st pattern in clause will never match:130131 []132133 because it is expected to receive type:134135 dynamic(%{..., __struct__: String})136137 hint: defimpl for String requires its callbacks to match exclusively on %{..., __struct__: String}138139 type warning found at:140 │141 16 │ def blank?(''), do: true142 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~143 │144 └─ lib/chexes.ex:16: Chexes.String.blank?/1145146 warning: the 1st pattern in clause will never match:147148 ~c" "149150 because it is expected to receive type:151152 dynamic(%{..., __struct__: String})153154 hint: defimpl for String requires its callbacks to match exclusively on %{..., __struct__: String}155156 type warning found at:157 │158 17 │ def blank?(' '), do: true159 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~160 │161 └─ lib/chexes.ex:17: Chexes.String.blank?/1162163Generated chexes app164warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"165 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2166 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1167 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5168 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2169 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4170 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2171172==> ecto173Compiling 70 files (.ex)174 warning: using single-quoted strings to represent charlists is deprecated.175 Use ~c"" if you indeed want a charlist or use "" instead.176 You may run "mix format --migrate" to change all single-quoted177 strings to use the ~c sigil and fix this warning.178 │179 166 │ defp insert_all_value(_), do: '?'180 │ ~181 │182 └─ lib/ecto/adapters/mysql/connection.ex:166:37183184 warning: using single-quoted strings to represent charlists is deprecated.185 Use ~c"" if you indeed want a charlist or use "" instead.186 You may run "mix format --migrate" to change all single-quoted187 strings to use the ~c sigil and fix this warning.188 │189 354 │ '?'190 │ ~191 │192 └─ lib/ecto/adapters/mysql/connection.ex:354:7193194 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.195196 This error happens when you have function calls without parentheses inside keywords. For example:197198 function(arg, one: nested_call a, b, c)199 function(arg, one: if expr, do: :this, else: :that)200201 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:202203 function(arg, one: if(expr, do: :this, else: :that))204 function(arg, one: nested_call(a, b, c))205206 Ambiguity found at:207 │208 2286 │ raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"209 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~210 │211 └─ lib/ecto/changeset.ex:2286212213 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.214215 This error happens when you have function calls without parentheses inside keywords. For example:216217 function(arg, one: nested_call a, b, c)218 function(arg, one: if expr, do: :this, else: :that)219220 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:221222 function(arg, one: if(expr, do: :this, else: :that))223 function(arg, one: nested_call(a, b, c))224225 Ambiguity found at:226 │227 265 │ do: raise ArgumentError, "a constraint must have either a check or exclude option"228 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~229 │230 └─ lib/ecto/migration/runner.ex:265231232 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.233234 This error happens when you have function calls without parentheses inside keywords. For example:235236 function(arg, one: nested_call a, b, c)237 function(arg, one: if expr, do: :this, else: :that)238239 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:240241 function(arg, one: if(expr, do: :this, else: :that))242 function(arg, one: nested_call(a, b, c))243244 Ambiguity found at:245 │246 267 │ do: raise ArgumentError, "a constraint must not have both check and exclude options"247 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~248 │249 └─ lib/ecto/migration/runner.ex:267250251 warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity252 │253 136 │ {:::, _, [left, _]} -> is_integer(left) or is_binary(left)254 │ ~255 │256 └─ lib/ecto/query/builder.ex:136:8257258 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)259 │260 643 │ def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime261 │ ~~262 │263 └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/2264265 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)266 │267 644 │ def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date268 │ ~~269 │270 └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/2271272 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.273274 This error happens when you have function calls without parentheses inside keywords. For example:275276 function(arg, one: nested_call a, b, c)277 function(arg, one: if expr, do: :this, else: :that)278279 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:280281 function(arg, one: if(expr, do: :this, else: :that))282 function(arg, one: nested_call(a, b, c))283284 Ambiguity found at:285 │286 454 │ do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"287 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~288 │289 └─ lib/ecto/repo/schema.ex:454290291 warning: unused require Ecto.Query292 │293 6 │ require Ecto.Query294 │ ~295 │296 └─ lib/ecto/repo/preloader.ex:6:3297298 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead299 │300 9 │ schema "schema_migrations" do301 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~302 │303 └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)304305 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)306 │307 258 │ err in DBConnection.OwnershipError ->308 │ ~309 │310 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6311312 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead313 │314 260 │ reraise %{err | message: message}, System.stacktrace315 │ ~316 │317 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6318319 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead320 │321 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn322 │ ~323 │324 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2325326 warning: incompatible types given to Mix.Ecto.ensure_started/2:327328 Mix.Ecto.ensure_started(repo, opts)329330 given types:331332 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))333334 but expected one of:335336 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())337338 where "opts" was given the type:339340 # type: dynamic(341 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or342 non_struct_map()343 )344 # from: lib/mix/tasks/ecto.rollback.ex:64:10345 opts =346 if opts[:quiet] do347 Keyword.merge(opts, log: false, log_sql: false)348 else349 opts350 end351352 where "repo" was given the type:353354 # type: dynamic(atom())355 # from: lib/mix/tasks/ecto.rollback.ex:70:7356 Mix.Ecto.ensure_repo(repo, args)357358 type warning found at:359 │360 72 │ {:ok, pid, apps} = ensure_started(repo, opts)361 │ ~362 │363 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2364365 warning: incompatible types given to Mix.Ecto.ensure_started/2:366367 Mix.Ecto.ensure_started(repo, all: true)368369 given types:370371 -dynamic(atom())-, non_empty_list({:all, true})372373 but expected one of:374375 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())376377 where "repo" was given the type:378379 # type: dynamic(atom())380 # from: lib/mix/tasks/ecto.migrations.ex:37:7381 Mix.Ecto.ensure_repo(repo, args)382383 type warning found at:384 │385 39 │ {:ok, pid, _} = ensure_started(repo, all: true)386 │ ~387 │388 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3389390 warning: incompatible types given to Mix.Ecto.ensure_started/2:391392 Mix.Ecto.ensure_started(repo, opts)393394 given types:395396 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))397398 but expected one of:399400 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())401402 where "opts" was given the type:403404 # type: dynamic(405 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or406 non_struct_map()407 )408 # from: lib/mix/tasks/ecto.migrate.ex:68:10409 opts =410 if opts[:quiet] do411 Keyword.merge(opts, log: false, log_sql: false)412 else413 opts414 end415416 where "repo" was given the type:417418 # type: dynamic(atom())419 # from: lib/mix/tasks/ecto.migrate.ex:74:7420 Mix.Ecto.ensure_repo(repo, args)421422 type warning found at:423 │424 76 │ {:ok, pid, apps} = ensure_started(repo, opts)425 │ ~426 │427 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2428429 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:430431 Mix.Ecto.source_repo_priv(repo)432433 given types:434435 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-436437 but expected one of:438439 atom()440441 where "repo" was given the types:442443 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})444 # from: lib/mix/tasks/ecto.load.ex:70:22445 Keyword.merge(repo.config, opts)446447 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})448 # from: lib/mix/tasks/ecto.load.ex:72:27449 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)450451 type warning found at:452 │453 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do454 │ ~455 │456 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2457458 warning: expected a map or struct when accessing .__adapter__ in expression:459460 repo.__adapter__461462 where "repo" was given the type:463464 # type: dynamic(atom())465 # from: lib/mix/tasks/ecto.load.ex:53:7466 Mix.Ecto.ensure_repo(repo, args)467468 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()469470 type warning found at:471 │472 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,473 │ ~474 │475 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1476477 warning: the following clause will never match:478479 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->480481 because it attempts to match on the result of:482483 System.stacktrace()484485 which has type:486487 empty_list()488489 where "args_or_arity" was given the type:490491 # type: float() or integer() or non_empty_list(term())492 # from: lib/ecto/changeset.ex493 (_() when args_or_arity == 2) when length(args_or_arity) == 2494495 where "module" was given the type:496497 # type: dynamic()498 # from: lib/ecto/changeset.ex:733:30499 module500501 type warning found at:502 │503 741 │ ... when length(args_or_arity) == 2 ->504 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~505 │506 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2507508 warning: expected a map or struct when accessing .__adapter__ in expression:509510 repo.__adapter__511512 where "repo" was given the type:513514 # type: dynamic(atom())515 # from: lib/mix/tasks/ecto.dump.ex:50:7516 Mix.Ecto.ensure_repo(repo, args)517518 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()519520 type warning found at:521 │522 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,523 │ ~524 │525 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1526527 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead528 │529 739 │ case System.stacktrace do530 │ ~531 │532 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2533534 warning: expected a map or struct when accessing .__adapter__ in expression:535536 repo.__adapter__537538 where "repo" was given the type:539540 # type: dynamic(atom())541 # from: lib/mix/tasks/ecto.drop.ex:39:7542 Mix.Ecto.ensure_repo(repo, args)543544 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()545546 type warning found at:547 │548 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,549 │ ~550 │551 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1552553 warning: expected a map or struct when accessing .__adapter__ in expression:554555 repo.__adapter__556557 where "repo" was given the type:558559 # type: dynamic(atom())560 # from: lib/mix/tasks/ecto.create.ex:37:7561 Mix.Ecto.ensure_repo(repo, args)562563 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()564565 type warning found at:566 │567 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,568 │ ~569 │570 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1571572 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead573 │574 62 │ Mix.Project.compile(args)575 │ ~576 │577 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/2578579 warning: expected a module (an atom) when invoking start_link/1 in expression:580581 repo.start_link(pool_size: pool_size)582583 where "pool_size" was given the type:584585 # type: dynamic()586 # from: lib/mix/ecto.ex:101:15587 pool_size = Keyword.get(opts, :pool_size, 1)588589 where "repo" was given the type:590591 # type: dynamic(%{..., __adapter__: atom()})592 # from: lib/mix/ecto.ex:99:36593 repo.__adapter__.ensure_all_started(repo, :temporary)594595 type warning found at:596 │597 102 │ case repo.start_link(pool_size: pool_size) do598 │ ~599 │600 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/2601602 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency603 │604 146 │ Logger.remove_backend(:console)605 │ ~606 │607 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/2608609 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)610 │611 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->612 │ ~613 │614 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/2615 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/2616617 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency618 │619 155 │ Logger.add_backend(:console, flush: true)620 │ ~621 │622 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/2623624 warning: incompatible types given to get_source/1:625626 get_source(repo)627628 given types:629630 -dynamic(atom())-631632 but expected one of:633634 %{..., config: empty_list() or non_empty_list(term(), term())}635636 where "repo" was given the type:637638 # type: dynamic(atom())639 # from: lib/ecto/migration/schema_migration.ex:24:13640 repo.all(641 Map.put(642 (643 query =644 (645 query = {get_source(repo), Ecto.Migration.SchemaMigration}646 Ecto.Query.Builder.From.apply(query, 1)647 )648 649 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{650 ...,651 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},652 file: "/work/proj/deps/ecto/lib/ecto/migration/schema_migration.ex",653 line: 22,654 take: %{}655 })656 ),657 :prefix,658 prefix659 ), timeout: :infinity, log: false)660661 type warning found at:662 │663 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)664 │ ~665 │666 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/2667668 warning: incompatible types given to get_source/1:669670 get_source(repo)671672 given types:673674 -dynamic(atom())-675676 but expected one of:677678 %{..., config: empty_list() or non_empty_list(term(), term())}679680 where "repo" was given the type:681682 # type: dynamic(atom())683 # from: lib/ecto/migration/schema_migration.ex:30:13684 repo.insert!(685 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},686 prefix: prefix,687 source: get_source(repo)688 ), timeout: :infinity, log: false)689690 type warning found at:691 │692 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))693 │ ~694 │695 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/3696697 warning: incompatible types given to get_source/1:698699 get_source(repo)700701 given types:702703 -dynamic(atom())-704705 but expected one of:706707 %{..., config: empty_list() or non_empty_list(term(), term())}708709 where "repo" was given the type:710711 # type: dynamic(atom())712 # from: lib/ecto/migration/schema_migration.ex:36:13713 repo.delete_all(714 Map.put(715 (716 query =717 (718 query = {get_source(repo), Ecto.Migration.SchemaMigration}719 Ecto.Query.Builder.From.apply(query, 1)720 )721 722 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{723 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},724 op: :and,725 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],726 file: "/work/proj/deps/ecto/lib/ecto/migration/schema_migration.ex",727 line: 34728 })729 ),730 :prefix,731 prefix732 ), timeout: :infinity, log: false)733734 type warning found at:735 │736 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)737 │ ~738 │739 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/3740741 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)742 │743 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->744 │ ~745 │746 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/2747748 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)749 │750 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime751 │ ~752 │753 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/1754755 warning: the following conditional expression:756757 is_atom(related)758759 will always evaluate to:760761 dynamic(true)762763 where "related" was given the type:764765 # type: dynamic(atom())766 # from: lib/ecto/association.ex:730:15767 related = Ecto.Association.related_from_query(queryable)768769 type warning found at:770 │771 732 │ unless is_atom(related) do772 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~773 │774 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/3775776 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)777 │778 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do779 │ ~780 │781 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/3782783 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)784 │785 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->786 │ ~787 │788 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/2789790 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead791 │792 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)793 │ ~794 │795 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/2796797 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead798 │799 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))800 │ ~801 │802 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/3803804 warning: the following clause will never match:805806 {:error, _} = error ->807808 because it attempts to match on the result of:809810 apply(changeset, adapter, :insert, args)811812 which has type:813814 dynamic({:invalid or :ok, term()})815816 type warning found at:817 │818 219 │ {:error, _} = error ->819 │ ~820 │821 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/4822823 warning: the following clause will never match:824825 {:error, _} = error ->826827 because it attempts to match on the result of:828829 apply(changeset, adapter, action, args)830831 which has type:832833 dynamic({:invalid or :ok, term()})834835 type warning found at:836 │837 297 │ {:error, _} = error ->838 │ ~839 │840 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/4841842 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead843 │844 54 │ filter_and_reraise e, System.stacktrace845 │ ~846 │847 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/5848849 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead850 │851 44 │ index = Map.size(params)852 │ ~853 │854 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/5855 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/5856857 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead858 │859 614 │ Decimal.minus(decimal)860 │ ~861 │862 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/1863864 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)865 │866 228 │ raise BadStructError, struct: struct, term: data867 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~868 │869 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/5870871 warning: the following clause will never match:872873 {:error, _} ->874875 because it attempts to match on the result of:876877 NaiveDateTime.new(date, time)878879 which has type:880881 dynamic({:ok, %NaiveDateTime{}})882883 type warning found at:884 │885 803 │ {:error, _} -> :error886 │ ~~~~~~~~~~~~~~~~~~~~~887 │888 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/1889890 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead891 │892 159 │ supervise(children, strategy: :one_for_one)893 │ ~894 │895 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/1896897 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead898 │899 214 │ filter_and_reraise e, System.stacktrace900 │ ~901 │902 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/4903 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/4904905 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead906 │907 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)908 │ ~909 │910 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/2911912 warning: expected a map or struct when accessing .__struct__ in expression:913914 schema.__struct__915916 where "schema" was given the types:917918 # type: dynamic(atom() and not nil)919 # from: lib/ecto/query/planner.ex:1186:41920 schema921922 # type: atom()923 # from: lib/ecto/query/planner.ex:1186:61924 is_atom(schema)925926 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()927928 type warning found at:929 │930 1190 │ Map.has_key?(schema.__struct__, field) ->931 │ ~932 │933 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/6934935 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:936937 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])938939 given types:940941 (942 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,943 dynamic()944 )945946 but expected one of:947948 atom(), term()949950 where "opts" was given the type:951952 # type: dynamic(953 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or954 non_struct_map()955 )956 # from: lib/ecto/migrator.ex:44:65957 opts[:prefix]958959 where "repo" was given the type:960961 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})962 # from: lib/ecto/migrator.ex:44:23963 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])964965 type warning found at:966 │967 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])968 │ ~969 │970 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/2971972 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead973 │974 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)975 │ ~976 │977 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/1978979 warning: expected a module (an atom) when invoking transaction/2 in expression:980981 repo.transaction(fun, log: false, timeout: :infinity)982983 where "fun" was given the type:984985 # type: dynamic()986 # from: lib/ecto/migrator.ex:114:47987 fun988989 where "repo" was given the types:990991 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})992 # from: lib/ecto/migrator.ex:118:24993 repo.__adapter__.supports_ddl_transaction?994995 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})996 # from: lib/ecto/migrator.ex:118:24997 repo.__adapter__.supports_ddl_transaction?998999 type warning found at:1000 │1001 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1002 │ ~1003 │1004 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/310051006 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1007 │1008 15 │ supervise(children, strategy: :simple_one_for_one)1009 │ ~1010 │1011 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/110121013 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1014 │1015 291 │ modules = Code.load_file(file)1016 │ ~1017 │1018 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/210191020 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1021 │1022 321 │ reraise error, System.stacktrace1023 │ ~1024 │1025 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/310261027 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1028 │1029 10 │ worker(Ecto.Registry, []),1030 │ ~1031 │1032 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/210331034 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1035 │1036 11 │ supervisor(Ecto.Migration.Supervisor, [])1037 │ ~1038 │1039 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/210401041Generated ecto app1042==> nerves_compatibility_test1043===> Analyzing applications...1044===> Compiling unicode_util_compat1045===> Analyzing applications...1046===> Compiling idna1047==> public_suffix1048Compiling 3 files (.ex)1049warning: cannot infer signatures from :idna because it is not loaded10501051warning: cannot infer signatures from :unicode_util_compat because it is not loaded10521053warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead1054 lib/public_suffix/remote_file_fetcher.ex:13: PublicSuffix.RemoteFileFetcher.fetch_remote_file/110551056 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead1057 │1058 173 │ raw_data = if Application.get_env(:public_suffix, :download_data_on_compile, false) do1059 │ ~1060 │1061 └─ lib/public_suffix.ex:173:29: PublicSuffix (module)106210631064== Compilation error in file lib/public_suffix.ex ==1065** (UndefinedFunctionError) function :idna.to_ascii/1 is undefined (module :idna is not available)1066 :idna.to_ascii(~c"ac")1067 lib/public_suffix/rules_parser.ex:62: PublicSuffix.RulesParser.punycode_domain/11068 lib/public_suffix/rules_parser.ex:35: anonymous fn/1 in PublicSuffix.RulesParser.parse_rules_section/21069 (elixir 1.20.3) lib/stream.ex:524: anonymous fn/3 in Stream.flat_map/21070 (elixir 1.20.3) lib/stream.ex:1009: Stream.do_transform_user/61071 (elixir 1.20.3) lib/enum.ex:4667: Enum.split_with/21072 lib/public_suffix/rules_parser.ex:38: PublicSuffix.RulesParser.parse_rules_section/21073 lib/public_suffix/rules_parser.ex:18: PublicSuffix.RulesParser.parse_rules/11074could 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"