Build log
host
xturn 2.0.0 · fail · run xturn-2.0.0-1791161131478
756 of 756 lines
1Resolving Hex dependencies...2Resolution completed in 0.43s3Unchanged:4 circular_buffer 1.1.05 cowboy 2.19.06 cowboy_telemetry 0.4.07 cowlib 2.20.0 VULNERABLE!8 EEF-CVE-2026-43966 (MEDIUM)9 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c10 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/211 https://osv.dev/vulnerability/EEF-CVE-2026-439661213 EEF-CVE-2026-43969 (LOW)14 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5615 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/116 https://osv.dev/vulnerability/EEF-CVE-2026-4396917 datastructures 0.2.818 elixir_make 0.6.319 exts 0.3.420 interactive_cmd 0.1.421 jason 1.4.522 maru 0.13.223 mime 2.0.724 nerves 2.0.0-pre.225 nerves_discovery 0.1.526 nerves_logging 0.2.427 nerves_runtime 0.13.1328 nerves_system_bbb 2.30.229 nerves_system_br 1.34.430 nerves_system_mangopi_mq_pro 0.17.231 nerves_system_qemu_aarch64 0.4.232 nerves_system_rpi0 2.1.233 nerves_system_rpi4 2.1.234 nerves_system_rpi5 2.1.235 nerves_system_trellis 0.5.036 nerves_system_x86_64 1.34.237 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.138 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.139 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.140 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.141 nerves_toolchain_x86_64_nerves_linux_musl 15.3.142 nerves_uevent 0.1.743 plug 1.20.344 plug_cowboy 2.9.045 plug_crypto 2.2.046 property_table 0.3.447 ranch 2.3.048 ring_logger 0.11.749 skex 0.1.250 tablet 0.3.351 telemetry 1.4.252 toolshed 0.5.053 uboot_env 1.0.254 xmedialib 0.3.055 xsockets 1.0.056 xturn 2.0.057 xturn_plugin_api 0.1.158Found packages with security advisories, see above for details59All dependencies have been fetched60==> xturn_plugin_api61Compiling 3 files (.ex)62Generated xturn_plugin_api app63==> xsockets64Compiling 38 files (.ex)65 warning: ExSCTP.new/0 is undefined (module ExSCTP 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)66 │67 149 │ ref: ExSCTP.new(),68 │ ~69 │70 └─ lib/xsockets/sctp/association.ex:149:19: XSockets.Sctp.Association.new/17172 warning: ExSCTP.connect/1 is undefined (module ExSCTP 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)73 │74 165 │ :ok = ExSCTP.connect(assoc.ref)75 │ ~76 │77 └─ lib/xsockets/sctp/association.ex:165:18: XSockets.Sctp.Association.connect/17879 warning: ExSCTP.handle_data/2 is undefined (module ExSCTP 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)80 │81 181 │ :ok = ExSCTP.handle_data(assoc.ref, data)82 │ ~83 │84 └─ lib/xsockets/sctp/association.ex:181:18: XSockets.Sctp.Association.handle_packet/28586 warning: ExSCTP.handle_timeout/1 is undefined (module ExSCTP 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)87 │88 194 │ _ = ExSCTP.handle_timeout(assoc.ref)89 │ ~90 │91 └─ lib/xsockets/sctp/association.ex:194:16: XSockets.Sctp.Association.handle_timeout/19293 warning: ExSCTP.send/4 is undefined (module ExSCTP 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)94 │95 214 │ :ok = ExSCTP.send(assoc.ref, id, ppi, payload)96 │ ~97 │98 └─ lib/xsockets/sctp/association.ex:214:22: XSockets.Sctp.Association.send/499 └─ lib/xsockets/sctp/association.ex:262:22: XSockets.Sctp.Association.open_channel/3100 └─ lib/xsockets/sctp/association.ex:382:20: XSockets.Sctp.Association.handle_dcep/3101102 warning: ExSCTP.open_stream/2 is undefined (module ExSCTP 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)103 │104 251 │ case ExSCTP.open_stream(assoc.ref, id) do105 │ ~106 │107 └─ lib/xsockets/sctp/association.ex:251:17: XSockets.Sctp.Association.open_channel/3108109 warning: ExSCTP.poll/1 is undefined (module ExSCTP 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)110 │111 308 │ case handle_ex_event(assoc, ExSCTP.poll(assoc.ref)) do112 │ ~113 │114 └─ lib/xsockets/sctp/association.ex:308:40: XSockets.Sctp.Association.drain/2115116 warning: ExSCTP.close_stream/2 is undefined (module ExSCTP 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)117 │118 363 │ _ = ExSCTP.close_stream(assoc.ref, id)119 │ ~120 │121 └─ lib/xsockets/sctp/association.ex:363:20: XSockets.Sctp.Association.handle_ex_event/2122123 warning: ExSCTP.configure_stream/5 is undefined (module ExSCTP 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)124 │125 400 │ case ExSCTP.configure_stream(assoc.ref, id, channel.ordered, reliability, param) do126 │ ~127 │128 └─ lib/xsockets/sctp/association.ex:400:19: XSockets.Sctp.Association.handle_dcep/3129130Generated xsockets app131==> maru132Compiling 58 files (.ex)133 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead134 │135 60 │ json_library = Application.get_env(:maru, :json_library, Jason)136 │ ~137 │138 └─ lib/maru.ex:60:30: Maru (module)139140 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead141 │142 63 │ Logger.warn(143 │ ~144 │145 └─ lib/maru.ex:63:12: Maru (module)14614714800:46:12.706 [warning] Json library Elixir.Jason is not loaded, add your json library to deps and config with `config :maru, :json_library, Elixir.Jason`149 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 operator150 │151 36 │ <<"vnd.", ^vendor::binary-size(size), "-", vsn::binary>> <- s do152 │ ~153 │154 └─ lib/maru/plugs/version.ex:36:43: Maru.Plugs.GetVersion.call/2155156 warning: using single-quoted strings to represent charlists is deprecated.157 Use ~c"" if you indeed want a charlist or use "" instead.158 You may run "mix format --migrate" to change all single-quoted159 strings to use the ~c sigil and fix this warning.160 │161 14 │ 'Elixir.' ++ _ = Atom.to_charlist(module)162 │ ~163 │164 └─ lib/maru/resource/extend.ex:14:5165166 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead167 │168 30 │ Logger.warn "Start server by maru supervisor is deprecated, in favor of Maru.Server."169 │ ~170 │171 └─ lib/maru/supervisor.ex:30:16: Maru.Supervisor.init/1172173 warning: module attribute @since was set but never used174 │175 122 │ @since "0.13.2"176 │ ~~~~~~~~~~~~~~~177 │178 └─ lib/maru/server.ex:122: Maru.Server (module)179180 warning: using single-quoted strings to represent charlists is deprecated.181 Use ~c"" if you indeed want a charlist or use "" instead.182 You may run "mix format --migrate" to change all single-quoted183 strings to use the ~c sigil and fix this warning.184 │185 8 │ s in [nil, "", '', %{}]186 │ ~187 │188 └─ lib/maru/utils.ex:8:20189190 warning: Jason.decode!/1 is undefined (module Jason 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)191 │192 11 │ json_library.decode!(input)193 │ ~194 │195 └─ lib/maru/types/json.ex:11:18: Maru.Types.Json.parse/2196197 warning: Jason.decode!/1 is undefined (module Jason 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)198 │199 99 │ Jason.decode!(conn.resp_body)200 │ ~201 │202 └─ lib/maru/test.ex:99:11: Maru.Test.json_response/1203204 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead205 │206 34 │ |> supervise(strategy: :one_for_one)207 │ ~208 │209 └─ lib/maru/supervisor.ex:34:8: Maru.Supervisor.init/1210211 warning: Plug.Adapters.Cowboy2.child_spec/1 is undefined (module Plug.Adapters.Cowboy2 is not available or is yet to be defined)212 │213 57 │ Plug.Adapters.Cowboy2.child_spec(args)214 │ ~215 │216 └─ lib/maru/supervisor.ex:57:29: Maru.Supervisor.endpoint_spec/3217218 warning: Plug.Adapters.Cowboy.child_spec/1 is deprecated. Use Plug.Cowboy.child_spec/1 instead219 │220 59 │ Plug.Adapters.Cowboy.child_spec(args)221 │ ~222 │223 └─ lib/maru/supervisor.ex:59:28: Maru.Supervisor.endpoint_spec/3224225 warning: Jason.encode_to_iodata!/1 is undefined (module Jason 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)226 │227 47 │ |> Plug.Conn.send_resp(conn.status || 200, json_library.encode_to_iodata!(data))228 │ ~229 │230 └─ lib/maru/response.ex:47:61: Maru.Response.json/2231232 warning: expected a map or struct when accessing .__routes__ in expression:233234 module.__routes__235236 where "module" was given the type:237238 # type: dynamic(atom())239 # from: lib/maru/resource/extend.ex:14:27240 Atom.to_charlist(module)241242 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()243244 type warning found at:245 │246 20 │ module.__routes__247 │ ~248 │249 └─ lib/maru/resource/extend.ex:20:12: Maru.Resource.Extend.take_extended/2250251 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead252 │253 96 │ Module.eval_quoted(env, quoted)254 │ ~255 │256 └─ lib/maru/builder/parameter.ex:96:12: Maru.Builder.Parameter.before_compile_helper/1257258 warning: expected a map or struct when accessing .arguments in expression:259260 module.arguments261262 where "module" was given the type:263264 # type: dynamic(atom())265 # from: lib/maru/builder/parameter/helper.ex:201:12266 module = Maru.Utils.make_type(type)267268 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()269270 type warning found at:271 │272 202 │ [{:module, module, module.arguments}]273 │ ~274 │275 └─ lib/maru/builder/parameter/helper.ex:202:31: Maru.Builder.Parameter.Helper.do_parse_type/1276277Generated maru app278==> datastructures279Compiling 30 files (.ex)280warning: first..last inside match is deprecated, you must always match on the step: first..last//var or first..last//_ if you want to ignore it281 lib/data/protocol/sequence.ex:54: Data.Protocol.Sequence.Range.first/1282283warning: _.._ inside match is deprecated, you must always match on the step: _.._//var or _.._//_ if you want to ignore it284 lib/data/protocol/sequence.ex:58: Data.Protocol.Sequence.Range.first/1285286warning: first..last inside match is deprecated, you must always match on the step: first..last//var or first..last//_ if you want to ignore it287 lib/data/protocol/sequence.ex:62: Data.Protocol.Sequence.Range.next/1288289warning: first..last inside match is deprecated, you must always match on the step: first..last//var or first..last//_ if you want to ignore it290 lib/data/protocol/sequence.ex:66: Data.Protocol.Sequence.Range.next/1291292warning: first..last inside match is deprecated, you must always match on the step: first..last//var or first..last//_ if you want to ignore it293 lib/data/protocol/sequence.ex:70: Data.Protocol.Sequence.Range.next/1294295 warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Data.Stack.Simple)296 │297 222 │ defimpl Enumerable do298 │ ~~~~~~~~~~~~~~~~~~~~~299 │300 └─ lib/data/stack/simple.ex:222: Enumerable.Data.Stack.Simple (module)301302 warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Data.Set.Standard)303 │304 166 │ defimpl Enumerable do305 │ ~~~~~~~~~~~~~~~~~~~~~306 │307 └─ lib/data/set/standard.ex:166: Enumerable.Data.Set.Standard (module)308309 warning: the 1st pattern in clause will never match:310311 nil312313 because it is expected to receive type:314315 dynamic(%Data.Stack.Simple{})316317 hint: defimpl for Data.Stack.Simple requires its callbacks to match exclusively on %Data.Stack.Simple{}318319 type warning found at:320 │321 223 │ use Data.Enumerable322 │ ~~~~~~~~~~~~~~~~~~~323 │324 └─ lib/data/stack/simple.ex:223: Enumerable.Data.Stack.Simple.reduce/3325326 warning: the 1st pattern in clause will never match:327328 nil329330 because it is expected to receive type:331332 dynamic(%Data.Set.Standard{})333334 hint: defimpl for Data.Set.Standard requires its callbacks to match exclusively on %Data.Set.Standard{}335336 type warning found at:337 │338 167 │ use Data.Enumerable339 │ ~~~~~~~~~~~~~~~~~~~340 │341 └─ lib/data/set/standard.ex:167: Enumerable.Data.Set.Standard.reduce/3342343 warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Data.Set.BalancedTree)344 │345 170 │ defimpl Enumerable do346 │ ~~~~~~~~~~~~~~~~~~~~~347 │348 └─ lib/data/set/balanced_tree.ex:170: Enumerable.Data.Set.BalancedTree (module)349350 warning: the 1st pattern in clause will never match:351352 nil353354 because it is expected to receive type:355356 dynamic(%Data.Set.BalancedTree{})357358 hint: defimpl for Data.Set.BalancedTree requires its callbacks to match exclusively on %Data.Set.BalancedTree{}359360 type warning found at:361 │362 171 │ use Data.Enumerable363 │ ~~~~~~~~~~~~~~~~~~~364 │365 └─ lib/data/set/balanced_tree.ex:171: Enumerable.Data.Set.BalancedTree.reduce/3366367 warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Data.Queue.Standard)368 │369 154 │ defimpl Enumerable do370 │ ~~~~~~~~~~~~~~~~~~~~~371 │372 └─ lib/data/queue/standard.ex:154: Enumerable.Data.Queue.Standard (module)373374 warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Data.Queue.Simple)375 │376 244 │ defimpl Enumerable do377 │ ~~~~~~~~~~~~~~~~~~~~~378 │379 └─ lib/data/queue/simple.ex:244: Enumerable.Data.Queue.Simple (module)380381 warning: the 1st pattern in clause will never match:382383 nil384385 because it is expected to receive type:386387 dynamic(%Data.Queue.Simple{})388389 hint: defimpl for Data.Queue.Simple requires its callbacks to match exclusively on %Data.Queue.Simple{}390391 type warning found at:392 │393 245 │ use Data.Enumerable394 │ ~~~~~~~~~~~~~~~~~~~395 │396 └─ lib/data/queue/simple.ex:245: Enumerable.Data.Queue.Simple.reduce/3397398 warning: the 1st pattern in clause will never match:399400 nil401402 because it is expected to receive type:403404 dynamic(%Data.Queue.Standard{})405406 hint: defimpl for Data.Queue.Standard requires its callbacks to match exclusively on %Data.Queue.Standard{}407408 type warning found at:409 │410 155 │ use Data.Enumerable411 │ ~~~~~~~~~~~~~~~~~~~412 │413 └─ lib/data/queue/standard.ex:155: Enumerable.Data.Queue.Standard.reduce/3414415 warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Data.Dictionary.Standard)416 │417 148 │ defimpl Enumerable do418 │ ~~~~~~~~~~~~~~~~~~~~~419 │420 └─ lib/data/dictionary/standard.ex:148: Enumerable.Data.Dictionary.Standard (module)421422 warning: the 1st pattern in clause will never match:423424 nil425426 because it is expected to receive type:427428 dynamic(%Data.Dictionary.Standard{})429430 hint: defimpl for Data.Dictionary.Standard requires its callbacks to match exclusively on %Data.Dictionary.Standard{}431432 type warning found at:433 │434 149 │ use Data.Enumerable435 │ ~~~~~~~~~~~~~~~~~~~436 │437 └─ lib/data/dictionary/standard.ex:149: Enumerable.Data.Dictionary.Standard.reduce/3438439 warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Data.Dictionary.BalancedTree)440 │441 176 │ defimpl Enumerable do442 │ ~~~~~~~~~~~~~~~~~~~~~443 │444 └─ lib/data/dictionary/balanced_tree.ex:176: Enumerable.Data.Dictionary.BalancedTree (module)445446 warning: the following clause will never match:447448 :no_grapheme ->449450 because it attempts to match on the result of:451452 String.next_grapheme(string)453454 which has type:455456 dynamic(nil or {binary(), term()})457458 type warning found at:459 │460 78 │ :no_grapheme ->461 │ ~~~~~~~~~~~~~~~462 │463 └─ lib/data/protocol/sequence.ex:78: Data.Protocol.Sequence.BitString.first/1464465 warning: the following clause will never match:466467 :no_grapheme ->468469 because it attempts to match on the result of:470471 String.next_grapheme(string)472473 which has type:474475 dynamic(nil or {binary(), term()})476477 type warning found at:478 │479 88 │ :no_grapheme ->480 │ ~~~~~~~~~~~~~~~481 │482 └─ lib/data/protocol/sequence.ex:88: Data.Protocol.Sequence.BitString.next/1483484 warning: the 1st pattern in clause will never match:485486 nil487488 because it is expected to receive type:489490 dynamic(%Data.Dictionary.BalancedTree{})491492 hint: defimpl for Data.Dictionary.BalancedTree requires its callbacks to match exclusively on %Data.Dictionary.BalancedTree{}493494 type warning found at:495 │496 177 │ use Data.Enumerable497 │ ~~~~~~~~~~~~~~~~~~~498 │499 └─ lib/data/dictionary/balanced_tree.ex:177: Enumerable.Data.Dictionary.BalancedTree.reduce/3500501 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead502 │503 23 │ defdelegate count(self), to: Map, as: :size504 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~505 │506 └─ lib/data/protocol/count.ex:23: Data.Protocol.Count.Map.count/1507508 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead509 │510 35 │ Map.size(self) == 0511 │ ~512 │513 └─ lib/data/protocol/empty.ex:35:9: Data.Protocol.Empty.Map.empty?/1514515Generated datastructures app516==> exts517Compiling 7 files (.ex)518 warning: single quotes around atoms are deprecated. Use double quotes instead519 │520 252 │ :'$end_of_table' -> nil521 │ ~522 │523 └─ lib/exts.ex:252:7524525 warning: single quotes around atoms are deprecated. Use double quotes instead526 │527 283 │ case select(self, [{{ :'$1', :'$2' }, [], [:'$1'] }]) do528 │ ~529 │530 └─ lib/exts/dict.ex:283:27531532 warning: single quotes around atoms are deprecated. Use double quotes instead533 │534 283 │ case select(self, [{{ :'$1', :'$2' }, [], [:'$1'] }]) do535 │ ~536 │537 └─ lib/exts/dict.ex:283:34538539 warning: single quotes around atoms are deprecated. Use double quotes instead540 │541 283 │ case select(self, [{{ :'$1', :'$2' }, [], [:'$1'] }]) do542 │ ~543 │544 └─ lib/exts/dict.ex:283:48545546 warning: single quotes around atoms are deprecated. Use double quotes instead547 │548 290 │ case select(self, [{{ :'$1', :'$2' }, [], [:'$2'] }]) do549 │ ~550 │551 └─ lib/exts/dict.ex:290:27552553 warning: single quotes around atoms are deprecated. Use double quotes instead554 │555 290 │ case select(self, [{{ :'$1', :'$2' }, [], [:'$2'] }]) do556 │ ~557 │558 └─ lib/exts/dict.ex:290:34559560 warning: single quotes around atoms are deprecated. Use double quotes instead561 │562 290 │ case select(self, [{{ :'$1', :'$2' }, [], [:'$2'] }]) do563 │ ~564 │565 └─ lib/exts/dict.ex:290:48566567 warning: single quotes around atoms are deprecated. Use double quotes instead568 │569 9 │ :'$end_of_table' -> nil570 │ ~571 │572 └─ lib/exts/match.ex:9:7573574 warning: single quotes around atoms are deprecated. Use double quotes instead575 │576 17 │ :'$end_of_table' -> nil577 │ ~578 │579 └─ lib/exts/select.ex:17:7580581 warning: incompatible types given to List.to_string/1:582583 List.to_string(path)584585 given types:586587 -binary()-588589 but expected one of:590591 empty_list() or non_empty_list(term(), term())592593 where "path" was given the type:594595 # type: binary()596 # from: lib/exts/dict.ex:74:23597 is_binary(path)598599 type warning found at:600 │601 75 │ List.to_string(path)602 │ ~603 │604 └─ lib/exts/dict.ex:75:12: Exts.Dict.load/2605606 warning: incompatible types given to List.to_string/1:607608 List.to_string(path)609610 given types:611612 -binary()-613614 but expected one of:615616 empty_list() or non_empty_list(term(), term())617618 where "path" was given the type:619620 # type: binary()621 # from: lib/exts/dict.ex:111:23622 is_binary(path)623624 type warning found at:625 │626 112 │ List.to_string(path)627 │ ~628 │629 └─ lib/exts/dict.ex:112:12: Exts.Dict.dump/3630631 warning: function slice/1 required by protocol Enumerable is not implemented (in module Enumerable.Exts.Dict)632 │633 434 │ defimpl Enumerable do634 │ ~~~~~~~~~~~~~~~~~~~~~635 │636 └─ lib/exts/dict.ex:434: Enumerable.Exts.Dict (module)637638 warning: the 1st pattern in clause will never match:639640 nil641642 because it is expected to receive type:643644 dynamic(%Exts.Dict{})645646 hint: defimpl for Exts.Dict requires its callbacks to match exclusively on %Exts.Dict{}647648 type warning found at:649 │650 435 │ use Data.Enumerable651 │ ~~~~~~~~~~~~~~~~~~~652 │653 └─ lib/exts/dict.ex:435: Enumerable.Exts.Dict.reduce/3654655 warning: incompatible types given to List.to_string/1:656657 List.to_string(path)658659 given types:660661 -binary()-662663 but expected one of:664665 empty_list() or non_empty_list(term(), term())666667 where "path" was given the types:668669 # type: binary()670 # from: lib/exts.ex:22:12671 path672673 # type: binary()674 # from: lib/exts.ex:22:46675 is_binary(path)676677 type warning found at:678 │679 23 │ :ets.file2tab(List.to_string(path), options)680 │ ~681 │682 └─ lib/exts.ex:23:24: Exts.load/2683684 warning: incompatible types given to List.to_string/1:685686 List.to_string(path)687688 given types:689690 -binary()-691692 but expected one of:693694 empty_list() or non_empty_list(term(), term())695696 where "path" was given the types:697698 # type: binary()699 # from: lib/exts.ex:47:19700 path701702 # type: binary()703 # from: lib/exts.ex:47:53704 is_binary(path)705706 type warning found at:707 │708 48 │ :ets.tab2file(table, List.to_string(path), options)709 │ ~710 │711 └─ lib/exts.ex:48:31: Exts.dump/3712713 warning: incompatible types given to List.to_string/1:714715 List.to_string(path)716717 given types:718719 -binary()-720721 but expected one of:722723 empty_list() or non_empty_list(term(), term())724725 where "path" was given the types:726727 # type: binary()728 # from: lib/exts.ex:72:12729 path730731 # type: binary()732 # from: lib/exts.ex:72:31733 is_binary(path)734735 type warning found at:736 │737 73 │ :ets.tabfile_info(List.to_string(path))738 │ ~739 │740 └─ lib/exts.ex:73:28: Exts.info/1741742Generated exts app743==> xturn744Compiling 74 files (.ex)745 error: undefined function before/1 (there is no such import)746 │747 54 │ before do748 │ ^749 │750 └─ lib/xturn/api/api.ex:54:3: Xirsys.API (module)751752753== Compilation error in file lib/xturn/api/api.ex ==754** (CompileError) lib/xturn/api/api.ex: cannot compile module Xirsys.API (errors have been logged)755756could not compile dependency :xturn, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile xturn --force", update it with "mix deps.update xturn" or clean it with "mix deps.clean xturn"