Cannot access anything on Metabase

Hi,
I was using metabase this evening then suddenly started getting 'We're experiencing server issues'.
Now I cannot access anything. Whatever tab I go into i get ' The database has been closed [90098-197]' error.
I am on the free version and this is blocking all the embedded dashboards I have in my application. I am also adding the logs below -
[db417b52-8e42-4a4f-9376-b4113f1f0164] 2021-12-21T00:21:27+05:30 WARN org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler Failed restore connection's original auto commit setting.

org.h2.jdbc.JdbcSQLException: The database has been closed [90098-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.engine.Session.getTransaction(Session.java:1686)
at org.h2.engine.Session.getStatementSavepoint(Session.java:1696)
at org.h2.engine.Session.setSavepoint(Session.java:859)
at org.h2.command.Command.executeUpdate(Command.java:255)
at org.h2.jdbc.JdbcConnection.commit(JdbcConnection.java:497)
at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:457)
at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:1059)
at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.restoreOriginalAtributes(AttributeRestoringConnectionInvocationHandler.java:141)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.cleanupConnection(JobStoreSupport.java:3589)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3273)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3857)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.run(JobStoreSupport.java:3894)
[db417b52-8e42-4a4f-9376-b4113f1f0164] 2021-12-21T00:21:28+05:30 ERROR metabase.server Unexpected Exception in API request handler
org.h2.jdbc.JdbcSQLException: The database has been closed [90098-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.engine.Database.checkPowerOff(Database.java:536)
at org.h2.command.Command.executeQuery(Command.java:228)
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:431)
at clojure.java.jdbc$execute_query_with_params.invokeStatic(jdbc.clj:1090)
at clojure.java.jdbc$execute_query_with_params.invoke(jdbc.clj:1084)
at clojure.java.jdbc$db_query_with_resultset_STAR_.invokeStatic(jdbc.clj:1113)
at clojure.java.jdbc$db_query_with_resultset_STAR_.invoke(jdbc.clj:1093)
at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1182)
at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1160)
at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
at metabase.server.middleware.session$current_user_info_for_session.invokeStatic(session.clj:201)
at metabase.server.middleware.session$current_user_info_for_session.invoke(session.clj:191)
at metabase.server.middleware.session$merge_current_user_info.invokeStatic(session.clj:207)
at metabase.server.middleware.session$merge_current_user_info.invoke(session.clj:203)
at metabase.server.middleware.session$wrap_current_user_info$fn__44946.invoke(session.clj:216)
at metabase.server.middleware.session$wrap_session_id$fn__44932.invoke(session.clj:162)
at metabase.server.middleware.auth$wrap_api_key$fn__70244.invoke(auth.clj:27)
at ring.middleware.cookies$wrap_cookies$fn__83711.invoke(cookies.clj:216)
at metabase.server.middleware.misc$add_content_type$fn__34040.invoke(misc.clj:27)
at metabase.server.middleware.misc$disable_streaming_buffering$fn__34065.invoke(misc.clj:76)
at ring.middleware.gzip$wrap_gzip$fn__83753.invoke(gzip.clj:86)
at metabase.server.middleware.misc$bind_request$fn__34068.invoke(misc.clj:93)
at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__83540.invoke(ssl.clj:38)
at metabase.server$async_proxy_handler$fn__80084.invoke(server.clj:71)
at metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Unknown Source)
[db417b52-8e42-4a4f-9376-b4113f1f0164] 2021-12-21T00:21:28+05:30 ERROR metabase.server Unexpected exception in endpoint
org.h2.jdbc.JdbcSQLException: The database has been closed [90098-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.engine.Database.checkPowerOff(Database.java:536)
at org.h2.command.Command.executeQuery(Command.java:228)
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:431)
at clojure.java.jdbc$execute_query_with_params.invokeStatic(jdbc.clj:1090)
at clojure.java.jdbc$execute_query_with_params.invoke(jdbc.clj:1084)
at clojure.java.jdbc$db_query_with_resultset_STAR_.invokeStatic(jdbc.clj:1113)
at clojure.java.jdbc$db_query_with_resultset_STAR_.invoke(jdbc.clj:1093)
at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1182)
at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1160)
at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
at metabase.server.middleware.session$current_user_info_for_session.invokeStatic(session.clj:201)
at metabase.server.middleware.session$current_user_info_for_session.invoke(session.clj:191)
at metabase.server.middleware.session$merge_current_user_info.invokeStatic(session.clj:207)
at metabase.server.middleware.session$merge_current_user_info.invoke(session.clj:203)
at metabase.server.middleware.session$wrap_current_user_info$fn__44946.invoke(session.clj:216)
at metabase.server.middleware.session$wrap_session_id$fn__44932.invoke(session.clj:162)
at metabase.server.middleware.auth$wrap_api_key$fn__70244.invoke(auth.clj:27)
at ring.middleware.cookies$wrap_cookies$fn__83711.invoke(cookies.clj:216)
at metabase.server.middleware.misc$add_content_type$fn__34040.invoke(misc.clj:27)
at metabase.server.middleware.misc$disable_streaming_buffering$fn__34065.invoke(misc.clj:76)
at ring.middleware.gzip$wrap_gzip$fn__83753.invoke(gzip.clj:86)
at metabase.server.middleware.misc$bind_request$fn__34068.invoke(misc.clj:93)
at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__83540.invoke(ssl.clj:38)
at metabase.server$async_proxy_handler$fn__80084.invoke(server.clj:71)
at metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Unknown Source)

Did not change anything db setup wise.

version - 0.41.0

Thanks.

Hi @Rishabh9
You should upgrade immediately: Urgent Security Upgrade for Metabase
And migrate away from H2 if you're using Metabase in production:
https://www.metabase.com/docs/latest/operations-guide/migrating-from-h2.html

@flamber Ok i'll upgrade. I am using Postgres db. but there is a db named sample dataset that is H2 but we don't use it. Does that create a problem?

@Rishabh9 Time to check your server if there's been unauthorized access, since the stacktrace clearly says that it's using the H2 as the application database.

@flamber Yes that's the issue since I am not even able to see the login history page as I am getting ' The database has been closed [90098-197]' issue. My dashboards are accessible for a minute then go out giving the same error for the next 5 minutes.

@Rishabh9 Are you running the latest release or not? Let me make it perfectly clear that the Log4j vulnerability can be exploited without you knowing it or being able to see anything in the logs.
I would recommend that you go through everything on your server and make sure it's up-to-date and not running anything it shouldn't.
I cannot help you much more.

@flamber As mentioned I am not on the latest version. I am upgrading it now. Just wanted as much info as possible since I am new to this. I'll upgrade everything and check. Thanks.