openmaize_jwt

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"