"nil" error when trying to log in (especially with REST API)

My organization set up two new Metabase instances on Google Cloud VPN. When I try to authorize using the REST API with my username/password, it throws the following error:

No implementation of method: :post-insert of protocol: #'toucan.models/IModel found for class: nil"

It then prevents me from logging on using my Browser.

Metabase Version: 0.35.4

Full error response:

{
"via": [
    {
        "type": "java.lang.IllegalArgumentException",
        "message": "No implementation of method: :post-insert of protocol: #'toucan.models/IModel found for class: nil",
        "at": [
            "clojure.core$_cache_protocol_fn",
            "invokeStatic",
            "core_deftype.clj",
            583
        ]
    }
],
"trace": [
    [
        "clojure.core$_cache_protocol_fn",
        "invokeStatic",
        "core_deftype.clj",
        583
    ],
    [
        "clojure.core$_cache_protocol_fn",
        "invoke",
        "core_deftype.clj",
        575
    ],
    [
        "toucan.models$fn__20750$fn__20861$G__20769__20866",
        "invoke",
        "models.clj",
        178
    ],
    [
        "toucan.db$insert_BANG_",
        "invokeStatic",
        "db.clj",
        611
    ],
    [
        "toucan.db$insert_BANG_",
        "invoke",
        "db.clj",
        597
    ],
    [
        "toucan.db$insert_BANG_",
        "invokeStatic",
        "db.clj",
        613
    ],
    [
        "toucan.db$insert_BANG_",
        "doInvoke",
        "db.clj",
        597
    ],
    [
        "clojure.lang.RestFn",
        "invoke",
        "RestFn.java",
        494
    ],
    [
        "metabase.api.session$fn__64962$create_session_BANG___64955__64967$fn__64968",
        "invoke",
        "session.clj",
        46
    ],
    [
        "metabase.api.session$fn__64962$create_session_BANG___64955__64967",
        "invoke",
        "session.clj",
        43
    ],
    [
        "clojure.lang.AFn",
        "applyToHelper",
        "AFn.java",
        156
    ],
    [
        "clojure.lang.AFn",
        "applyTo",
        "AFn.java",
        144
    ],
    [
        "clojure.lang.AFunction$1",
        "doInvoke",
        "AFunction.java",
        31
    ],
    [
        "clojure.lang.RestFn",
        "invoke",
        "RestFn.java",
        421
    ],
    [
        "metabase.api.session$fn__64987$create_session_BANG___64980__64992$fn__64993",
        "invoke",
        "session.clj",
        56
    ],
    [
        "metabase.api.session$fn__64987$create_session_BANG___64980__64992",
        "invoke",
        "session.clj",
        52
    ],
    [
        "clojure.lang.AFn",
        "applyToHelper",
        "AFn.java",
        156
    ],
    [
        "clojure.lang.AFn",
        "applyTo",
        "AFn.java",
        144
    ],
    [
        "clojure.lang.AFunction$1",
        "doInvoke",
        "AFunction.java",
        31
    ],
    [
        "clojure.lang.RestFn",
        "invoke",
        "RestFn.java",
        421
    ],
    [
        "clojure.lang.MultiFn",
        "invoke",
        "MultiFn.java",
        234
    ],
    [
        "metabase.api.session$fn__65037$email_login__65042$fn__65043",
        "invoke",
        "session.clj",
        92
    ],
    [
        "metabase.api.session$fn__65037$email_login__65042",
        "invoke",
        "session.clj",
        87
    ],
    [
        "metabase.api.session$fn__65063$login__65068$fn__65069",
        "invoke",
        "session.clj",
        108
    ],
    [
        "metabase.api.session$fn__65063$login__65068",
        "invoke",
        "session.clj",
        102
    ],
    [
        "metabase.api.session$do_login",
        "invokeStatic",
        "session.clj",
        125
    ],
    [
        "metabase.api.session$do_login",
        "invoke",
        "session.clj",
        122
    ],
    [
        "metabase.api.session$fn__65091$fn__65094$fn__65095$fn__65096",
        "invoke",
        "session.clj",
        152
    ],
    [
        "throttle.core$do_with_throttling",
        "invokeStatic",
        "core.clj",
        93
    ],
    [
        "throttle.core$do_with_throttling",
        "invoke",
        "core.clj",
        87
    ],
    [
        "metabase.api.session$fn__65091$fn__65094$fn__65095",
        "invoke",
        "session.clj",
        150
    ],
    [
        "throttle.core$do_with_throttling",
        "invokeStatic",
        "core.clj",
        93
    ],
    [
        "throttle.core$do_with_throttling",
        "invoke",
        "core.clj",
        87
    ],
    [
        "metabase.api.session$fn__65091$fn__65094",
        "invoke",
        "session.clj",
        150
    ],
    [
        "metabase.api.session$do_http_400_on_error",
        "invokeStatic",
        "session.clj",
        131
    ],
    [
        "metabase.api.session$do_http_400_on_error",
        "invoke",
        "session.clj",
        129
    ],
    [
        "metabase.api.session$fn__65091",
        "invokeStatic",
        "session.clj",
        149
    ],
    [
        "metabase.api.session$fn__65091",
        "invoke",
        "session.clj",
        141
    ],
    [
        "compojure.core$wrap_response$fn__1993",
        "invoke",
        "core.clj",
        160
    ],
    [
        "compojure.core$wrap_route_middleware$fn__1977",
        "invoke",
        "core.clj",
        132
    ],
    [
        "compojure.core$wrap_route_info$fn__1982",
        "invoke",
        "core.clj",
        139
    ],
    [
        "compojure.core$wrap_route_matches$fn__1986",
        "invoke",
        "core.clj",
        151
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005",
        "invoke",
        "core.clj",
        200
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005",
        "invoke",
        "core.clj",
        200
    ],
    [
        "compojure.core$make_context$handler__2033",
        "invoke",
        "core.clj",
        287
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        296
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        297
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005",
        "invoke",
        "core.clj",
        200
    ],
    [
        "clojure.lang.AFn",
        "applyToHelper",
        "AFn.java",
        160
    ],
    [
        "clojure.lang.AFn",
        "applyTo",
        "AFn.java",
        144
    ],
    [
        "clojure.core$apply",
        "invokeStatic",
        "core.clj",
        665
    ],
    [
        "clojure.core$apply",
        "invoke",
        "core.clj",
        660
    ],
    [
        "metabase.routes$fn__68548$fn__68549",
        "doInvoke",
        "routes.clj",
        56
    ],
    [
        "clojure.lang.RestFn",
        "invoke",
        "RestFn.java",
        436
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005",
        "invoke",
        "core.clj",
        200
    ],
    [
        "compojure.core$make_context$handler__2033",
        "invoke",
        "core.clj",
        287
    ],
    [
        "compojure.core$make_context$fn__2035",
        "invoke",
        "core.clj",
        296
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$wrap_route_matches$fn__1986",
        "invoke",
        "core.clj",
        153
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$wrap_route_matches$fn__1986",
        "invoke",
        "core.clj",
        153
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007",
        "invoke",
        "core.clj",
        197
    ],
    [
        "compojure.core$wrap_route_matches$fn__1986",
        "invoke",
        "core.clj",
        153
    ],
    [
        "compojure.core$routes$fn__2005$f__2006",
        "invoke",
        "core.clj",
        198
    ],
    [
        "compojure.core$routes$fn__2005",
        "invoke",
        "core.clj",
        200
    ],
    [
        "metabase.middleware.exceptions$catch_uncaught_exceptions$fn__67123",
        "invoke",
        "exceptions.clj",
        96
    ],
    [
        "metabase.middleware.exceptions$catch_api_exceptions$fn__67120",
        "invoke",
        "exceptions.clj",
        84
    ],
    [
        "metabase.middleware.log$log_api_call$fn__68926$fn__68927",
        "invoke",
        "log.clj",
        197
    ],
    [
        "toucan.db$_do_with_call_counting",
        "invokeStatic",
        "db.clj",
        216
    ],
    [
        "toucan.db$_do_with_call_counting",
        "invoke",
        "db.clj",
        209
    ],
    [
        "metabase.middleware.log$log_api_call$fn__68926",
        "invoke",
        "log.clj",
        191
    ],
    [
        "metabase.middleware.security$add_security_headers$fn__67086",
        "invoke",
        "security.clj",
        121
    ],
    [
        "metabase.middleware.json$wrap_json_body$fn__68629",
        "invoke",
        "json.clj",
        64
    ],
    [
        "metabase.middleware.json$wrap_streamed_json_response$fn__68647",
        "invoke",
        "json.clj",
        100
    ],
    [
        "ring.middleware.keyword_params$wrap_keyword_params$fn__69219",
        "invoke",
        "keyword_params.clj",
        55
    ],
    [
        "ring.middleware.params$wrap_params$fn__69267",
        "invoke",
        "params.clj",
        69
    ],
    [
        "metabase.middleware.misc$maybe_set_site_url$fn__68957",
        "invoke",
        "misc.clj",
        60
    ],
    [
        "metabase.middleware.session$bind_current_user$fn__63609$fn__63610",
        "invoke",
        "session.clj",
        209
    ],
    [
        "metabase.middleware.session$do_with_current_user",
        "invokeStatic",
        "session.clj",
        184
    ],
    [
        "metabase.middleware.session$do_with_current_user",
        "invoke",
        "session.clj",
        177
    ],
    [
        "metabase.middleware.session$bind_current_user$fn__63609",
        "invoke",
        "session.clj",
        208
    ],
    [
        "metabase.middleware.session$wrap_current_user_id$fn__63594",
        "invoke",
        "session.clj",
        161
    ],
    [
        "metabase.middleware.session$wrap_session_id$fn__63538",
        "invoke",
        "session.clj",
        125
    ],
    [
        "metabase.middleware.auth$wrap_api_key$fn__67028",
        "invoke",
        "auth.clj",
        27
    ],
    [
        "metabase.middleware.misc$bind_user_locale$fn__68962",
        "invoke",
        "misc.clj",
        79
    ],
    [
        "ring.middleware.cookies$wrap_cookies$fn__69139",
        "invoke",
        "cookies.clj",
        216
    ],
    [
        "metabase.middleware.misc$add_content_type$fn__68942",
        "invoke",
        "misc.clj",
        29
    ],
    [
        "metabase.middleware.misc$disable_streaming_buffering$fn__68971",
        "invoke",
        "misc.clj",
        95
    ],
    [
        "ring.middleware.gzip$wrap_gzip$fn__69181",
        "invoke",
        "gzip.clj",
        86
    ],
    [
        "metabase.server$async_proxy_handler$fn__68704",
        "invoke",
        "server.clj",
        70
    ],
    [
        "metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a",
        "handle",
        null,
        -1
    ],
    [
        "org.eclipse.jetty.server.handler.HandlerWrapper",
        "handle",
        "HandlerWrapper.java",
        127
    ],
    [
        "org.eclipse.jetty.server.Server",
        "handle",
        "Server.java",
        500
    ],
    [
        "org.eclipse.jetty.server.HttpChannel",
        "lambda$handle$1",
        "HttpChannel.java",
        383
    ],
    [
        "org.eclipse.jetty.server.HttpChannel",
        "dispatch",
        "HttpChannel.java",
        547
    ],
    [
        "org.eclipse.jetty.server.HttpChannel",
        "handle",
        "HttpChannel.java",
        375
    ],
    [
        "org.eclipse.jetty.server.HttpConnection",
        "onFillable",
        "HttpConnection.java",
        273
    ],
    [
        "org.eclipse.jetty.io.AbstractConnection$ReadCallback",
        "succeeded",
        "AbstractConnection.java",
        311
    ],
    [
        "org.eclipse.jetty.io.FillInterest",
        "fillable",
        "FillInterest.java",
        103
    ],
    [
        "org.eclipse.jetty.io.ChannelEndPoint$2",
        "run",
        "ChannelEndPoint.java",
        117
    ],
    [
        "org.eclipse.jetty.util.thread.strategy.EatWhatYouKill",
        "runTask",
        "EatWhatYouKill.java",
        336
    ],
    [
        "org.eclipse.jetty.util.thread.strategy.EatWhatYouKill",
        "doProduce",
        "EatWhatYouKill.java",
        313
    ],
    [
        "org.eclipse.jetty.util.thread.strategy.EatWhatYouKill",
        "tryProduce",
        "EatWhatYouKill.java",
        171
    ],
    [
        "org.eclipse.jetty.util.thread.strategy.EatWhatYouKill",
        "run",
        "EatWhatYouKill.java",
        129
    ],
    [
        "org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread",
        "run",
        "ReservedThreadExecutor.java",
        375
    ],
    [
        "org.eclipse.jetty.util.thread.QueuedThreadPool",
        "runJob",
        "QueuedThreadPool.java",
        806
    ],
    [
        "org.eclipse.jetty.util.thread.QueuedThreadPool$Runner",
        "run",
        "QueuedThreadPool.java",
        938
    ],
    [
        "java.lang.Thread",
        "run",
        null,
        -1
    ]
],
"cause": "No implementation of method: :post-insert of protocol: #'toucan.models/IModel found for class: nil",
"message": "No implementation of method: :post-insert of protocol: #'toucan.models/IModel found for class: nil",
"type": "class java.lang.IllegalArgumentException"
}

Hi @michaelkleban
Are you using PgPool? Then you’re likely seeing this issue:
https://github.com/metabase/toucan/issues/77