Build log
nerves_system_qemu_aarch64
openmaize_jwt 1.0.0 · fail · run openmaize_jwt-1.0.0-1791028971953
1722 of 1722 lines
1Resolving Hex dependencies...2Resolution completed in 0.16s3Unchanged: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.263* Getting openmaize_jwt (Hex package)64* Getting nerves (Hex package)65* Getting ring_logger (Hex package)66* Getting toolshed (Hex package)67* Getting nerves_runtime (Hex package)68* Getting nerves_system_bbb (Hex package)69* Getting nerves_system_mangopi_mq_pro (Hex package)70* Getting nerves_system_qemu_aarch64 (Hex package)71* Getting nerves_system_rpi0 (Hex package)72* Getting nerves_system_rpi4 (Hex package)73* Getting nerves_system_rpi5 (Hex package)74* Getting nerves_system_trellis (Hex package)75* Getting nerves_system_x86_64 (Hex package)76* Getting nerves_system_br (Hex package)77* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)78* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)79* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)80* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)81* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)82* Getting nerves_logging (Hex package)83* Getting nerves_uevent (Hex package)84* Getting uboot_env (Hex package)85* Getting elixir_make (Hex package)86* Getting property_table (Hex package)87* Getting circular_buffer (Hex package)88* Getting interactive_cmd (Hex package)89* Getting nerves_discovery (Hex package)90* Getting tablet (Hex package)91* Getting cowboy (Hex package)92* Getting openmaize (Hex package)93* Getting plug (Hex package)94* Getting poison (Hex package)95* Getting mime (Hex package)96* Getting plug_crypto (Hex package)97* Getting telemetry (Hex package)98* Getting comeonin (Hex package)99* Getting ecto (Hex package)100* Getting decimal (Hex package)101* Getting poolboy (Hex package)102* Getting cowlib (Hex package)103* Getting ranch (Hex package)104Found retired packages, see above for details105Found packages with security advisories, see above for details106 warning: String.strip/1 is deprecated. Use String.trim/1 instead107 │108 4 │ @version File.read!("VERSION") |> String.strip109 │ ~110 │111 └─ /work/proj/deps_qemu_aarch64/poison/mix.exs:4:44: Poison.Mixfile (module)112113==> nerves_system_br114Generated nerves_system_br app115==> mime116Compiling 1 file (.ex)117Generated mime app118==> circular_buffer119Compiling 1 file (.ex)120Generated circular_buffer app121==> poison122Compiling 4 files (.ex)123 warning: using single-quoted strings to represent charlists is deprecated.124 Use ~c"" if you indeed want a charlist or use "" instead.125 You may run "mix format --migrate" to change all single-quoted126 strings to use the ~c sigil and fix this warning.127 │128 89 │ for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do129 │ ~130 │131 └─ lib/poison/encoder.ex:89:31132133 warning: using single-quoted strings to represent charlists is deprecated.134 Use ~c"" if you indeed want a charlist or use "" instead.135 You may run "mix format --migrate" to change all single-quoted136 strings to use the ~c sigil and fix this warning.137 │138 89 │ for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do139 │ ~140 │141 └─ lib/poison/encoder.ex:89:48142143 warning: using single-quoted strings to represent charlists is deprecated.144 Use ~c"" if you indeed want a charlist or use "" instead.145 You may run "mix format --migrate" to change all single-quoted146 strings to use the ~c sigil and fix this warning.147 │148 127 │ defp chunk_size(<<char>> <> _, _mode, acc) when char <= 0x1F or char in '"\\' do149 │ ~150 │151 └─ lib/poison/encoder.ex:127:75152153 warning: using single-quoted strings to represent charlists is deprecated.154 Use ~c"" if you indeed want a charlist or use "" instead.155 You may run "mix format --migrate" to change all single-quoted156 strings to use the ~c sigil and fix this warning.157 │158 67 │ defp value(<<char, _ :: binary>> = string, _keys) when char in '-0123456789' do159 │ ~160 │161 └─ lib/poison/parser.ex:67:66162163 warning: using single-quoted strings to represent charlists is deprecated.164 Use ~c"" if you indeed want a charlist or use "" instead.165 You may run "mix format --migrate" to change all single-quoted166 strings to use the ~c sigil and fix this warning.167 │168 134 │ defp number_int(<<char, _ :: binary>> = string, acc) when char in '123456789' do169 │ ~170 │171 └─ lib/poison/parser.ex:134:69172173 warning: using single-quoted strings to represent charlists is deprecated.174 Use ~c"" if you indeed want a charlist or use "" instead.175 You may run "mix format --migrate" to change all single-quoted176 strings to use the ~c sigil and fix this warning.177 │178 150 │ defp number_exp(<<e>> <> rest, frac, acc) when e in 'eE' do179 │ ~180 │181 └─ lib/poison/parser.ex:150:55182183 warning: using single-quoted strings to represent charlists is deprecated.184 Use ~c"" if you indeed want a charlist or use "" instead.185 You may run "mix format --migrate" to change all single-quoted186 strings to use the ~c sigil and fix this warning.187 │188 176 │ defp number_digits(<<char>> <> rest = string) when char in '0123456789' do189 │ ~190 │191 └─ lib/poison/parser.ex:176:62192193 warning: using single-quoted strings to represent charlists is deprecated.194 Use ~c"" if you indeed want a charlist or use "" instead.195 You may run "mix format --migrate" to change all single-quoted196 strings to use the ~c sigil and fix this warning.197 │198 184 │ defp number_digits_count(<<char>> <> rest, acc) when char in '0123456789' do199 │ ~200 │201 └─ lib/poison/parser.ex:184:64202203 warning: using single-quoted strings to represent charlists is deprecated.204 Use ~c"" if you indeed want a charlist or use "" instead.205 You may run "mix format --migrate" to change all single-quoted206 strings to use the ~c sigil and fix this warning.207 │208 208 │ for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do209 │ ~210 │211 └─ lib/poison/parser.ex:208:31212213 warning: using single-quoted strings to represent charlists is deprecated.214 Use ~c"" if you indeed want a charlist or use "" instead.215 You may run "mix format --migrate" to change all single-quoted216 strings to use the ~c sigil and fix this warning.217 │218 208 │ for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do219 │ ~220 │221 └─ lib/poison/parser.ex:208:44222223 warning: using single-quoted strings to represent charlists is deprecated.224 Use ~c"" if you indeed want a charlist or use "" instead.225 You may run "mix format --migrate" to change all single-quoted226 strings to use the ~c sigil and fix this warning.227 │228 218 │ when a1 in 'dD' and a2 in 'dD'229 │ ~230 │231 └─ lib/poison/parser.ex:218:16232233 warning: using single-quoted strings to represent charlists is deprecated.234 Use ~c"" if you indeed want a charlist or use "" instead.235 You may run "mix format --migrate" to change all single-quoted236 strings to use the ~c sigil and fix this warning.237 │238 218 │ when a1 in 'dD' and a2 in 'dD'239 │ ~240 │241 └─ lib/poison/parser.ex:218:31242243 warning: using single-quoted strings to represent charlists is deprecated.244 Use ~c"" if you indeed want a charlist or use "" instead.245 You may run "mix format --migrate" to change all single-quoted246 strings to use the ~c sigil and fix this warning.247 │248 219 │ and (b1 in '89abAB')249 │ ~250 │251 └─ lib/poison/parser.ex:219:16252253 warning: using single-quoted strings to represent charlists is deprecated.254 Use ~c"" if you indeed want a charlist or use "" instead.255 You may run "mix format --migrate" to change all single-quoted256 strings to use the ~c sigil and fix this warning.257 │258 253 │ defp skip_whitespace(<<char>> <> rest) when char in '\s\n\t\r' do259 │ ~260 │261 └─ lib/poison/parser.ex:253:55262263 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead264 │265 22 │ if Application.get_env(:poison, :native) do266 │ ~267 │268 └─ lib/poison/parser.ex:22:18: Poison.Parser (module)269270 warning: use Bitwise is deprecated. import Bitwise instead271 │272 26 │ use Bitwise273 │ ~~~~~~~~~~~274 │275 └─ lib/poison/parser.ex:26: Poison.Parser (module)276277 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 operator278 │279 178 │ <<digits :: binary-size(count), rest :: binary>> = string280 │ ~281 │282 └─ lib/poison/parser.ex:178:29: Poison.Parser.number_digits/1283284 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 operator285 │286 204 │ <<chunk :: binary-size(n), rest :: binary>> = string287 │ ~288 │289 └─ lib/poison/parser.ex:204:28: Poison.Parser.string_continue/2290291 warning: use Bitwise is deprecated. import Bitwise instead292 │293 79 │ use Bitwise294 │ ~~~~~~~~~~~295 │296 └─ lib/poison/encoder.ex:79: Poison.Encoder.BitString (module)297298 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 operator299 │300 123 │ <<chunk :: binary-size(size), rest :: binary>> = string301 │ ~302 │303 └─ lib/poison/encoder.ex:123:28: Poison.Encoder.BitString.escape/2304305 warning: HashDict.size/1 is deprecated. Use maps and the Map module instead306 │307 283 │ if HashDict.size(dict) < 1 do308 │ ~309 │310 └─ lib/poison/encoder.ex:283:17: Poison.Encoder.HashDict.encode/2311312 warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead313 │314 161 │ case Integer.to_char_list(char, 16) do315 │ ~316 │317 └─ lib/poison/encoder.ex:161:18: Poison.Encoder.BitString.seq/1318319Generated poison app320==> plug_crypto321Compiling 5 files (.ex)322Generated plug_crypto app323==> nerves_compatibility_test324===> Analyzing applications...325===> Compiling ranch326 ┌─ src/ranch.erl:327 │328 73 │ catch Transport:controlling_process(Socket, AcceptorsSup);329 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.330Compile directive 'nowarn_deprecated_catch' can be used to suppress331warnings in selected modules.332333334 ┌─ src/ranch_ssl.erl:335 │336 128 │ case ssl:ssl_accept(CSocket, Timeout) of337 │ ╰── Warning: ssl:ssl_accept/2 is removed; use ssl:handshake/1,2,3 instead338339 ┌─ src/ranch_ssl.erl:340 │341 233 │ end, ssl:cipher_suites());342 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead343344 ┌─ src/ranch_ssl.erl:345 │346 235 │ ssl:cipher_suites()347 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead348349350 ┌─ src/ranch_conns_sup.erl:351 │352 80 │ catch erlang:send(SupPid, {?MODULE, active_connections, self(), Tag},353 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.354Compile directive 'nowarn_deprecated_catch' can be used to suppress355warnings in selected modules.356357358==> tablet359Compiling 2 files (.ex)360Generated tablet app361==> elixir_make362Compiling 8 files (.ex)363Generated elixir_make app364==> nerves_logging365 CC kmsg_tailer.o366 LD kmsg_tailer367Compiling 5 files (.ex)368Generated nerves_logging app369==> comeonin370mkdir -p priv371/home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-15.3.1/bin/aarch64-nerves-linux-gnu-gcc -g -O3 -Wall -I/usr/local/lib/erlang/erts-17.1/include -Ic_src -fPIC -shared --sysroot=/home/nerves/.nerves/artifacts/nerves_system_qemu_aarch64-0.4.2/staging c_src/bcrypt_nif.c c_src/blowfish.c -o priv/bcrypt_nif.so372Compiling 8 files (.ex)373 warning: using single-quoted strings to represent charlists is deprecated.374 Use ~c"" if you indeed want a charlist or use "" instead.375 You may run "mix format --migrate" to change all single-quoted376 strings to use the ~c sigil and fix this warning.377 │378 57 │ path = :filename.join(:code.priv_dir(:comeonin), 'bcrypt_nif')379 │ ~380 │381 └─ lib/comeonin/bcrypt.ex:57:54382383 warning: using single-quoted strings to represent charlists is deprecated.384 Use ~c"" if you indeed want a charlist or use "" instead.385 You may run "mix format --migrate" to change all single-quoted386 strings to use the ~c sigil and fix this warning.387 │388 159 │ [prefix, log_rounds, salt] = Enum.take(salt, 29) |> :string.tokens('$')389 │ ~390 │391 └─ lib/comeonin/bcrypt.ex:159:72392393 warning: using single-quoted strings to represent charlists is deprecated.394 Use ~c"" if you indeed want a charlist or use "" instead.395 You may run "mix format --migrate" to change all single-quoted396 strings to use the ~c sigil and fix this warning.397 │398 164 │ defp bcrypt(key, salt, prefix, log_rounds) when prefix in ['2b', '2a'] do399 │ ~400 │401 └─ lib/comeonin/bcrypt.ex:164:62402403 warning: using single-quoted strings to represent charlists is deprecated.404 Use ~c"" if you indeed want a charlist or use "" instead.405 You may run "mix format --migrate" to change all single-quoted406 strings to use the ~c sigil and fix this warning.407 │408 164 │ defp bcrypt(key, salt, prefix, log_rounds) when prefix in ['2b', '2a'] do409 │ ~410 │411 └─ lib/comeonin/bcrypt.ex:164:68412413 warning: using single-quoted strings to represent charlists is deprecated.414 Use ~c"" if you indeed want a charlist or use "" instead.415 You may run "mix format --migrate" to change all single-quoted416 strings to use the ~c sigil and fix this warning.417 │418 165 │ key_len = if prefix == '2b' and length(key) > 72, do: 73, else: length(key) + 1419 │ ~420 │421 └─ lib/comeonin/bcrypt.ex:165:28422423 warning: use Bitwise is deprecated. import Bitwise instead424 │425 48 │ use Bitwise426 │ ~~~~~~~~~~~427 │428 └─ lib/comeonin/bcrypt.ex:48: Comeonin.Bcrypt (module)429430 warning: use Bitwise is deprecated. import Bitwise instead431 │432 9 │ use Bitwise433 │ ~~~~~~~~~~~434 │435 └─ lib/comeonin/bcrypt/base64.ex:9: Comeonin.Bcrypt.Base64 (module)436437 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.438439 This error happens when you have function calls without parentheses inside keywords. For example:440441 function(arg, one: nested_call a, b, c)442 function(arg, one: if expr, do: :this, else: :that)443444 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:445446 function(arg, one: if(expr, do: :this, else: :that))447 function(arg, one: nested_call(a, b, c))448449 Ambiguity found at:450 │451 49 │ def gen_secret(_), do: raise ArgumentError, "Invalid length"452 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~453 │454 └─ lib/comeonin/otp.ex:49455456 warning: use Bitwise is deprecated. import Bitwise instead457 │458 34 │ use Bitwise459 │ ~~~~~~~~~~~460 │461 └─ lib/comeonin/otp.ex:34: Comeonin.Otp (module)462463 warning: use Bitwise is deprecated. import Bitwise instead464 │465 31 │ use Bitwise466 │ ~~~~~~~~~~~467 │468 └─ lib/comeonin/pbkdf2.ex:31: Comeonin.Pbkdf2 (module)469470 warning: the variable "max_length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator471 │472 117 │ <<bin::binary-size(max_length), _::binary>> = key473 │ ~474 │475 └─ lib/comeonin/pbkdf2.ex:117:24: Comeonin.Pbkdf2.pbkdf2/7476477 warning: using single-quoted strings to represent charlists is deprecated.478 Use ~c"" if you indeed want a charlist or use "" instead.479 You may run "mix format --migrate" to change all single-quoted480 strings to use the ~c sigil and fix this warning.481 │482 11 │ b64_alphabet = Enum.with_index 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./'483 │ ~484 │485 └─ lib/comeonin/pbkdf2/base64.ex:11:34486487 warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead488 │489 19 │ secure_check(rest_h, rest_s, acc ||| (h ^^^ s))490 │ ~491 │492 └─ lib/comeonin/tools.ex:19:45493494 warning: use Bitwise is deprecated. import Bitwise instead495 │496 6 │ use Bitwise497 │ ~~~~~~~~~~~498 │499 └─ lib/comeonin/tools.ex:6: Comeonin.Tools (module)500501 warning: the variable "split" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator502 │503 29 │ <<main::size(split)-binary, rest::binary>> = data504 │ ~505 │506 └─ lib/comeonin/pbkdf2/base64.ex:29:18: Comeonin.Pbkdf2.Base64.encode/1507508 warning: the variable "split" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator509 │510 52 │ <<main::size(split)-binary, rest::binary>> = data511 │ ~512 │513 └─ lib/comeonin/pbkdf2/base64.ex:52:18: Comeonin.Pbkdf2.Base64.decode/1514515 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead516 │517 121 │ initial = :crypto.hmac(:sha512, password, <<salt::binary, block_index::integer-size(32)>>)518 │ ~519 │520 └─ lib/comeonin/pbkdf2.ex:121:23: Comeonin.Pbkdf2.pbkdf2/7521 └─ lib/comeonin/pbkdf2.ex:129:20: Comeonin.Pbkdf2.iterate/4522523 warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead524 │525 76 │ hash = :crypto.hmac(:sha, Base.decode32!(secret, padding: false),526 │ ~527 │528 └─ lib/comeonin/otp.ex:76:20: Comeonin.Otp.gen_hotp/3529530Generated comeonin app531==> nerves_compatibility_test532===> Analyzing applications...533===> Compiling cowlib534==> nerves_discovery535Compiling 5 files (.ex)536Generated nerves_discovery app537==> ring_logger538Compiling 7 files (.ex)539Generated ring_logger app540==> nerves_compatibility_test541===> Analyzing applications...542===> Compiling poolboy543==> decimal544Compiling 4 files (.ex)545 warning: using single-quoted strings to represent charlists is deprecated.546 Use ~c"" if you indeed want a charlist or use "" instead.547 You may run "mix format --migrate" to change all single-quoted548 strings to use the ~c sigil and fix this warning.549 │550 1320 │ '0.' ++ :lists.duplicate(-diff, ?0) ++ list551 │ ~552 │553 └─ lib/decimal.ex:1320:11554555 warning: using single-quoted strings to represent charlists is deprecated.556 Use ~c"" if you indeed want a charlist or use "" instead.557 You may run "mix format --migrate" to change all single-quoted558 strings to use the ~c sigil and fix this warning.559 │560 1351 │ list = list ++ 'E'561 │ ~562 │563 └─ lib/decimal.ex:1351:26564565 warning: using single-quoted strings to represent charlists is deprecated.566 Use ~c"" if you indeed want a charlist or use "" instead.567 You may run "mix format --migrate" to change all single-quoted568 strings to use the ~c sigil and fix this warning.569 │570 1352 │ list = if exp >= 0, do: list ++ '+', else: list571 │ ~572 │573 └─ lib/decimal.ex:1352:43574575 warning: using single-quoted strings to represent charlists is deprecated.576 Use ~c"" if you indeed want a charlist or use "" instead.577 You may run "mix format --migrate" to change all single-quoted578 strings to use the ~c sigil and fix this warning.579 │580 1775 │ int = if int == [], do: '0', else: int581 │ ~582 │583 └─ lib/decimal.ex:1775:31584585 warning: using single-quoted strings to represent charlists is deprecated.586 Use ~c"" if you indeed want a charlist or use "" instead.587 You may run "mix format --migrate" to change all single-quoted588 strings to use the ~c sigil and fix this warning.589 │590 1776 │ exp = if exp == [], do: '0', else: exp591 │ ~592 │593 └─ lib/decimal.ex:1776:31594595Generated decimal app596warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"597 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2598 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1599 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5600 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2601 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4602 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2603604==> ecto605Compiling 70 files (.ex)606 warning: using single-quoted strings to represent charlists is deprecated.607 Use ~c"" if you indeed want a charlist or use "" instead.608 You may run "mix format --migrate" to change all single-quoted609 strings to use the ~c sigil and fix this warning.610 │611 166 │ defp insert_all_value(_), do: '?'612 │ ~613 │614 └─ lib/ecto/adapters/mysql/connection.ex:166:37615616 warning: using single-quoted strings to represent charlists is deprecated.617 Use ~c"" if you indeed want a charlist or use "" instead.618 You may run "mix format --migrate" to change all single-quoted619 strings to use the ~c sigil and fix this warning.620 │621 354 │ '?'622 │ ~623 │624 └─ lib/ecto/adapters/mysql/connection.ex:354:7625626 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.627628 This error happens when you have function calls without parentheses inside keywords. For example:629630 function(arg, one: nested_call a, b, c)631 function(arg, one: if expr, do: :this, else: :that)632633 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:634635 function(arg, one: if(expr, do: :this, else: :that))636 function(arg, one: nested_call(a, b, c))637638 Ambiguity found at:639 │640 2286 │ raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"641 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~642 │643 └─ lib/ecto/changeset.ex:2286644645 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.646647 This error happens when you have function calls without parentheses inside keywords. For example:648649 function(arg, one: nested_call a, b, c)650 function(arg, one: if expr, do: :this, else: :that)651652 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:653654 function(arg, one: if(expr, do: :this, else: :that))655 function(arg, one: nested_call(a, b, c))656657 Ambiguity found at:658 │659 265 │ do: raise ArgumentError, "a constraint must have either a check or exclude option"660 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~661 │662 └─ lib/ecto/migration/runner.ex:265663664 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.665666 This error happens when you have function calls without parentheses inside keywords. For example:667668 function(arg, one: nested_call a, b, c)669 function(arg, one: if expr, do: :this, else: :that)670671 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:672673 function(arg, one: if(expr, do: :this, else: :that))674 function(arg, one: nested_call(a, b, c))675676 Ambiguity found at:677 │678 267 │ do: raise ArgumentError, "a constraint must not have both check and exclude options"679 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~680 │681 └─ lib/ecto/migration/runner.ex:267682683 warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity684 │685 136 │ {:::, _, [left, _]} -> is_integer(left) or is_binary(left)686 │ ~687 │688 └─ lib/ecto/query/builder.ex:136:8689690 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)691 │692 643 │ def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime693 │ ~~694 │695 └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/2696697 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)698 │699 644 │ def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date700 │ ~~701 │702 └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/2703704 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.705706 This error happens when you have function calls without parentheses inside keywords. For example:707708 function(arg, one: nested_call a, b, c)709 function(arg, one: if expr, do: :this, else: :that)710711 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:712713 function(arg, one: if(expr, do: :this, else: :that))714 function(arg, one: nested_call(a, b, c))715716 Ambiguity found at:717 │718 454 │ do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"719 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~720 │721 └─ lib/ecto/repo/schema.ex:454722723 warning: unused require Ecto.Query724 │725 6 │ require Ecto.Query726 │ ~727 │728 └─ lib/ecto/repo/preloader.ex:6:3729730 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead731 │732 9 │ schema "schema_migrations" do733 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~734 │735 └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)736737Compiling lib/ecto.ex (it's taking more than 10s)738 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)739 │740 258 │ err in DBConnection.OwnershipError ->741 │ ~742 │743 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6744745 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead746 │747 260 │ reraise %{err | message: message}, System.stacktrace748 │ ~749 │750 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6751752 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead753 │754 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn755 │ ~756 │757 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2758759 warning: incompatible types given to Mix.Ecto.ensure_started/2:760761 Mix.Ecto.ensure_started(repo, opts)762763 given types:764765 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))766767 but expected one of:768769 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())770771 where "opts" was given the type:772773 # type: dynamic(774 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or775 non_struct_map()776 )777 # from: lib/mix/tasks/ecto.rollback.ex:64:10778 opts =779 if opts[:quiet] do780 Keyword.merge(opts, log: false, log_sql: false)781 else782 opts783 end784785 where "repo" was given the type:786787 # type: dynamic(atom())788 # from: lib/mix/tasks/ecto.rollback.ex:70:7789 Mix.Ecto.ensure_repo(repo, args)790791 type warning found at:792 │793 72 │ {:ok, pid, apps} = ensure_started(repo, opts)794 │ ~795 │796 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2797798 warning: incompatible types given to Mix.Ecto.ensure_started/2:799800 Mix.Ecto.ensure_started(repo, all: true)801802 given types:803804 -dynamic(atom())-, non_empty_list({:all, true})805806 but expected one of:807808 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())809810 where "repo" was given the type:811812 # type: dynamic(atom())813 # from: lib/mix/tasks/ecto.migrations.ex:37:7814 Mix.Ecto.ensure_repo(repo, args)815816 type warning found at:817 │818 39 │ {:ok, pid, _} = ensure_started(repo, all: true)819 │ ~820 │821 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3822823 warning: incompatible types given to Mix.Ecto.ensure_started/2:824825 Mix.Ecto.ensure_started(repo, opts)826827 given types:828829 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))830831 but expected one of:832833 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())834835 where "opts" was given the type:836837 # type: dynamic(838 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or839 non_struct_map()840 )841 # from: lib/mix/tasks/ecto.migrate.ex:68:10842 opts =843 if opts[:quiet] do844 Keyword.merge(opts, log: false, log_sql: false)845 else846 opts847 end848849 where "repo" was given the type:850851 # type: dynamic(atom())852 # from: lib/mix/tasks/ecto.migrate.ex:74:7853 Mix.Ecto.ensure_repo(repo, args)854855 type warning found at:856 │857 76 │ {:ok, pid, apps} = ensure_started(repo, opts)858 │ ~859 │860 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2861862 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:863864 Mix.Ecto.source_repo_priv(repo)865866 given types:867868 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-869870 but expected one of:871872 atom()873874 where "repo" was given the types:875876 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})877 # from: lib/mix/tasks/ecto.load.ex:70:22878 Keyword.merge(repo.config, opts)879880 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})881 # from: lib/mix/tasks/ecto.load.ex:72:27882 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)883884 type warning found at:885 │886 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do887 │ ~888 │889 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2890891 warning: expected a map or struct when accessing .__adapter__ in expression:892893 repo.__adapter__894895 where "repo" was given the type:896897 # type: dynamic(atom())898 # from: lib/mix/tasks/ecto.load.ex:53:7899 Mix.Ecto.ensure_repo(repo, args)900901 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()902903 type warning found at:904 │905 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,906 │ ~907 │908 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1909910 warning: the following clause will never match:911912 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->913914 because it attempts to match on the result of:915916 System.stacktrace()917918 which has type:919920 empty_list()921922 where "args_or_arity" was given the type:923924 # type: float() or integer() or non_empty_list(term())925 # from: lib/ecto/changeset.ex926 (_() when args_or_arity == 2) when length(args_or_arity) == 2927928 where "module" was given the type:929930 # type: dynamic()931 # from: lib/ecto/changeset.ex:733:30932 module933934 type warning found at:935 │936 741 │ ... when length(args_or_arity) == 2 ->937 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~938 │939 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2940941 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead942 │943 739 │ case System.stacktrace do944 │ ~945 │946 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2947948 warning: expected a map or struct when accessing .__adapter__ in expression:949950 repo.__adapter__951952 where "repo" was given the type:953954 # type: dynamic(atom())955 # from: lib/mix/tasks/ecto.dump.ex:50:7956 Mix.Ecto.ensure_repo(repo, args)957958 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()959960 type warning found at:961 │962 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,963 │ ~964 │965 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1966967 warning: expected a map or struct when accessing .__adapter__ in expression:968969 repo.__adapter__970971 where "repo" was given the type:972973 # type: dynamic(atom())974 # from: lib/mix/tasks/ecto.create.ex:37:7975 Mix.Ecto.ensure_repo(repo, args)976977 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()978979 type warning found at:980 │981 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,982 │ ~983 │984 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1985986 warning: expected a map or struct when accessing .__adapter__ in expression:987988 repo.__adapter__989990 where "repo" was given the type:991992 # type: dynamic(atom())993 # from: lib/mix/tasks/ecto.drop.ex:39:7994 Mix.Ecto.ensure_repo(repo, args)995996 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()997998 type warning found at:999 │1000 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1001 │ ~1002 │1003 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/110041005 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead1006 │1007 62 │ Mix.Project.compile(args)1008 │ ~1009 │1010 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/210111012 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1013 │1014 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1015 │ ~1016 │1017 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21018 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/210191020 warning: expected a module (an atom) when invoking start_link/1 in expression:10211022 repo.start_link(pool_size: pool_size)10231024 where "pool_size" was given the type:10251026 # type: dynamic()1027 # from: lib/mix/ecto.ex:101:151028 pool_size = Keyword.get(opts, :pool_size, 1)10291030 where "repo" was given the type:10311032 # type: dynamic(%{..., __adapter__: atom()})1033 # from: lib/mix/ecto.ex:99:361034 repo.__adapter__.ensure_all_started(repo, :temporary)10351036 type warning found at:1037 │1038 102 │ case repo.start_link(pool_size: pool_size) do1039 │ ~1040 │1041 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/210421043 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1044 │1045 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1046 │ ~1047 │1048 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/210491050 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1051 │1052 146 │ Logger.remove_backend(:console)1053 │ ~1054 │1055 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/210561057 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1058 │1059 155 │ Logger.add_backend(:console, flush: true)1060 │ ~1061 │1062 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/210631064 warning: the following conditional expression:10651066 is_atom(related)10671068 will always evaluate to:10691070 dynamic(true)10711072 where "related" was given the type:10731074 # type: dynamic(atom())1075 # from: lib/ecto/association.ex:730:151076 related = Ecto.Association.related_from_query(queryable)10771078 type warning found at:1079 │1080 732 │ unless is_atom(related) do1081 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1082 │1083 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/310841085 warning: incompatible types given to get_source/1:10861087 get_source(repo)10881089 given types:10901091 -dynamic(atom())-10921093 but expected one of:10941095 %{..., config: empty_list() or non_empty_list(term(), term())}10961097 where "repo" was given the type:10981099 # type: dynamic(atom())1100 # from: lib/ecto/migration/schema_migration.ex:24:131101 repo.all(1102 Map.put(1103 (1104 query =1105 (1106 query = {get_source(repo), Ecto.Migration.SchemaMigration}1107 Ecto.Query.Builder.From.apply(query, 1)1108 )1109 1110 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1111 ...,1112 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1113 file: "/work/proj/deps_qemu_aarch64/ecto/lib/ecto/migration/schema_migration.ex",1114 line: 22,1115 take: %{}1116 })1117 ),1118 :prefix,1119 prefix1120 ), timeout: :infinity, log: false)11211122 type warning found at:1123 │1124 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1125 │ ~1126 │1127 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/211281129 warning: incompatible types given to get_source/1:11301131 get_source(repo)11321133 given types:11341135 -dynamic(atom())-11361137 but expected one of:11381139 %{..., config: empty_list() or non_empty_list(term(), term())}11401141 where "repo" was given the type:11421143 # type: dynamic(atom())1144 # from: lib/ecto/migration/schema_migration.ex:30:131145 repo.insert!(1146 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1147 prefix: prefix,1148 source: get_source(repo)1149 ), timeout: :infinity, log: false)11501151 type warning found at:1152 │1153 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1154 │ ~1155 │1156 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/311571158 warning: incompatible types given to get_source/1:11591160 get_source(repo)11611162 given types:11631164 -dynamic(atom())-11651166 but expected one of:11671168 %{..., config: empty_list() or non_empty_list(term(), term())}11691170 where "repo" was given the type:11711172 # type: dynamic(atom())1173 # from: lib/ecto/migration/schema_migration.ex:36:131174 repo.delete_all(1175 Map.put(1176 (1177 query =1178 (1179 query = {get_source(repo), Ecto.Migration.SchemaMigration}1180 Ecto.Query.Builder.From.apply(query, 1)1181 )1182 1183 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1184 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1185 op: :and,1186 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1187 file: "/work/proj/deps_qemu_aarch64/ecto/lib/ecto/migration/schema_migration.ex",1188 line: 341189 })1190 ),1191 :prefix,1192 prefix1193 ), timeout: :infinity, log: false)11941195 type warning found at:1196 │1197 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1198 │ ~1199 │1200 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/312011202 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1203 │1204 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1205 │ ~1206 │1207 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/112081209 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1210 │1211 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1212 │ ~1213 │1214 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/212151216 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1217 │1218 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1219 │ ~1220 │1221 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/312221223 warning: the following clause will never match:12241225 {:error, _} = error ->12261227 because it attempts to match on the result of:12281229 apply(changeset, adapter, :insert, args)12301231 which has type:12321233 dynamic({:invalid or :ok, term()})12341235 type warning found at:1236 │1237 219 │ {:error, _} = error ->1238 │ ~1239 │1240 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/412411242 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1243 │1244 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1245 │ ~1246 │1247 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212481249 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1250 │1251 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1252 │ ~1253 │1254 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312551256 warning: the following clause will never match:12571258 {:error, _} = error ->12591260 because it attempts to match on the result of:12611262 apply(changeset, adapter, action, args)12631264 which has type:12651266 dynamic({:invalid or :ok, term()})12671268 type warning found at:1269 │1270 297 │ {:error, _} = error ->1271 │ ~1272 │1273 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412741275 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1276 │1277 54 │ filter_and_reraise e, System.stacktrace1278 │ ~1279 │1280 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/512811282 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1283 │1284 44 │ index = Map.size(params)1285 │ ~1286 │1287 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51288 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/512891290 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1291 │1292 614 │ Decimal.minus(decimal)1293 │ ~1294 │1295 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/112961297 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)1298 │1299 228 │ raise BadStructError, struct: struct, term: data1300 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1301 │1302 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/513031304 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1305 │1306 214 │ filter_and_reraise e, System.stacktrace1307 │ ~1308 │1309 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41310 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/413111312 warning: the following clause will never match:13131314 {:error, _} ->13151316 because it attempts to match on the result of:13171318 NaiveDateTime.new(date, time)13191320 which has type:13211322 dynamic({:ok, %NaiveDateTime{}})13231324 type warning found at:1325 │1326 803 │ {:error, _} -> :error1327 │ ~~~~~~~~~~~~~~~~~~~~~1328 │1329 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/113301331 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1332 │1333 159 │ supervise(children, strategy: :one_for_one)1334 │ ~1335 │1336 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/113371338 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1339 │1340 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1341 │ ~1342 │1343 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/213441345 warning: expected a map or struct when accessing .__struct__ in expression:13461347 schema.__struct__13481349 where "schema" was given the types:13501351 # type: dynamic(atom() and not nil)1352 # from: lib/ecto/query/planner.ex:1186:411353 schema13541355 # type: atom()1356 # from: lib/ecto/query/planner.ex:1186:611357 is_atom(schema)13581359 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13601361 type warning found at:1362 │1363 1190 │ Map.has_key?(schema.__struct__, field) ->1364 │ ~1365 │1366 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/613671368 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13691370 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13711372 given types:13731374 (1375 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1376 dynamic()1377 )13781379 but expected one of:13801381 atom(), term()13821383 where "opts" was given the type:13841385 # type: dynamic(1386 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1387 non_struct_map()1388 )1389 # from: lib/ecto/migrator.ex:44:651390 opts[:prefix]13911392 where "repo" was given the type:13931394 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1395 # from: lib/ecto/migrator.ex:44:231396 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13971398 type warning found at:1399 │1400 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1401 │ ~1402 │1403 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/214041405 warning: expected a module (an atom) when invoking transaction/2 in expression:14061407 repo.transaction(fun, log: false, timeout: :infinity)14081409 where "fun" was given the type:14101411 # type: dynamic()1412 # from: lib/ecto/migrator.ex:114:471413 fun14141415 where "repo" was given the types:14161417 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1418 # from: lib/ecto/migrator.ex:118:241419 repo.__adapter__.supports_ddl_transaction?14201421 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1422 # from: lib/ecto/migrator.ex:118:241423 repo.__adapter__.supports_ddl_transaction?14241425 type warning found at:1426 │1427 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1428 │ ~1429 │1430 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/314311432 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1433 │1434 291 │ modules = Code.load_file(file)1435 │ ~1436 │1437 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/214381439 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1440 │1441 321 │ reraise error, System.stacktrace1442 │ ~1443 │1444 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/314451446 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1447 │1448 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1449 │ ~1450 │1451 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/114521453 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1454 │1455 15 │ supervise(children, strategy: :simple_one_for_one)1456 │ ~1457 │1458 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/114591460 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1461 │1462 10 │ worker(Ecto.Registry, []),1463 │ ~1464 │1465 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/214661467 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1468 │1469 11 │ supervisor(Ecto.Migration.Supervisor, [])1470 │ ~1471 │1472 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/214731474Generated ecto app1475==> interactive_cmd1476Compiling 1 file (.ex)1477Generated interactive_cmd app1478==> nerves1479Compiling 65 files (.ex)1480 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)1481 │1482 6 │ defmodule Mix.Tasks.Nerves.Init do1483 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1484 │1485 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)14861487 warning: redefining module Nerves (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.beam)1488 │1489 6 │ defmodule Nerves do1490 │ ~~~~~~~~~~~~~~~~~~~1491 │1492 └─ lib/nerves.ex:6: Nerves (module)14931494 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)1495 │1496 5 │ defmodule Nerves.ArtifactResolver do1497 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1498 │1499 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)15001501 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)1502 │1503 6 │ defmodule Nerves.BuildAction.AppModes do1504 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1505 │1506 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)15071508 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)1509 │1510 5 │ defmodule Nerves.BuildAction.CheckExecutables do1511 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1512 │1513 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)15141515 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)1516 │1517 8 │ defmodule Nerves.BuildAction.Erlinit do1518 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1519 │1520 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)15211522 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)1523 │1524 5 │ defmodule Nerves.BuildAction.Firmware do1525 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1526 │1527 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)15281529 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)1530 │1531 7 │ defmodule Nerves.BuildAction.IExStartupCheck do1532 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1533 │1534 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)15351536 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)1537 │1538 5 │ defmodule Nerves.BuildAction.NervesV1System do1539 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1540 │1541 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)15421543 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)1544 │1545 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do1546 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1547 │1548 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)15491550 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)1551 │1552 5 │ defmodule Nerves.BuildAction.Rootfs do1553 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1554 │1555 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)15561557 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)1558 │1559 6 │ defmodule Nerves.BuildAction.SortApps do1560 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1561 │1562 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)15631564 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)1565 │1566 5 │ defmodule Nerves.BuildAction.StripAll do1567 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1568 │1569 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)15701571 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)1572 │1573 5 │ defmodule Nerves.BuildAction.Trimmer do1574 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1575 │1576 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)15771578 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)1579 │1580 5 │ defmodule Nerves.BuildPlan do1581 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1582 │1583 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)15841585 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)1586 │1587 5 │ defmodule Nerves.BuildPlan.Checks do1588 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1589 │1590 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)15911592 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Container.beam)1593 │1594 6 │ defmodule Nerves.Container do1595 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1596 │1597 └─ lib/nerves/container.ex:6: Nerves.Container (module)15981599 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)1600 │1601 5 │ defmodule Nerves.Fingerprint do1602 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1603 │1604 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)16051606 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)1607 │1608 5 │ defmodule Nerves.MixPackage do1609 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1610 │1611 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)16121613 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Paths.beam)1614 │1615 5 │ defmodule Nerves.Paths do1616 │ ~~~~~~~~~~~~~~~~~~~~~~~~~1617 │1618 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)16191620 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)1621 │1622 5 │ defmodule Nerves.TargetTuple do1623 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1624 │1625 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)16261627Generated nerves app1628==> nerves_toolchain_aarch64_nerves_linux_gnu1629Compiling 1 file (.ex)1630Generated nerves_toolchain_aarch64_nerves_linux_gnu app1631==> nerves_system_qemu_aarch641632Compiling 1 file (.ex)1633Generated nerves_system_qemu_aarch64 app1634==> nerves_compatibility_test1635===> Analyzing applications...1636===> Compiling telemetry1637===> Analyzing applications...1638===> Compiling cowboy1639 ┌─ src/cowboy_websocket.erl:1640 │1641 147 │ Stacktrace = erlang:get_stacktrace(),1642 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace16431644 ┌─ src/cowboy_websocket.erl:1645 │1646 645 │ {stacktrace, erlang:get_stacktrace()},1647 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace16481649 ┌─ src/cowboy_websocket.erl:1650 │1651 755 │ {stacktrace, erlang:get_stacktrace()},1652 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace165316541655 ┌─ src/cowboy_handler.erl:1656 │1657 87 │ Stacktrace = erlang:get_stacktrace(),1658 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace16591660 ┌─ src/cowboy_handler.erl:1661 │1662 116 │ Stacktrace = erlang:get_stacktrace(),1663 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace16641665 ┌─ src/cowboy_handler.erl:1666 │1667 235 │ Stacktrace = erlang:get_stacktrace(),1668 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace16691670 ┌─ src/cowboy_handler.erl:1671 │1672 290 │ {stacktrace, erlang:get_stacktrace()},1673 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace167416751676 ┌─ src/cowboy_rest.erl:1677 │1678 69 │ Stacktrace = erlang:get_stacktrace(),1679 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace16801681 ┌─ src/cowboy_rest.erl:1682 │1683 1006 │ Stacktrace = erlang:get_stacktrace(),1684 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace168516861687==> plug1688Compiling 1 file (.erl)1689Compiling 42 files (.ex)1690Generated plug app1691==> openmaize1692Compiling 13 files (.ex)1693 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.16941695 This error happens when you have function calls without parentheses inside keywords. For example:16961697 function(arg, one: nested_call a, b, c)1698 function(arg, one: if expr, do: :this, else: :that)16991700 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:17011702 function(arg, one: if(expr, do: :this, else: :that))1703 function(arg, one: nested_call(a, b, c))17041705 Ambiguity found at:1706 │1707 85 │ def check_user_pass(_, _, _), do: raise ArgumentError, "invalid params or options"1708 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1709 │1710 └─ lib/openmaize/login.ex:85171117121713== Compilation error in file lib/openmaize/database.ex ==1714** (UndefinedFunctionError) function Ecto.Query.Builder.Lock.build/3 is undefined (module Ecto.Query.Builder.Lock is not available)1715 (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_qemu_aarch64/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.2281.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, ...]}, ...], ...>)1716 (ecto 2.2.12) expanding macro: Ecto.Query.lock/21717 lib/openmaize/database.ex:90: Openmaize.Database.get_user_with_lock/31718 (ecto 2.2.12) expanding macro: Ecto.Query.from/21719 lib/openmaize/database.ex:90: Openmaize.Database.get_user_with_lock/31720 (elixir 1.20.3) expanding macro: Kernel.|>/21721 lib/openmaize/database.ex:91: Openmaize.Database.get_user_with_lock/31722could 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"