There was a problem displaying this chart: why?

I have some dashboards with two connections: MySQL (via SSH tunnel) and Google Analytics. The Metabase DB is on MySQL (another server, in localhost). With both connections, from time to time, the results aren’t displayed with a “There was a problem displaying this chart” error. I don’t find a rule, the behavior seems to be random. If I reload the page sometimes works, sometime no, sometime others charts / table / numbers show the error.

How can I inspect the log in this cases? What can I do?

Thanks,

Best regards

Hi @marciuz
Which version are you using?
Inspecting the log file, well, that depends on what environment you’re running Metabase in - Docker, JAR, AWS EB, Mac App, …?
If you’re running version 0.32, then you can see log in Admin Settings > Troubleshooting > Log.
You should look at the log at the times, when it’s displaying the error - there should be an ERROR with a full stacktrace.

Hi,
I’m using the JAR version, the last available (0.32.8), but the problem seems to be started with the 0.32.*

Here some error logs:

May 24 08:46:29 WARN metabase.query-processor.middleware.process-userland-query :: Fallimento query {:status :failed,
:class java.sql.SQLNonTransientConnectionException,
:error “(conn=2302047) Broken pipe (Write failed)”,
:stacktrace
(“org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:234)”
“org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:165)”
“org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:238)”
“org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:356)”
“org.mariadb.jdbc.MariaDbStatement.executeQuery(MariaDbStatement.java:530)”
“org.mariadb.jdbc.MariaDbConnection.getTransactionIsolation(MariaDbConnection.java:951)”
“com.mchange.v2.c3p0.impl.NewProxyConnection.getTransactionIsolation(NewProxyConnection.java:277)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:790)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:834)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:782)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“–> driver.sql_jdbc.execute$do_in_transaction.invokeStatic(execute.clj:240)”
“driver.sql_jdbc.execute$do_in_transaction.invoke(execute.clj:239)”
“driver.sql_jdbc.execute$run_query_without_timezone.invokeStatic(execute.clj:258)”
“driver.sql_jdbc.execute$run_query_without_timezone.invoke(execute.clj:257)”
“driver.sql_jdbc.execute$run_query_with_timezone.invokeStatic(execute.clj:270)”
“driver.sql_jdbc.execute$run_query_with_timezone.invoke(execute.clj:260)”
“driver.sql_jdbc.execute$execute_query$fn__62602.invoke(execute.clj:287)”
“driver.sql_jdbc.execute$do_with_try_catch.invokeStatic(execute.clj:216)”
“driver.sql_jdbc.execute$do_with_try_catch.invoke(execute.clj:210)”
“driver.sql_jdbc.execute$execute_query.invokeStatic(execute.clj:284)”
“driver.sql_jdbc.execute$execute_query.invoke(execute.clj:278)”
“driver.sql_jdbc$fn__62845.invokeStatic(sql_jdbc.clj:48)”
“driver.sql_jdbc$fn__62845.invoke(sql_jdbc.clj:47)”
“query_processor$fn__40384$execute_query__40389$fn__40390.invoke(query_processor.clj:61)”
“query_processor$fn__40384$execute_query__40389.invoke(query_processor.clj:55)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__34664.invoke(mbql_to_native.clj:36)”
“query_processor.middleware.annotate$result_rows_maps__GT_vectors$fn__32695.invoke(annotate.clj:368)”
“query_processor.middleware.annotate$add_column_info$fn__32600.invoke(annotate.clj:303)”
“query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__34144.invoke(cumulative_aggregations.clj:57)”
“query_processor.middleware.limit$limit$fn__34637.invoke(limit.clj:19)”
“query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__40249.invoke(results_metadata.clj:86)”
“query_processor.middleware.format_rows$format_rows$fn__34625.invoke(format_rows.clj:26)”
“query_processor.middleware.add_dimension_projections$add_remapping$fn__31752.invoke(add_dimension_projections.clj:234)”
“query_processor.middleware.add_row_count_and_status$add_row_count_and_status$fn__32146.invoke(add_row_count_and_status.clj:16)”
“query_processor.middleware.driver_specific$process_query_in_context$fn__34386.invoke(driver_specific.clj:12)”
“query_processor.middleware.resolve_driver$resolve_driver$fn__37215.invoke(resolve_driver.clj:15)”
“query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__33550$fn__33551.invoke(bind_effective_timezone.clj:9)”
“util.date$call_with_effective_timezone.invokeStatic(date.clj:88)”
“util.date$call_with_effective_timezone.invoke(date.clj:77)”
“query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__33550.invoke(bind_effective_timezone.clj:8)”
“query_processor.middleware.store$initialize_store$fn__40274$fn__40275.invoke(store.clj:11)”
“query_processor.store$do_with_new_store.invokeStatic(store.clj:35)”
“query_processor.store$do_with_new_store.invoke(store.clj:31)”
“query_processor.middleware.store$initialize_store$fn__40274.invoke(store.clj:10)”
“query_processor.middleware.async$async__GT_sync$fn__33146.invoke(async.clj:19)”
“query_processor.middleware.async_wait$runnable$fn__33277.invoke(async_wait.clj:71)”),
:query
{:constraints {:max-results 10000, :max-results-bare-rows 2000},
:type :native,
:middleware {:userland-query? true},
:native
{:query “SELECT DATE(data_ins) d, count(*) \nFROM partecipazione\nWHERE DATE(data_ins) = CURRENT_DATE\nOR DATE(data_ins) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)\nGROUP BY d \nORDER BY d ASC\n”},
:info
{:executed-by 1,
:context :question,
:card-id 134,
:dashboard-id nil,
:query-hash [98, 20, 15, 74, 37, -61, -65, -58, -92, 22, 23, -30, 2, 115, 115, -78, 38, 54, -40, -65, -118, 63, -60, -59, 61, -69, -43, -103, -95, -23, -21, 29]},
:parameters [],
:async? true,
:cache-ttl nil}}

or another one:

May 24 08:46:29 DEBUG metabase.middleware.log :: POST /api/card/134/query 200 [ASYNC: completed] 712 ms (9 DB calls) Jetty threads: 4/50 (3 idle, 0 queued) (92 total active threads) Queries in flight: 3
May 24 08:46:29 WARN metabase.query-processor.middleware.process-userland-query :: Fallimento query {:status :failed,
:class java.sql.SQLNonTransientConnectionException,
:error “(conn=2293823) Broken pipe (Write failed)”,
:stacktrace
(“org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:234)”
“org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:165)”
“org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:238)”
“org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:356)”
“org.mariadb.jdbc.MariaDbStatement.executeQuery(MariaDbStatement.java:530)”
“org.mariadb.jdbc.MariaDbConnection.getTransactionIsolation(MariaDbConnection.java:951)”
“com.mchange.v2.c3p0.impl.NewProxyConnection.getTransactionIsolation(NewProxyConnection.java:277)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:790)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:834)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:782)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“–> driver.sql_jdbc.execute$do_in_transaction.invokeStatic(execute.clj:240)”
“driver.sql_jdbc.execute$do_in_transaction.invoke(execute.clj:239)”
“driver.sql_jdbc.execute$run_query_without_timezone.invokeStatic(execute.clj:258)”
“driver.sql_jdbc.execute$run_query_without_timezone.invoke(execute.clj:257)”
“driver.sql_jdbc.execute$run_query_with_timezone.invokeStatic(execute.clj:270)”
“driver.sql_jdbc.execute$run_query_with_timezone.invoke(execute.clj:260)”
“driver.sql_jdbc.execute$execute_query$fn__62602.invoke(execute.clj:287)”
“driver.sql_jdbc.execute$do_with_try_catch.invokeStatic(execute.clj:216)”
“driver.sql_jdbc.execute$do_with_try_catch.invoke(execute.clj:210)”
“driver.sql_jdbc.execute$execute_query.invokeStatic(execute.clj:284)”
“driver.sql_jdbc.execute$execute_query.invoke(execute.clj:278)”
“driver.sql_jdbc$fn__62845.invokeStatic(sql_jdbc.clj:48)”
“driver.sql_jdbc$fn__62845.invoke(sql_jdbc.clj:47)”
“query_processor$fn__40384$execute_query__40389$fn__40390.invoke(query_processor.clj:61)”
“query_processor$fn__40384$execute_query__40389.invoke(query_processor.clj:55)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__34664.invoke(mbql_to_native.clj:36)”
“query_processor.middleware.annotate$result_rows_maps__GT_vectors$fn__32695.invoke(annotate.clj:368)”
“query_processor.middleware.annotate$add_column_info$fn__32600.invoke(annotate.clj:303)”
“query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__34144.invoke(cumulative_aggregations.clj:57)”
“query_processor.middleware.limit$limit$fn__34637.invoke(limit.clj:19)”
“query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__40249.invoke(results_metadata.clj:86)”
“query_processor.middleware.format_rows$format_rows$fn__34625.invoke(format_rows.clj:26)”
“query_processor.middleware.add_dimension_projections$add_remapping$fn__31752.invoke(add_dimension_projections.clj:234)”
“query_processor.middleware.add_row_count_and_status$add_row_count_and_status$fn__32146.invoke(add_row_count_and_status.clj:16)”
“query_processor.middleware.driver_specific$process_query_in_context$fn__34386.invoke(driver_specific.clj:12)”
“query_processor.middleware.resolve_driver$resolve_driver$fn__37215.invoke(resolve_driver.clj:15)”
“query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__33550$fn__33551.invoke(bind_effective_timezone.clj:9)”
“util.date$call_with_effective_timezone.invokeStatic(date.clj:88)”
“util.date$call_with_effective_timezone.invoke(date.clj:77)”
“query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__33550.invoke(bind_effective_timezone.clj:8)”
“query_processor.middleware.store$initialize_store$fn__40274$fn__40275.invoke(store.clj:11)”
“query_processor.store$do_with_new_store.invokeStatic(store.clj:35)”
“query_processor.store$do_with_new_store.invoke(store.clj:31)”
“query_processor.middleware.store$initialize_store$fn__40274.invoke(store.clj:10)”
“query_processor.middleware.async$async__GT_sync$fn__33146.invoke(async.clj:19)”
“query_processor.middleware.async_wait$runnable$fn__33277.invoke(async_wait.clj:71)”),
:query
{:constraints {:max-results 10000, :max-results-bare-rows 2000},
:type :native,
:middleware {:userland-query? true},
:native
{:query
“SELECT SUM(tot_parziale) tot FROM (\n\n SELECT SUM(imponibile) tot_parziale\n FROM __o o\n WHERE stato_saldo=‘PAGATO’\n AND imponibile > 0\n AND DATE(data_pagamento) = CURRENT_DATE\n \n UNION \n \n SELECT SUM(prepagato) tot_parziale\n FROM coupon c \n WHERE DATE(c.data_gen) = CURRENT_DATE\n AND prepagato > 0\n\n) t\n;”},
:info
{:executed-by 1,
:context :question,
:card-id 137,
:dashboard-id nil,
:query-hash [10, -72, 83, 95, -81, -112, -66, 81, -66, 5, 70, -95, -4, 15, -121, -64, 51, -101, -4, -117, 0, -60, 67, 107, 32, -63, 51, 1, 51, 74, 118, 1]},
:parameters [],
:async? true,
:cache-ttl nil}}

May 24 08:46:29 DEBUG metabase.middleware.log :: POST /api/card/137/query 200 [ASYNC: completed] 803 ms (9 DB calls) Jetty threads: 4/50 (3 idle, 0 queued) (92 total active threads) Queries in flight: 2
May 24 08:46:29 WARN metabase.query-processor.middleware.process-userland-query :: Fallimento query {:status :failed,
:class java.sql.SQLNonTransientConnectionException,
:error “(conn=2258102) Broken pipe (Write failed)”,
:stacktrace
(“org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:234)”
“org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:165)”
“org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:238)”
“org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:356)”
“org.mariadb.jdbc.MariaDbStatement.executeQuery(MariaDbStatement.java:530)”
“org.mariadb.jdbc.MariaDbConnection.getTransactionIsolation(MariaDbConnection.java:951)”
“com.mchange.v2.c3p0.impl.NewProxyConnection.getTransactionIsolation(NewProxyConnection.java:277)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:790)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:834)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:782)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“–> driver.sql_jdbc.execute$do_in_transaction.invokeStatic(execute.clj:240)”
“driver.sql_jdbc.execute$do_in_transaction.invoke(execute.clj:239)”
“driver.sql_jdbc.execute$run_query_without_timezone.invokeStatic(execute.clj:258)”
“driver.sql_jdbc.execute$run_query_without_timezone.invoke(execute.clj:257)”
“driver.sql_jdbc.execute$run_query_with_timezone.invokeStatic(execute.clj:270)”
“driver.sql_jdbc.execute$run_query_with_timezone.invoke(execute.clj:260)”
“driver.sql_jdbc.execute$execute_query$fn__62602.invoke(execute.clj:287)”
“driver.sql_jdbc.execute$do_with_try_catch.invokeStatic(execute.clj:216)”
“driver.sql_jdbc.execute$do_with_try_catch.invoke(execute.clj:210)”
“driver.sql_jdbc.execute$execute_query.invokeStatic(execute.clj:284)”
“driver.sql_jdbc.execute$execute_query.invoke(execute.clj:278)”
“driver.sql_jdbc$fn__62845.invokeStatic(sql_jdbc.clj:48)”
“driver.sql_jdbc$fn__62845.invoke(sql_jdbc.clj:47)”
“query_processor$fn__40384$execute_query__40389$fn__40390.invoke(query_processor.clj:61)”
“query_processor$fn__40384$execute_query__40389.invoke(query_processor.clj:55)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__34664.invoke(mbql_to_native.clj:36)”
“query_processor.middleware.annotate$result_rows_maps__GT_vectors$fn__32695.invoke(annotate.clj:368)”
“query_processor.middleware.annotate$add_column_info$fn__32600.invoke(annotate.clj:303)”
“query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__34144.invoke(cumulative_aggregations.clj:57)”
“query_processor.middleware.limit$limit$fn__34637.invoke(limit.clj:19)”
“query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__40249.invoke(results_metadata.clj:86)”
“query_processor.middleware.format_rows$format_rows$fn__34625.invoke(format_rows.clj:26)”
“query_processor.middleware.add_dimension_projections$add_remapping$fn__31752.invoke(add_dimension_projections.clj:234)”
“query_processor.middleware.add_row_count_and_status$add_row_count_and_status$fn__32146.invoke(add_row_count_and_status.clj:16)”
“query_processor.middleware.driver_specific$process_query_in_context$fn__34386.invoke(driver_specific.clj:12)”
“query_processor.middleware.resolve_driver$resolve_driver$fn__37215.invoke(resolve_driver.clj:15)”
“query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__33550$fn__33551.invoke(bind_effective_timezone.clj:9)”
“util.date$call_with_effective_timezone.invokeStatic(date.clj:88)”
“util.date$call_with_effective_timezone.invoke(date.clj:77)”
“query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__33550.invoke(bind_effective_timezone.clj:8)”
“query_processor.middleware.store$initialize_store$fn__40274$fn__40275.invoke(store.clj:11)”
“query_processor.store$do_with_new_store.invokeStatic(store.clj:35)”
“query_processor.store$do_with_new_store.invoke(store.clj:31)”
“query_processor.middleware.store$initialize_store$fn__40274.invoke(store.clj:10)”
“query_processor.middleware.async$async__GT_sync$fn__33146.invoke(async.clj:19)”
“query_processor.middleware.async_wait$runnable$fn__33277.invoke(async_wait.clj:71)”),
:query
{:constraints {:max-results 10000, :max-results-bare-rows 2000},
:type :native,
:middleware {:userland-query? true},
:native
{:query
“SELECT CURRENT_DATE d, COUNT() n\nFROM __o o\nWHERE stato_saldo=‘PAGATO’\nAND imponibile > 0\nAND DATE(data_pagamento) = CURRENT_DATE\n\nUNION \n\nSELECT DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY) d, COUNT() n\nFROM __o o\nWHERE stato_saldo=‘PAGATO’\nAND imponibile > 0\nAND DATE(data_pagamento) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)\n\nORDER BY d ASC”},
:info
{:executed-by 1,
:context :question,
:card-id 136,
:dashboard-id nil,
:query-hash [45, -70, -86, 117, -57, -27, 70, 88, -6, 101, 8, -34, 63, -75, -85, 48, 73, -100, -106, -31, 52, -78, 77, 3, 115, -3, 113, 122, 84, 87, -7, 87]},
:parameters [],
:async? true,
:cache-ttl nil}}

Okay, great. With what you describe and what the log says, it sounds like you’re experiencing issue #9989 and/or #9885. Go and click the Subscribe-button on the issue to get notification when anything happens.

1 Like