Build log
host
openmaize_jwt 1.0.0 · fail · run openmaize_jwt-1.0.0-1791028971953
1182 of 1182 lines
1Resolving Hex dependencies...2Resolution completed in 0.228s3Unchanged:4 circular_buffer 1.1.05 comeonin 3.2.06 cowboy 1.1.2 VULNERABLE!7 GHSA-w4f7-4cxr-rv3c (MEDIUM)8 aka: CVE-2026-43966, EEF-CVE-2026-439669 cowboy and gun affected by an HTTP Request/Response Splitting vulnerability10 https://osv.dev/vulnerability/GHSA-w4f7-4cxr-rv3c11 cowlib 1.0.2 VULNERABLE!12 EEF-CVE-2026-7790 (HIGH)13 aka: CVE-2026-7790, GHSA-32p9-57cr-4x6514 Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS15 https://osv.dev/vulnerability/EEF-CVE-2026-77901617 EEF-CVE-2026-43970 (HIGH)18 aka: CVE-2026-43970, GHSA-84f2-rp86-235p19 Decompression Bomb in cow_spdy:inflate/2 Allows Memory Exhaustion via Crafted SPDY Frame20 https://osv.dev/vulnerability/EEF-CVE-2026-4397021 decimal 1.9.0 VULNERABLE!22 EEF-CVE-2026-32686 (MEDIUM)23 aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v24 Unbounded exponent in decimal enables unauthenticated DoS25 https://osv.dev/vulnerability/EEF-CVE-2026-3268626 ecto 2.2.1227 elixir_make 0.10.028 interactive_cmd 0.1.429 mime 2.0.730 nerves 2.0.0-pre.231 nerves_discovery 0.1.532 nerves_logging 0.2.433 nerves_runtime 0.13.1334 nerves_system_bbb 2.30.235 nerves_system_br 1.34.436 nerves_system_mangopi_mq_pro 0.17.237 nerves_system_qemu_aarch64 0.4.238 nerves_system_rpi0 2.1.239 nerves_system_rpi4 2.1.240 nerves_system_rpi5 2.1.241 nerves_system_trellis 0.5.042 nerves_system_x86_64 1.34.243 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.144 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.145 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.146 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.147 nerves_toolchain_x86_64_nerves_linux_musl 15.3.148 nerves_uevent 0.1.749 openmaize 2.9.050 openmaize_jwt 1.0.0 RETIRED!51 (deprecated)52 plug 1.20.353 plug_crypto 2.2.054 poison 2.2.055 poolboy 1.5.256 property_table 0.3.457 ranch 1.3.258 ring_logger 0.11.759 tablet 0.3.360 telemetry 1.4.261 toolshed 0.5.062 uboot_env 1.0.263Found retired packages, see above for details64Found packages with security advisories, see above for details65All dependencies have been fetched66 warning: String.strip/1 is deprecated. Use String.trim/1 instead67 │68 4 │ @version File.read!("VERSION") |> String.strip69 │ ~70 │71 └─ /work/proj/deps/poison/mix.exs:4:44: Poison.Mixfile (module)7273==> poison74Compiling 4 files (.ex)75 warning: using single-quoted strings to represent charlists is deprecated.76 Use ~c"" if you indeed want a charlist or use "" instead.77 You may run "mix format --migrate" to change all single-quoted78 strings to use the ~c sigil and fix this warning.79 │80 89 │ for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do81 │ ~82 │83 └─ lib/poison/encoder.ex:89:318485 warning: using single-quoted strings to represent charlists is deprecated.86 Use ~c"" if you indeed want a charlist or use "" instead.87 You may run "mix format --migrate" to change all single-quoted88 strings to use the ~c sigil and fix this warning.89 │90 89 │ for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do91 │ ~92 │93 └─ lib/poison/encoder.ex:89:489495 warning: using single-quoted strings to represent charlists is deprecated.96 Use ~c"" if you indeed want a charlist or use "" instead.97 You may run "mix format --migrate" to change all single-quoted98 strings to use the ~c sigil and fix this warning.99 │100 127 │ defp chunk_size(<<char>> <> _, _mode, acc) when char <= 0x1F or char in '"\\' do101 │ ~102 │103 └─ lib/poison/encoder.ex:127:75104105 warning: using single-quoted strings to represent charlists is deprecated.106 Use ~c"" if you indeed want a charlist or use "" instead.107 You may run "mix format --migrate" to change all single-quoted108 strings to use the ~c sigil and fix this warning.109 │110 67 │ defp value(<<char, _ :: binary>> = string, _keys) when char in '-0123456789' do111 │ ~112 │113 └─ lib/poison/parser.ex:67:66114115 warning: using single-quoted strings to represent charlists is deprecated.116 Use ~c"" if you indeed want a charlist or use "" instead.117 You may run "mix format --migrate" to change all single-quoted118 strings to use the ~c sigil and fix this warning.119 │120 134 │ defp number_int(<<char, _ :: binary>> = string, acc) when char in '123456789' do121 │ ~122 │123 └─ lib/poison/parser.ex:134:69124125 warning: using single-quoted strings to represent charlists is deprecated.126 Use ~c"" if you indeed want a charlist or use "" instead.127 You may run "mix format --migrate" to change all single-quoted128 strings to use the ~c sigil and fix this warning.129 │130 150 │ defp number_exp(<<e>> <> rest, frac, acc) when e in 'eE' do131 │ ~132 │133 └─ lib/poison/parser.ex:150:55134135 warning: using single-quoted strings to represent charlists is deprecated.136 Use ~c"" if you indeed want a charlist or use "" instead.137 You may run "mix format --migrate" to change all single-quoted138 strings to use the ~c sigil and fix this warning.139 │140 176 │ defp number_digits(<<char>> <> rest = string) when char in '0123456789' do141 │ ~142 │143 └─ lib/poison/parser.ex:176:62144145 warning: using single-quoted strings to represent charlists is deprecated.146 Use ~c"" if you indeed want a charlist or use "" instead.147 You may run "mix format --migrate" to change all single-quoted148 strings to use the ~c sigil and fix this warning.149 │150 184 │ defp number_digits_count(<<char>> <> rest, acc) when char in '0123456789' do151 │ ~152 │153 └─ lib/poison/parser.ex:184:64154155 warning: using single-quoted strings to represent charlists is deprecated.156 Use ~c"" if you indeed want a charlist or use "" instead.157 You may run "mix format --migrate" to change all single-quoted158 strings to use the ~c sigil and fix this warning.159 │160 208 │ for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do161 │ ~162 │163 └─ lib/poison/parser.ex:208:31164165 warning: using single-quoted strings to represent charlists is deprecated.166 Use ~c"" if you indeed want a charlist or use "" instead.167 You may run "mix format --migrate" to change all single-quoted168 strings to use the ~c sigil and fix this warning.169 │170 208 │ for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do171 │ ~172 │173 └─ lib/poison/parser.ex:208:44174175 warning: using single-quoted strings to represent charlists is deprecated.176 Use ~c"" if you indeed want a charlist or use "" instead.177 You may run "mix format --migrate" to change all single-quoted178 strings to use the ~c sigil and fix this warning.179 │180 218 │ when a1 in 'dD' and a2 in 'dD'181 │ ~182 │183 └─ lib/poison/parser.ex:218:16184185 warning: using single-quoted strings to represent charlists is deprecated.186 Use ~c"" if you indeed want a charlist or use "" instead.187 You may run "mix format --migrate" to change all single-quoted188 strings to use the ~c sigil and fix this warning.189 │190 218 │ when a1 in 'dD' and a2 in 'dD'191 │ ~192 │193 └─ lib/poison/parser.ex:218:31194195 warning: using single-quoted strings to represent charlists is deprecated.196 Use ~c"" if you indeed want a charlist or use "" instead.197 You may run "mix format --migrate" to change all single-quoted198 strings to use the ~c sigil and fix this warning.199 │200 219 │ and (b1 in '89abAB')201 │ ~202 │203 └─ lib/poison/parser.ex:219:16204205 warning: using single-quoted strings to represent charlists is deprecated.206 Use ~c"" if you indeed want a charlist or use "" instead.207 You may run "mix format --migrate" to change all single-quoted208 strings to use the ~c sigil and fix this warning.209 │210 253 │ defp skip_whitespace(<<char>> <> rest) when char in '\s\n\t\r' do211 │ ~212 │213 └─ lib/poison/parser.ex:253:55214215 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead216 │217 22 │ if Application.get_env(:poison, :native) do218 │ ~219 │220 └─ lib/poison/parser.ex:22:18: Poison.Parser (module)221222 warning: use Bitwise is deprecated. import Bitwise instead223 │224 26 │ use Bitwise225 │ ~~~~~~~~~~~226 │227 └─ lib/poison/parser.ex:26: Poison.Parser (module)228229 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 operator230 │231 178 │ <<digits :: binary-size(count), rest :: binary>> = string232 │ ~233 │234 └─ lib/poison/parser.ex:178:29: Poison.Parser.number_digits/1235236 warning: the variable "n" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator237 │238 204 │ <<chunk :: binary-size(n), rest :: binary>> = string239 │ ~240 │241 └─ lib/poison/parser.ex:204:28: Poison.Parser.string_continue/2242243 warning: use Bitwise is deprecated. import Bitwise instead244 │245 79 │ use Bitwise246 │ ~~~~~~~~~~~247 │248 └─ lib/poison/encoder.ex:79: Poison.Encoder.BitString (module)249250 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 operator251 │252 123 │ <<chunk :: binary-size(size), rest :: binary>> = string253 │ ~254 │255 └─ lib/poison/encoder.ex:123:28: Poison.Encoder.BitString.escape/2256257 warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead258 │259 161 │ case Integer.to_char_list(char, 16) do260 │ ~261 │262 └─ lib/poison/encoder.ex:161:18: Poison.Encoder.BitString.seq/1263264 warning: HashDict.size/1 is deprecated. Use maps and the Map module instead265 │266 283 │ if HashDict.size(dict) < 1 do267 │ ~268 │269 └─ lib/poison/encoder.ex:283:17: Poison.Encoder.HashDict.encode/2270271Generated poison app272warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"273 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2274 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1275 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5276 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2277 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4278 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2279280==> ecto281Compiling 70 files (.ex)282 warning: using single-quoted strings to represent charlists is deprecated.283 Use ~c"" if you indeed want a charlist or use "" instead.284 You may run "mix format --migrate" to change all single-quoted285 strings to use the ~c sigil and fix this warning.286 │287 166 │ defp insert_all_value(_), do: '?'288 │ ~289 │290 └─ lib/ecto/adapters/mysql/connection.ex:166:37291292 warning: using single-quoted strings to represent charlists is deprecated.293 Use ~c"" if you indeed want a charlist or use "" instead.294 You may run "mix format --migrate" to change all single-quoted295 strings to use the ~c sigil and fix this warning.296 │297 354 │ '?'298 │ ~299 │300 └─ lib/ecto/adapters/mysql/connection.ex:354:7301302 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.303304 This error happens when you have function calls without parentheses inside keywords. For example:305306 function(arg, one: nested_call a, b, c)307 function(arg, one: if expr, do: :this, else: :that)308309 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:310311 function(arg, one: if(expr, do: :this, else: :that))312 function(arg, one: nested_call(a, b, c))313314 Ambiguity found at:315 │316 2286 │ raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"317 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~318 │319 └─ lib/ecto/changeset.ex:2286320321 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.322323 This error happens when you have function calls without parentheses inside keywords. For example:324325 function(arg, one: nested_call a, b, c)326 function(arg, one: if expr, do: :this, else: :that)327328 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:329330 function(arg, one: if(expr, do: :this, else: :that))331 function(arg, one: nested_call(a, b, c))332333 Ambiguity found at:334 │335 265 │ do: raise ArgumentError, "a constraint must have either a check or exclude option"336 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~337 │338 └─ lib/ecto/migration/runner.ex:265339340 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.341342 This error happens when you have function calls without parentheses inside keywords. For example:343344 function(arg, one: nested_call a, b, c)345 function(arg, one: if expr, do: :this, else: :that)346347 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:348349 function(arg, one: if(expr, do: :this, else: :that))350 function(arg, one: nested_call(a, b, c))351352 Ambiguity found at:353 │354 267 │ do: raise ArgumentError, "a constraint must not have both check and exclude options"355 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~356 │357 └─ lib/ecto/migration/runner.ex:267358359 warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity360 │361 136 │ {:::, _, [left, _]} -> is_integer(left) or is_binary(left)362 │ ~363 │364 └─ lib/ecto/query/builder.ex:136:8365366 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)367 │368 643 │ def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime369 │ ~~370 │371 └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/2372373 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)374 │375 644 │ def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date376 │ ~~377 │378 └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/2379380 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.381382 This error happens when you have function calls without parentheses inside keywords. For example:383384 function(arg, one: nested_call a, b, c)385 function(arg, one: if expr, do: :this, else: :that)386387 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:388389 function(arg, one: if(expr, do: :this, else: :that))390 function(arg, one: nested_call(a, b, c))391392 Ambiguity found at:393 │394 454 │ do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"395 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~396 │397 └─ lib/ecto/repo/schema.ex:454398399 warning: unused require Ecto.Query400 │401 6 │ require Ecto.Query402 │ ~403 │404 └─ lib/ecto/repo/preloader.ex:6:3405406Compiling lib/ecto.ex (it's taking more than 10s)407 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead408 │409 9 │ schema "schema_migrations" do410 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~411 │412 └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)413414 warning: incompatible types given to Mix.Ecto.ensure_started/2:415416 Mix.Ecto.ensure_started(repo, opts)417418 given types:419420 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))421422 but expected one of:423424 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())425426 where "opts" was given the type:427428 # type: dynamic(429 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or430 non_struct_map()431 )432 # from: lib/mix/tasks/ecto.rollback.ex:64:10433 opts =434 if opts[:quiet] do435 Keyword.merge(opts, log: false, log_sql: false)436 else437 opts438 end439440 where "repo" was given the type:441442 # type: dynamic(atom())443 # from: lib/mix/tasks/ecto.rollback.ex:70:7444 Mix.Ecto.ensure_repo(repo, args)445446 type warning found at:447 │448 72 │ {:ok, pid, apps} = ensure_started(repo, opts)449 │ ~450 │451 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2452453 warning: incompatible types given to Mix.Ecto.ensure_started/2:454455 Mix.Ecto.ensure_started(repo, opts)456457 given types:458459 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))460461 but expected one of:462463 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())464465 where "opts" was given the type:466467 # type: dynamic(468 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or469 non_struct_map()470 )471 # from: lib/mix/tasks/ecto.migrate.ex:68:10472 opts =473 if opts[:quiet] do474 Keyword.merge(opts, log: false, log_sql: false)475 else476 opts477 end478479 where "repo" was given the type:480481 # type: dynamic(atom())482 # from: lib/mix/tasks/ecto.migrate.ex:74:7483 Mix.Ecto.ensure_repo(repo, args)484485 type warning found at:486 │487 76 │ {:ok, pid, apps} = ensure_started(repo, opts)488 │ ~489 │490 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2491492 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)493 │494 258 │ err in DBConnection.OwnershipError ->495 │ ~496 │497 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6498499 warning: incompatible types given to Mix.Ecto.ensure_started/2:500501 Mix.Ecto.ensure_started(repo, all: true)502503 given types:504505 -dynamic(atom())-, non_empty_list({:all, true})506507 but expected one of:508509 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())510511 where "repo" was given the type:512513 # type: dynamic(atom())514 # from: lib/mix/tasks/ecto.migrations.ex:37:7515 Mix.Ecto.ensure_repo(repo, args)516517 type warning found at:518 │519 39 │ {:ok, pid, _} = ensure_started(repo, all: true)520 │ ~521 │522 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3523524 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead525 │526 260 │ reraise %{err | message: message}, System.stacktrace527 │ ~528 │529 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6530531 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:532533 Mix.Ecto.source_repo_priv(repo)534535 given types:536537 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-538539 but expected one of:540541 atom()542543 where "repo" was given the types:544545 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})546 # from: lib/mix/tasks/ecto.load.ex:70:22547 Keyword.merge(repo.config, opts)548549 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})550 # from: lib/mix/tasks/ecto.load.ex:72:27551 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)552553 type warning found at:554 │555 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do556 │ ~557 │558 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2559560 warning: expected a map or struct when accessing .__adapter__ in expression:561562 repo.__adapter__563564 where "repo" was given the type:565566 # type: dynamic(atom())567 # from: lib/mix/tasks/ecto.load.ex:53:7568 Mix.Ecto.ensure_repo(repo, args)569570 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()571572 type warning found at:573 │574 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,575 │ ~576 │577 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1578579 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead580 │581 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn582 │ ~583 │584 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2585586 warning: expected a map or struct when accessing .__adapter__ in expression:587588 repo.__adapter__589590 where "repo" was given the type:591592 # type: dynamic(atom())593 # from: lib/mix/tasks/ecto.dump.ex:50:7594 Mix.Ecto.ensure_repo(repo, args)595596 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()597598 type warning found at:599 │600 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,601 │ ~602 │603 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1604605 warning: expected a map or struct when accessing .__adapter__ in expression:606607 repo.__adapter__608609 where "repo" was given the type:610611 # type: dynamic(atom())612 # from: lib/mix/tasks/ecto.drop.ex:39:7613 Mix.Ecto.ensure_repo(repo, args)614615 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()616617 type warning found at:618 │619 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,620 │ ~621 │622 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1623624 warning: the following clause will never match:625626 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->627628 because it attempts to match on the result of:629630 System.stacktrace()631632 which has type:633634 empty_list()635636 where "args_or_arity" was given the type:637638 # type: float() or integer() or non_empty_list(term())639 # from: lib/ecto/changeset.ex640 (_() when args_or_arity == 2) when length(args_or_arity) == 2641642 where "module" was given the type:643644 # type: dynamic()645 # from: lib/ecto/changeset.ex:733:30646 module647648 type warning found at:649 │650 741 │ ... when length(args_or_arity) == 2 ->651 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~652 │653 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2654655 warning: expected a map or struct when accessing .__adapter__ in expression:656657 repo.__adapter__658659 where "repo" was given the type:660661 # type: dynamic(atom())662 # from: lib/mix/tasks/ecto.create.ex:37:7663 Mix.Ecto.ensure_repo(repo, args)664665 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()666667 type warning found at:668 │669 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,670 │ ~671 │672 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1673674 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead675 │676 739 │ case System.stacktrace do677 │ ~678 │679 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2680681 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead682 │683 62 │ Mix.Project.compile(args)684 │ ~685 │686 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/2687688 warning: expected a module (an atom) when invoking start_link/1 in expression:689690 repo.start_link(pool_size: pool_size)691692 where "pool_size" was given the type:693694 # type: dynamic()695 # from: lib/mix/ecto.ex:101:15696 pool_size = Keyword.get(opts, :pool_size, 1)697698 where "repo" was given the type:699700 # type: dynamic(%{..., __adapter__: atom()})701 # from: lib/mix/ecto.ex:99:36702 repo.__adapter__.ensure_all_started(repo, :temporary)703704 type warning found at:705 │706 102 │ case repo.start_link(pool_size: pool_size) do707 │ ~708 │709 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/2710711 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency712 │713 146 │ Logger.remove_backend(:console)714 │ ~715 │716 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/2717718 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency719 │720 155 │ Logger.add_backend(:console, flush: true)721 │ ~722 │723 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/2724725 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)726 │727 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->728 │ ~729 │730 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/2731 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/2732733 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)734 │735 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->736 │ ~737 │738 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/2739740 warning: incompatible types given to get_source/1:741742 get_source(repo)743744 given types:745746 -dynamic(atom())-747748 but expected one of:749750 %{..., config: empty_list() or non_empty_list(term(), term())}751752 where "repo" was given the type:753754 # type: dynamic(atom())755 # from: lib/ecto/migration/schema_migration.ex:24:13756 repo.all(757 Map.put(758 (759 query =760 (761 query = {get_source(repo), Ecto.Migration.SchemaMigration}762 Ecto.Query.Builder.From.apply(query, 1)763 )764 765 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{766 ...,767 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},768 file: "/work/proj/deps/ecto/lib/ecto/migration/schema_migration.ex",769 line: 22,770 take: %{}771 })772 ),773 :prefix,774 prefix775 ), timeout: :infinity, log: false)776777 type warning found at:778 │779 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)780 │ ~781 │782 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/2783784 warning: incompatible types given to get_source/1:785786 get_source(repo)787788 given types:789790 -dynamic(atom())-791792 but expected one of:793794 %{..., config: empty_list() or non_empty_list(term(), term())}795796 where "repo" was given the type:797798 # type: dynamic(atom())799 # from: lib/ecto/migration/schema_migration.ex:30:13800 repo.insert!(801 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},802 prefix: prefix,803 source: get_source(repo)804 ), timeout: :infinity, log: false)805806 type warning found at:807 │808 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))809 │ ~810 │811 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/3812813 warning: the following conditional expression:814815 is_atom(related)816817 will always evaluate to:818819 dynamic(true)820821 where "related" was given the type:822823 # type: dynamic(atom())824 # from: lib/ecto/association.ex:730:15825 related = Ecto.Association.related_from_query(queryable)826827 type warning found at:828 │829 732 │ unless is_atom(related) do830 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~831 │832 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/3833834 warning: incompatible types given to get_source/1:835836 get_source(repo)837838 given types:839840 -dynamic(atom())-841842 but expected one of:843844 %{..., config: empty_list() or non_empty_list(term(), term())}845846 where "repo" was given the type:847848 # type: dynamic(atom())849 # from: lib/ecto/migration/schema_migration.ex:36:13850 repo.delete_all(851 Map.put(852 (853 query =854 (855 query = {get_source(repo), Ecto.Migration.SchemaMigration}856 Ecto.Query.Builder.From.apply(query, 1)857 )858 859 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{860 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},861 op: :and,862 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],863 file: "/work/proj/deps/ecto/lib/ecto/migration/schema_migration.ex",864 line: 34865 })866 ),867 :prefix,868 prefix869 ), timeout: :infinity, log: false)870871 type warning found at:872 │873 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)874 │ ~875 │876 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/3877878 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)879 │880 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->881 │ ~882 │883 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/2884885 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)886 │887 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime888 │ ~889 │890 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/1891892 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)893 │894 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do895 │ ~896 │897 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/3898899 warning: the following clause will never match:900901 {:error, _} = error ->902903 because it attempts to match on the result of:904905 apply(changeset, adapter, :insert, args)906907 which has type:908909 dynamic({:invalid or :ok, term()})910911 type warning found at:912 │913 219 │ {:error, _} = error ->914 │ ~915 │916 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/4917918 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead919 │920 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)921 │ ~922 │923 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/2924925 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead926 │927 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))928 │ ~929 │930 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/3931932 warning: the following clause will never match:933934 {:error, _} = error ->935936 because it attempts to match on the result of:937938 apply(changeset, adapter, action, args)939940 which has type:941942 dynamic({:invalid or :ok, term()})943944 type warning found at:945 │946 297 │ {:error, _} = error ->947 │ ~948 │949 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/4950951 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead952 │953 54 │ filter_and_reraise e, System.stacktrace954 │ ~955 │956 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/5957958 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead959 │960 44 │ index = Map.size(params)961 │ ~962 │963 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/5964 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/5965966 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead967 │968 614 │ Decimal.minus(decimal)969 │ ~970 │971 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/1972973 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)974 │975 228 │ raise BadStructError, struct: struct, term: data976 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~977 │978 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/5979980 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead981 │982 214 │ filter_and_reraise e, System.stacktrace983 │ ~984 │985 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/4986 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/4987988 warning: the following clause will never match:989990 {:error, _} ->991992 because it attempts to match on the result of:993994 NaiveDateTime.new(date, time)995996 which has type:997998 dynamic({:ok, %NaiveDateTime{}})9991000 type warning found at:1001 │1002 803 │ {:error, _} -> :error1003 │ ~~~~~~~~~~~~~~~~~~~~~1004 │1005 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/110061007 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1008 │1009 159 │ supervise(children, strategy: :one_for_one)1010 │ ~1011 │1012 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/110131014 warning: expected a map or struct when accessing .__struct__ in expression:10151016 schema.__struct__10171018 where "schema" was given the types:10191020 # type: dynamic(atom() and not nil)1021 # from: lib/ecto/query/planner.ex:1186:411022 schema10231024 # type: atom()1025 # from: lib/ecto/query/planner.ex:1186:611026 is_atom(schema)10271028 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()10291030 type warning found at:1031 │1032 1190 │ Map.has_key?(schema.__struct__, field) ->1033 │ ~1034 │1035 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/610361037 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1038 │1039 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1040 │ ~1041 │1042 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/210431044 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1045 │1046 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1047 │ ~1048 │1049 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/110501051 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1052 │1053 15 │ supervise(children, strategy: :simple_one_for_one)1054 │ ~1055 │1056 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/110571058 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:10591060 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])10611062 given types:10631064 (1065 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1066 dynamic()1067 )10681069 but expected one of:10701071 atom(), term()10721073 where "opts" was given the type:10741075 # type: dynamic(1076 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1077 non_struct_map()1078 )1079 # from: lib/ecto/migrator.ex:44:651080 opts[:prefix]10811082 where "repo" was given the type:10831084 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1085 # from: lib/ecto/migrator.ex:44:231086 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])10871088 type warning found at:1089 │1090 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1091 │ ~1092 │1093 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/210941095 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1096 │1097 10 │ worker(Ecto.Registry, []),1098 │ ~1099 │1100 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/211011102 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1103 │1104 11 │ supervisor(Ecto.Migration.Supervisor, [])1105 │ ~1106 │1107 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/211081109 warning: expected a module (an atom) when invoking transaction/2 in expression:11101111 repo.transaction(fun, log: false, timeout: :infinity)11121113 where "fun" was given the type:11141115 # type: dynamic()1116 # from: lib/ecto/migrator.ex:114:471117 fun11181119 where "repo" was given the types:11201121 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1122 # from: lib/ecto/migrator.ex:118:241123 repo.__adapter__.supports_ddl_transaction?11241125 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1126 # from: lib/ecto/migrator.ex:118:241127 repo.__adapter__.supports_ddl_transaction?11281129 type warning found at:1130 │1131 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1132 │ ~1133 │1134 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/311351136 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1137 │1138 291 │ modules = Code.load_file(file)1139 │ ~1140 │1141 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/211421143 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1144 │1145 321 │ reraise error, System.stacktrace1146 │ ~1147 │1148 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/311491150Generated ecto app1151==> openmaize1152Compiling 13 files (.ex)1153 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11541155 This error happens when you have function calls without parentheses inside keywords. For example:11561157 function(arg, one: nested_call a, b, c)1158 function(arg, one: if expr, do: :this, else: :that)11591160 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:11611162 function(arg, one: if(expr, do: :this, else: :that))1163 function(arg, one: nested_call(a, b, c))11641165 Ambiguity found at:1166 │1167 85 │ def check_user_pass(_, _, _), do: raise ArgumentError, "invalid params or options"1168 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1169 │1170 └─ lib/openmaize/login.ex:85117111721173== Compilation error in file lib/openmaize/database.ex ==1174** (UndefinedFunctionError) function Ecto.Query.Builder.Lock.build/3 is undefined (module Ecto.Query.Builder.Lock is not available)1175 (ecto 2.2.12) Ecto.Query.Builder.Lock.build({{:., [line: 90], [{:__aliases__, [line: 90, counter: {Openmaize.Database, 31}, alias: false], [:Ecto, :Query]}, :where]}, [line: 90], [{:__block__, [line: 90], [{:=, [line: 90], [{:query, [line: 90], Ecto.Query.Builder}, {:user_model, [line: 90, column: 15], nil}]}, {{:., [line: 90], [Ecto.Query.Builder.From, :apply]}, [line: 90], [{:query, [line: 90], Ecto.Query.Builder}, 1]}]}, [u: 0], {:==, [line: 90, column: 39], [{{:., [line: 90, column: 35], [{:u, [line: 90, column: 34], nil}, :id]}, [no_parens: true, line: 90, column: 36], []}, {:^, [line: 90, column: 42], [{:id, [line: 90, column: 43], nil}]}]}]}, "FOR UPDATE", #Macro.Env<aliases: [{Config, Openmaize.Config}, {Password, Openmaize.Password}], context: nil, context_modules: [Openmaize.Database], file: "/work/proj/deps/openmaize/lib/openmaize/database.ex", function: {:get_user_with_lock, 3}, functions: [{Ecto.Query, [exclude: 2, first: 1, first: 2, last: 1, last: 2, subquery: 1, subquery: 2]}, {Ecto.Changeset, [add_error: 3, add_error: 4, apply_action: 2, apply_changes: 1, assoc_constraint: 2, assoc_constraint: 3, cast: 3, cast: 4, cast_assoc: 2, cast_assoc: 3, cast_embed: 2, cast_embed: 3, change: 1, change: 2, check_constraint: 2, check_constraint: 3, delete_change: 2, exclusion_constraint: 2, exclusion_constraint: 3, fetch_change: 2, fetch_field: 2, force_change: 3, foreign_key_constraint: 2, foreign_key_constraint: 3, get_change: 2, get_change: 3, get_field: 2, get_field: 3, merge: 2, no_assoc_constraint: 2, no_assoc_constraint: 3, optimistic_lock: 2, optimistic_lock: 3, prepare_changes: 2, put_assoc: 3, put_assoc: 4, put_change: 3, put_embed: 3, put_embed: 4, traverse_errors: 2, unique_constraint: 2, unique_constraint: 3, unsafe_validate_unique: 3, unsafe_validate_unique: 4, update_change: 3, validate_acceptance: 2, validate_acceptance: 3, validate_change: 3, validate_change: 4, validate_confirmation: 2, validate_confirmation: 3, validate_exclusion: 3, validate_exclusion: 4, validate_format: 3, validate_format: 4, validate_inclusion: 3, validate_inclusion: 4, validate_length: 3, validate_number: 3, validate_required: 2, validate_required: 3, validate_subset: 3, validate_subset: 4]}, {Kernel, [!=: 2, !==: 2, *: 2, **: 2, +: 1, +: 2, ++: 2, -: 1, -: 2, --: 2, /: 2, <: 2, <=: 2, ==: 2, ===: 2, =~: 2, >: 2, >=: 2, abs: 1, apply: 2, apply: 3, binary_part: 3, binary_slice: 2, binary_slice: 3, bit_size: 1, byte_size: 1, ceil: 1, div: 2, elem: 2, exit: 1, floor: 1, function_exported?: 3, get_and_update_in: 3, get_in: 2, hd: 1, inspect: 1, inspect: 2, is_atom: 1, is_binary: 1, is_bitstring: 1, is_boolean: 1, is_float: 1, is_function: 1, is_function: 2, is_integer: 1, is_list: 1, is_map: 1, is_map_key: 2, is_number: 1, is_pid: 1, is_port: 1, is_reference: 1, is_tuple: 1, length: 1, macro_exported?: 3, make_ref: 0, map_size: 1, max: 2, min: 2, node: 0, node: 1, not: 1, pop_in: 2, put_elem: 3, put_in: 3, rem: 2, round: 1, self: 0, send: 2, spawn: 1, spawn: 3, spawn_link: 1, spawn_link: 3, spawn_monitor: 1, spawn_monitor: 3, struct: 1, struct: 2, struct!: 1, struct!: 2, throw: 1, tl: 1, to_timeout: 1, trunc: 1, tuple_size: 1, update_in: 3]}], lexical_tracker: #PID<0.1168.0>, line: 90, macro_aliases: [], macros: [{Ecto.Query, [distinct: 2, distinct: 3, dynamic: 1, dynamic: 2, from: 1, from: 2, group_by: 2, group_by: 3, having: 2, having: 3, join: 3, join: 4, join: 5, limit: 2, ...]}, ...], ...>)1176 (ecto 2.2.12) expanding macro: Ecto.Query.lock/21177 lib/openmaize/database.ex:90: Openmaize.Database.get_user_with_lock/31178 (ecto 2.2.12) expanding macro: Ecto.Query.from/21179 lib/openmaize/database.ex:90: Openmaize.Database.get_user_with_lock/31180 (elixir 1.20.3) expanding macro: Kernel.|>/21181 lib/openmaize/database.ex:91: Openmaize.Database.get_user_with_lock/31182could not compile dependency :openmaize, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile openmaize --force", update it with "mix deps.update openmaize" or clean it with "mix deps.clean openmaize"