Build log
host
phoenix_pagination 0.7.0 · fail · run phoenix_pagination-0.7.0-1791063058504
639 of 639 lines
1Resolving Hex dependencies...2Resolution completed in 0.179s3Unchanged:4 circular_buffer 1.1.05 db_connection 2.10.26 decimal 3.1.17 ecto 3.14.28 ecto_sql 3.14.09 elixir_make 0.10.010 interactive_cmd 0.1.411 mime 1.6.012 nerves 2.0.0-pre.213 nerves_discovery 0.1.514 nerves_logging 0.2.415 nerves_runtime 0.13.1316 nerves_system_bbb 2.30.217 nerves_system_br 1.34.418 nerves_system_mangopi_mq_pro 0.17.219 nerves_system_qemu_aarch64 0.4.220 nerves_system_rpi0 2.1.221 nerves_system_rpi4 2.1.222 nerves_system_rpi5 2.1.223 nerves_system_trellis 0.5.024 nerves_system_x86_64 1.34.225 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.126 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.127 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.128 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.129 nerves_toolchain_x86_64_nerves_linux_musl 15.3.130 nerves_uevent 0.1.731 phoenix_html 2.14.3 VULNERABLE!32 GHSA-5g2h-9x5v-5h3x (MEDIUM)33 aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q234 phoenix_html allows Cross-site Scripting in HEEx class attributes35 https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x36 phoenix_pagination 0.7.037 plug 1.11.1 VULNERABLE!38 EEF-CVE-2026-8468 (HIGH)39 aka: CVE-2026-8468, GHSA-468c-vq7p-gh6440 Unbounded buffer accumulation in multipart header parsing causes denial of service in plug41 https://osv.dev/vulnerability/EEF-CVE-2026-84684243 EEF-CVE-2026-56813 (LOW)44 aka: CVE-2026-56813, GHSA-wpmj-jh88-rpgm45 Cookie attribute injection in Plug.Conn.Cookies.encode/246 https://osv.dev/vulnerability/EEF-CVE-2026-568134748 EEF-CVE-2026-56814 (MEDIUM)49 aka: CVE-2026-56814, GHSA-95qv-c9g9-rm6350 Plug: multipart :length limit is not charged for part headers, enabling unbounded temp-file creation (denial of service)51 https://osv.dev/vulnerability/EEF-CVE-2026-5681452 plug_crypto 1.2.553 property_table 0.3.454 ring_logger 0.11.755 tablet 0.3.356 telemetry 0.4.357 toolshed 0.5.058 uboot_env 1.0.259Found packages with security advisories, see above for details60All dependencies have been fetched61==> db_connection62Compiling 18 files (.ex)63Generated db_connection app64==> ecto65Compiling 56 files (.ex)66Generated ecto app67==> ecto_sql68Compiling 25 files (.ex)69Generated ecto_sql app70==> plug71Compiling 1 file (.erl)72warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"73 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/274 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/175 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/576 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/277 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/478 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/27980Compiling 41 files (.ex)81 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead82 │83 6 │ custom_statuses = Application.get_env(:plug, :statuses, %{})84 │ ~85 │86 └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)8788 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead89 │90 4 │ if Application.get_env(:plug, :mimes) do91 │ ~92 │93 └─ lib/plug/mime.ex:4:18: Plug.MIME (module)9495 warning: unused require Bitwise96 │97 105 │ require Bitwise98 │ ~99 │100 └─ lib/plug/csrf_protection.ex:105:3101102 warning: unused require Logger103 │104 39 │ require Logger105 │ ~106 │107 └─ lib/plug/request_id.ex:39:3108109 warning: using single-quoted strings to represent charlists is deprecated.110 Use ~c"" if you indeed want a charlist or use "" instead.111 You may run "mix format --migrate" to change all single-quoted112 strings to use the ~c sigil and fix this warning.113 │114 77 │ 'ECDHE-RSA-AES256-GCM-SHA384',115 │ ~116 │117 └─ lib/plug/ssl.ex:77:5118119 warning: using single-quoted strings to represent charlists is deprecated.120 Use ~c"" if you indeed want a charlist or use "" instead.121 You may run "mix format --migrate" to change all single-quoted122 strings to use the ~c sigil and fix this warning.123 │124 78 │ 'ECDHE-ECDSA-AES256-GCM-SHA384',125 │ ~126 │127 └─ lib/plug/ssl.ex:78:5128129 warning: using single-quoted strings to represent charlists is deprecated.130 Use ~c"" if you indeed want a charlist or use "" instead.131 You may run "mix format --migrate" to change all single-quoted132 strings to use the ~c sigil and fix this warning.133 │134 79 │ 'ECDHE-RSA-AES128-GCM-SHA256',135 │ ~136 │137 └─ lib/plug/ssl.ex:79:5138139 warning: using single-quoted strings to represent charlists is deprecated.140 Use ~c"" if you indeed want a charlist or use "" instead.141 You may run "mix format --migrate" to change all single-quoted142 strings to use the ~c sigil and fix this warning.143 │144 80 │ 'ECDHE-ECDSA-AES128-GCM-SHA256',145 │ ~146 │147 └─ lib/plug/ssl.ex:80:5148149 warning: using single-quoted strings to represent charlists is deprecated.150 Use ~c"" if you indeed want a charlist or use "" instead.151 You may run "mix format --migrate" to change all single-quoted152 strings to use the ~c sigil and fix this warning.153 │154 81 │ 'DHE-RSA-AES256-GCM-SHA384',155 │ ~156 │157 └─ lib/plug/ssl.ex:81:5158159 warning: using single-quoted strings to represent charlists is deprecated.160 Use ~c"" if you indeed want a charlist or use "" instead.161 You may run "mix format --migrate" to change all single-quoted162 strings to use the ~c sigil and fix this warning.163 │164 82 │ 'DHE-RSA-AES128-GCM-SHA256'165 │ ~166 │167 └─ lib/plug/ssl.ex:82:5168169 warning: using single-quoted strings to represent charlists is deprecated.170 Use ~c"" if you indeed want a charlist or use "" instead.171 You may run "mix format --migrate" to change all single-quoted172 strings to use the ~c sigil and fix this warning.173 │174 86 │ 'ECDHE-RSA-AES256-GCM-SHA384',175 │ ~176 │177 └─ lib/plug/ssl.ex:86:5178179 warning: using single-quoted strings to represent charlists is deprecated.180 Use ~c"" if you indeed want a charlist or use "" instead.181 You may run "mix format --migrate" to change all single-quoted182 strings to use the ~c sigil and fix this warning.183 │184 87 │ 'ECDHE-ECDSA-AES256-GCM-SHA384',185 │ ~186 │187 └─ lib/plug/ssl.ex:87:5188189 warning: using single-quoted strings to represent charlists is deprecated.190 Use ~c"" if you indeed want a charlist or use "" instead.191 You may run "mix format --migrate" to change all single-quoted192 strings to use the ~c sigil and fix this warning.193 │194 88 │ 'ECDHE-RSA-AES128-GCM-SHA256',195 │ ~196 │197 └─ lib/plug/ssl.ex:88:5198199 warning: using single-quoted strings to represent charlists is deprecated.200 Use ~c"" if you indeed want a charlist or use "" instead.201 You may run "mix format --migrate" to change all single-quoted202 strings to use the ~c sigil and fix this warning.203 │204 89 │ 'ECDHE-ECDSA-AES128-GCM-SHA256',205 │ ~206 │207 └─ lib/plug/ssl.ex:89:5208209 warning: using single-quoted strings to represent charlists is deprecated.210 Use ~c"" if you indeed want a charlist or use "" instead.211 You may run "mix format --migrate" to change all single-quoted212 strings to use the ~c sigil and fix this warning.213 │214 90 │ 'DHE-RSA-AES256-GCM-SHA384',215 │ ~216 │217 └─ lib/plug/ssl.ex:90:5218219 warning: using single-quoted strings to represent charlists is deprecated.220 Use ~c"" if you indeed want a charlist or use "" instead.221 You may run "mix format --migrate" to change all single-quoted222 strings to use the ~c sigil and fix this warning.223 │224 91 │ 'DHE-RSA-AES128-GCM-SHA256',225 │ ~226 │227 └─ lib/plug/ssl.ex:91:5228229 warning: using single-quoted strings to represent charlists is deprecated.230 Use ~c"" if you indeed want a charlist or use "" instead.231 You may run "mix format --migrate" to change all single-quoted232 strings to use the ~c sigil and fix this warning.233 │234 92 │ 'ECDHE-RSA-AES256-SHA384',235 │ ~236 │237 └─ lib/plug/ssl.ex:92:5238239 warning: using single-quoted strings to represent charlists is deprecated.240 Use ~c"" if you indeed want a charlist or use "" instead.241 You may run "mix format --migrate" to change all single-quoted242 strings to use the ~c sigil and fix this warning.243 │244 93 │ 'ECDHE-ECDSA-AES256-SHA384',245 │ ~246 │247 └─ lib/plug/ssl.ex:93:5248249 warning: using single-quoted strings to represent charlists is deprecated.250 Use ~c"" if you indeed want a charlist or use "" instead.251 You may run "mix format --migrate" to change all single-quoted252 strings to use the ~c sigil and fix this warning.253 │254 94 │ 'ECDHE-RSA-AES128-SHA256',255 │ ~256 │257 └─ lib/plug/ssl.ex:94:5258259 warning: using single-quoted strings to represent charlists is deprecated.260 Use ~c"" if you indeed want a charlist or use "" instead.261 You may run "mix format --migrate" to change all single-quoted262 strings to use the ~c sigil and fix this warning.263 │264 95 │ 'ECDHE-ECDSA-AES128-SHA256',265 │ ~266 │267 └─ lib/plug/ssl.ex:95:5268269 warning: using single-quoted strings to represent charlists is deprecated.270 Use ~c"" if you indeed want a charlist or use "" instead.271 You may run "mix format --migrate" to change all single-quoted272 strings to use the ~c sigil and fix this warning.273 │274 96 │ 'DHE-RSA-AES256-SHA256',275 │ ~276 │277 └─ lib/plug/ssl.ex:96:5278279 warning: using single-quoted strings to represent charlists is deprecated.280 Use ~c"" if you indeed want a charlist or use "" instead.281 You may run "mix format --migrate" to change all single-quoted282 strings to use the ~c sigil and fix this warning.283 │284 97 │ 'DHE-RSA-AES128-SHA256',285 │ ~286 │287 └─ lib/plug/ssl.ex:97:5288289 warning: using single-quoted strings to represent charlists is deprecated.290 Use ~c"" if you indeed want a charlist or use "" instead.291 You may run "mix format --migrate" to change all single-quoted292 strings to use the ~c sigil and fix this warning.293 │294 98 │ 'ECDHE-RSA-AES256-SHA',295 │ ~296 │297 └─ lib/plug/ssl.ex:98:5298299 warning: using single-quoted strings to represent charlists is deprecated.300 Use ~c"" if you indeed want a charlist or use "" instead.301 You may run "mix format --migrate" to change all single-quoted302 strings to use the ~c sigil and fix this warning.303 │304 99 │ 'ECDHE-ECDSA-AES256-SHA',305 │ ~306 │307 └─ lib/plug/ssl.ex:99:5308309 warning: using single-quoted strings to represent charlists is deprecated.310 Use ~c"" if you indeed want a charlist or use "" instead.311 You may run "mix format --migrate" to change all single-quoted312 strings to use the ~c sigil and fix this warning.313 │314 100 │ 'ECDHE-RSA-AES128-SHA',315 │ ~316 │317 └─ lib/plug/ssl.ex:100:5318319 warning: using single-quoted strings to represent charlists is deprecated.320 Use ~c"" if you indeed want a charlist or use "" instead.321 You may run "mix format --migrate" to change all single-quoted322 strings to use the ~c sigil and fix this warning.323 │324 101 │ 'ECDHE-ECDSA-AES128-SHA'325 │ ~326 │327 └─ lib/plug/ssl.ex:101:5328329 warning: the following clause will never match:330331 {:error, reason} ->332333 because it attempts to match on the result of:334335 IO.binwrite(device, contents)336337 which has type:338339 dynamic(not {:error, term()})340341 type warning found at:342 │343 221 │ {:error, reason} ->344 │ ~~~~~~~~~~~~~~~~~~~345 │346 └─ lib/plug/parsers/multipart.ex:221: Plug.Parsers.MULTIPART.binwrite!/2347348 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead349 │350 418 │ "#{kind} " <> Macro.to_string(code, &clause_match/2)351 │ ~352 │353 └─ lib/plug/debugger.ex:418:31: Plug.Debugger.get_clauses/3354355 warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead356 │357 32 │ MIME.valid?(type)358 │ ~359 │360 └─ lib/plug/mime.ex:32:10: Plug.MIME.valid?/1361362 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead363 │364 23 │ reraise(conn, kind, reason, System.stacktrace())365 │ ~366 │367 └─ lib/plug/conn/wrapper_error.ex:23:40: Plug.Conn.WrapperError.reraise/3368369 warning: a struct for Plug.Conn is expected on struct update:370371 %Plug.Conn{372 conn373 | adapter: {Plug.Adapters.Test.Conn, state},374 host: uri.host || conn.host || "www.example.com",375 method: method,376 owner: owner,377 path_info: split_path(uri.path),378 port: uri.port || 80,379 remote_ip: conn.remote_ip || {127, 0, 0, 1},380 req_headers: req_headers,381 request_path: uri.path,382 query_string: query,383 query_params: query_params || %Plug.Conn.Unfetched{aspect: :query_params},384 body_params: body_params || %Plug.Conn.Unfetched{aspect: :body_params},385 params: params || %Plug.Conn.Unfetched{aspect: :params},386 scheme: String.to_atom(String.downcase(uri.scheme || "http"))387 }388389 but got type:390391 dynamic(%{..., adapter: {atom(), term()}, req_headers: term()})392393 where "conn" was given the types:394395 # type: dynamic(%{..., req_headers: term()})396 # from: lib/plug/adapters/test/conn.ex:16:7397 body_or_params(body_or_params, query, conn.req_headers, method)398399 # type: dynamic(%{..., adapter: {atom(), term()}, req_headers: term()})400 # from: lib/plug/adapters/test/conn.ex:25:22401 get_from_adapter(conn, :get_http_protocol, :"HTTP/1.1")402403 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"404405 type warning found at:406 │407 34 │ %Plug.Conn{408 │ ~409 │410 └─ lib/plug/adapters/test/conn.ex:34:5: Plug.Adapters.Test.Conn.conn/4411412Generated plug app413==> phoenix_html414Compiling 8 files (.ex)415 warning: using single-quoted strings to represent charlists is deprecated.416 Use ~c"" if you indeed want a charlist or use "" instead.417 You may run "mix format --migrate" to change all single-quoted418 strings to use the ~c sigil and fix this warning.419 │420 12 │ @anno (if :erlang.system_info(:otp_release) >= '19' do421 │ ~422 │423 └─ lib/phoenix_html/engine.ex:12:50424425 warning: the 1st pattern in clause will never match:426427 60428429 because it is expected to receive type:430431 dynamic(empty_list() or non_empty_list(term(), term()))432433 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())434435 type warning found at:436 │437 56 │ def to_iodata(?<), do: "<"438 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~439 │440 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1441442 warning: the 1st pattern in clause will never match:443444 62445446 because it is expected to receive type:447448 dynamic(empty_list() or non_empty_list(term(), term()))449450 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())451452 type warning found at:453 │454 57 │ def to_iodata(?>), do: ">"455 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~456 │457 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1458459 warning: the 1st pattern in clause will never match:460461 38462463 because it is expected to receive type:464465 dynamic(empty_list() or non_empty_list(term(), term()))466467 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())468469 type warning found at:470 │471 58 │ def to_iodata(?&), do: "&"472 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~473 │474 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1475476 warning: the 1st pattern in clause will never match:477478 34479480 because it is expected to receive type:481482 dynamic(empty_list() or non_empty_list(term(), term()))483484 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())485486 type warning found at:487 │488 59 │ def to_iodata(?"), do: """489 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~490 │491 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1492493 warning: the 1st pattern in clause will never match:494495 39496497 because it is expected to receive type:498499 dynamic(empty_list() or non_empty_list(term(), term()))500501 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())502503 type warning found at:504 │505 60 │ def to_iodata(?'), do: "'"506 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~507 │508 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1509510 warning: the 1st pattern in clause will never match:511512 {:safe, data}513514 because it is expected to receive type:515516 dynamic(empty_list() or non_empty_list(term(), term()))517518 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())519520 type warning found at:521 │522 76 │ def to_iodata({:safe, data}) do523 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~524 │525 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1526527 warning: the following clause is redundant:528529 def to_iodata(other)530531 it has type:532533 dynamic(empty_list() or non_empty_list(term(), term()))534535 previous clauses have already matched on the following types:536537 non_empty_list(term(), term())538 empty_list()539540 │541 80 │ def to_iodata(other) do542 │ ~543 │544 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1545546 warning: the 1st pattern in clause will never match:547548 h549550 because it is expected to receive type:551552 dynamic(empty_list() or non_empty_list(term(), term()))553554 where "h" was given the type:555556 # type: integer()557 # from: lib/phoenix_html/safe.ex:62:25558 is_integer(h)559560 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())561562 type warning found at:563 │564 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do565 │ ~566 │567 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1568569 warning: the 1st pattern in clause will never match:570571 h572573 because it is expected to receive type:574575 dynamic(empty_list() or non_empty_list(term(), term()))576577 where "h" was given the type:578579 # type: integer()580 # from: lib/phoenix_html/safe.ex:66:25581 is_integer(h)582583 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())584585 type warning found at:586 │587 66 │ def to_iodata(h) when is_integer(h) do588 │ ~589 │590 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1591592 warning: the 1st pattern in clause will never match:593594 h595596 because it is expected to receive type:597598 dynamic(empty_list() or non_empty_list(term(), term()))599600 where "h" was given the type:601602 # type: binary()603 # from: lib/phoenix_html/safe.ex:72:25604 is_binary(h)605606 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())607608 type warning found at:609 │610 72 │ def to_iodata(h) when is_binary(h) do611 │ ~612 │613 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1614615Generated phoenix_html app616==> phoenix_pagination617Compiling 4 files (.ex)618 error: module Phoenix.HTML.Link is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module619 │620 21 │ use Phoenix.HTML621 │ ^^^^^^^^^^^^^^^^622 │623 └─ lib/phoenix_pagination/json.ex:21: Phoenix.Pagination.JSON (module)624625 error: module Phoenix.HTML.Link is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module626 │627 6 │ use Phoenix.HTML628 │ ^^^^^^^^^^^^^^^^629 │630 └─ lib/phoenix_pagination/html.ex:6: Phoenix.Pagination.HTML (module)631632633== Compilation error in file lib/phoenix_pagination/json.ex ==634** (CompileError) lib/phoenix_pagination/json.ex: cannot compile module Phoenix.Pagination.JSON (errors have been logged)635 (phoenix_html 2.14.3) expanding macro: Phoenix.HTML.__using__/1636 lib/phoenix_pagination/json.ex:21: Phoenix.Pagination.JSON (module)637 (elixir 1.20.3) expanding macro: Kernel.use/1638 lib/phoenix_pagination/json.ex:21: Phoenix.Pagination.JSON (module)639could not compile dependency :phoenix_pagination, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile phoenix_pagination --force", update it with "mix deps.update phoenix_pagination" or clean it with "mix deps.clean phoenix_pagination"