JsonXema Inspect Error - function Inspect.Map.inspect/3 is undefined or private

I am getting this error log when something goes wrong in a live view page. Page has assigns which contain JsonXema structs.

This is a minor inconvenience as this is messing up the error log in the console. Thank you

13:59 $ iex -S mix phx.server
Erlang/OTP 25 [erts-13.1.1] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit] [dtrace]
...

%JsonXema{schema: #Inspect.Error<
  got UndefinedFunctionError with message:

      """
      function Inspect.Map.inspect/3 is undefined or private
      """

  while inspecting:

      %{
        validator: nil,
        content_media_type: nil,
        examples: nil,
        enum: nil,
        data: nil,
        ...
      }

Stacktrace:

    (elixir 1.14.1) Inspect.Map.inspect(%{... contents of struct... }
&Inspect.inspect/2, limit: 5, pretty: false, printable_limit: 4096, safe: true, structs: true, syntax_colors: [], width: 80})
    (elixir 1.14.1) lib/inspect/algebra.ex:341: Inspect.Algebra.to_doc/2
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect/algebra.ex:341: Inspect.Algebra.to_doc/2
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect/algebra.ex:341: Inspect.Algebra.to_doc/2
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect/algebra.ex:341: Inspect.Algebra.to_doc/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/inspect/algebra.ex:341: Inspect.Algebra.to_doc/2
    (elixir 1.14.1) lib/inspect.ex:278: Inspect.List.keyword/2
    (elixir 1.14.1) lib/inspect/algebra.ex:472: Inspect.Algebra.container_each/6
    (elixir 1.14.1) lib/inspect/algebra.ex:449: Inspect.Algebra.container_doc/6
    (elixir 1.14.1) lib/kernel.ex:2254: Kernel.inspect/2
    (logger 1.14.1) lib/logger/translator.ex:201: Logger.Translator.report_gen_server_terminate/2
    (logger 1.14.1) lib/logger/handler.ex:227: Logger.Handler.do_translate/6
    (logger 1.14.1) lib/logger/handler.ex:129: Logger.Handler.do_log/4
    (logger 1.14.1) lib/logger/handler.ex:84: Logger.Handler.log/2
    (kernel 8.5.1) logger_backend.erl:51: :logger_backend.call_handlers/3
    (stdlib 4.1.1) gen_server.erl:1402: :gen_server.error_info/8
    (stdlib 4.1.1) gen_server.erl:1362: :gen_server.terminate/10
    (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3

Hi @kartheek , can you try to update json_xema. Maybe that is caused by a bug in xema 0.16.0. If that doesn’t help I’ll take a closer look later.

Thank you Marcus, updating Xema to latest resolved the issue.

1 Like