Out of Memory (dashboarD) on chrome and edge

Hi!

I’m having a problem with only 1 user of metabase (for now) and in just 1 dashboard.
When he open the dashboard (that have a lot of questions, 20~30), he recive a memory error on chrome and Edge.

When whe enter on the dashboard. Its show de questions loading, and after a few seconds, he got that memory error

Tha strange part its that looks the problemn only occours when the filter is “Fintech” (a field filter value). When he try with another value, its works :joy:

I removed the most part of the questions, just for test, and the problem continues. Its like that second question got some error and blows up the dashboard.

We verify the memory on pc, and it was ok.

This is what show on log (its was alot other think, but this is the error I got. The log was pretty strange, some times don’t show nothing to me)

[c61baa96-ad8d-4204-ae4a-bbda46d466f9] 2020-09-08T14:37:34-03:00 ERROR metabase.query-processor.middleware.catch-exceptions Erro ao processar a query: null
{:database_id 24,
:started_at #t “2020-09-08T14:37:29.996440-03:00[America/Sao_Paulo]”,
:state “57014”,
:json_query
{:constraints {:max-results 10000, :max-results-bare-rows 2000},
:type :native,
:middleware nil,
:native
{:query
“MY SQL WAS HERE”,
:template-tags
{“id_empresa” {:id “234c2219-fd7d-90e3-f7eb-fcd105f95a7b”, :name “id_empresa”, :display-name “empresa”, :type :dimension, :dimension [:field-id 17608], :widget-type :category, :required false},
“data_fechamento”
{:id “510ebf59-7b30-0e6b-f95e-dd05e389de2a”,
:name “data_fechamento”,
:display-name “mes fechamento”,
:type :dimension,
:dimension [:field-id 12677],
:widget-type :date/all-options,
:required true,
:default “thisyear”},
“id_versao” {:id “3f036abe-7ac1-8792-363d-ac92a46f53c7”, :name “id_versao”, :display-name “Id versao”, :type :text}}},
:database 24,
:parameters
[{:type “category”, :target [“dimension” [“template-tag” “id_empresa”]], :value “TecnoSpeed Fintech”}
{:type “date/all-options”, :target [“dimension” [“template-tag” “data_fechamento”]], :value “past4months”}],
:async? true,
:cache-ttl 16},
:status :failed,
:class org.postgresql.util.PSQLException,
:stacktrace
[“org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2497)”
“org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2233)”
“org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:310)”
“org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:446)”
“org.postgresql.jdbc.PgStatement.execute(PgStatement.java:370)”
“org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:149)”
“org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:108)”
“com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:431)”
“–> driver.sql_jdbc.execute$fn__72519.invokeStatic(execute.clj:267)”
“driver.sql_jdbc.execute$fn__72519.invoke(execute.clj:265)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:389)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:377)”
“driver.sql_jdbc$fn__73834.invokeStatic(sql_jdbc.clj:49)”
“driver.sql_jdbc$fn__73834.invoke(sql_jdbc.clj:47)”
“query_processor.context$executef.invokeStatic(context.clj:59)”
“query_processor.context$executef.invoke(context.clj:48)”
“query_processor.context.default$default_runf.invokeStatic(default.clj:69)”
“query_processor.context.default$default_runf.invoke(default.clj:67)”
“query_processor.context$runf.invokeStatic(context.clj:45)”
“query_processor.context$runf.invoke(context.clj:39)”
“query_processor.reducible$pivot.invokeStatic(reducible.clj:34)”
“query_processor.reducible$pivot.invoke(reducible.clj:31)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__45532.invoke(mbql_to_native.clj:26)”
“query_processor.middleware.check_features$check_features$fn__44834.invoke(check_features.clj:42)”
“query_processor.middleware.optimize_datetime_filters$optimize_datetime_filters$fn__45697.invoke(optimize_datetime_filters.clj:133)”
“query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__47225.invoke(wrap_value_literals.clj:137)”
“query_processor.middleware.annotate$add_column_info$fn__43455.invoke(annotate.clj:574)”
“query_processor.middleware.permissions$check_query_permissions$fn__44709.invoke(permissions.clj:64)”
“query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__46215.invoke(pre_alias_aggregations.clj:40)”
“query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__44907.invoke(cumulative_aggregations.clj:61)”
“query_processor.middleware.resolve_joins$resolve_joins$fn__46747.invoke(resolve_joins.clj:183)”
“query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__39185.invoke(add_implicit_joins.clj:245)”
“query_processor.middleware.limit$limit$fn__45518.invoke(limit.clj:38)”
“query_processor.middleware.format_rows$format_rows$fn__45499.invoke(format_rows.clj:81)”
“query_processor.middleware.desugar$desugar$fn__44973.invoke(desugar.clj:22)”
“query_processor.middleware.binning$update_binning_strategy$fn__43999.invoke(binning.clj:229)”
“query_processor.middleware.resolve_fields$resolve_fields$fn__44515.invoke(resolve_fields.clj:24)”
“query_processor.middleware.add_dimension_projections$add_remapping$fn__38734.invoke(add_dimension_projections.clj:270)”
“query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__38941.invoke(add_implicit_clauses.clj:141)”
“query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__39334.invoke(add_source_metadata.clj:105)”
“query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__46412.invoke(reconcile_breakout_and_order_by_bucketing.clj:98)”
“query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__43640.invoke(auto_bucket_datetimes.clj:125)”
“query_processor.middleware.resolve_source_table$resolve_source_tables$fn__44562.invoke(resolve_source_table.clj:46)”
“query_processor.middleware.parameters$substitute_parameters$fn__46197.invoke(parameters.clj:114)”
“query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__44614.invoke(resolve_referenced.clj:80)”
“query_processor.middleware.expand_macros$expand_macros$fn__45229.invoke(expand_macros.clj:158)”
“query_processor.middleware.add_timezone_info$add_timezone_info$fn__39365.invoke(add_timezone_info.clj:15)”
“query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__47109.invoke(splice_params_in_response.clj:32)”
“query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__46423$fn__46427.invoke(resolve_database_and_driver.clj:33)”
“driver$do_with_driver.invokeStatic(driver.clj:61)”
“driver$do_with_driver.invoke(driver.clj:57)”
“query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__46423.invoke(resolve_database_and_driver.clj:27)”
“query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__45447.invoke(fetch_source_query.clj:267)”
“query_processor.middleware.store$initialize_store$fn__47118$fn__47119.invoke(store.clj:11)”
“query_processor.store$do_with_store.invokeStatic(store.clj:46)”
“query_processor.store$do_with_store.invoke(store.clj:40)”
“query_processor.middleware.store$initialize_store$fn__47118.invoke(store.clj:10)”
“query_processor.middleware.cache$run_query_with_cache.invokeStatic(cache.clj:182)”
“query_processor.middleware.cache$run_query_with_cache.invoke(cache.clj:173)”
“query_processor.middleware.cache$maybe_return_cached_results$fn__44491.invoke(cache.clj:208)”
“query_processor.middleware.validate$validate_query$fn__47127.invoke(validate.clj:10)”
“query_processor.middleware.normalize_query$normalize$fn__45545.invoke(normalize_query.clj:22)”
“query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__39203.invoke(add_rows_truncated.clj:36)”
“query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__47094.invoke(results_metadata.clj:147)”
“query_processor.middleware.constraints$add_default_userland_constraints$fn__44850.invoke(constraints.clj:42)”
“query_processor.middleware.process_userland_query$process_userland_query$fn__46286.invoke(process_userland_query.clj:136)”
“query_processor.middleware.catch_exceptions$catch_exceptions$fn__44793.invoke(catch_exceptions.clj:174)”
“query_processor.reducible$async_qp$qp_STAR___38013$thunk__38014.invoke(reducible.clj:101)”
“query_processor.reducible$async_qp$qp_STAR___38013$fn__38016.invoke(reducible.clj:106)”],
:context :question,
:error “ERROR: canceling statement due to user request”,
:row_count 0,
:running_time 0,
:data {:rows [], :cols []}}

{
“browser-info”: {
“language”: “pt-BR”,
“platform”: “Win32”,
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0”,
“vendor”: “”
},
“system-info”: {
“file.encoding”: “UTF-8”,
“java.runtime.name”: “OpenJDK Runtime Environment”,
“java.runtime.version”: “11.0.8+10”,
“java.vendor”: “AdoptOpenJDK”,
“java.vendor.url”: “https://adoptopenjdk.net/”,
“java.version”: “11.0.8”,
“java.vm.name”: “OpenJDK 64-Bit Server VM”,
“java.vm.version”: “11.0.8+10”,
“os.name”: “Linux”,
“os.version”: “4.14.181-142.260.amzn2.x86_64”,
“user.language”: “en”,
“user.timezone”: “America/Sao_Paulo”
},
“metabase-info”: {
“databases”: [
“mongo”,
“googleanalytics”,
“mysql”,
“postgres”,
“h2”
],
“hosting-env”: “unknown”,
“application-database”: “postgres”,
“application-database-details”: {
“database”: {
“name”: “PostgreSQL”,
“version”: “9.6.16”
},
“jdbc-driver”: {
“name”: “PostgreSQL JDBC Driver”,
“version”: “42.2.8”
}
},
“run-mode”: “prod”,
“version”: {
“date”: “2020-08-17”,
“tag”: “v0.36.4”,
“branch”: “release-0.36.x”,
“hash”: “196c1f6”
},
“settings”: {
“report-timezone”: “UTC”
}
}
}

Hi @geovani

The error is not related, since that’s just because there’s no connection between the browser and Metabase - canceling statement due to user request

If this only happens for a single user, then it’s probably caused by a browser extension or setting.

I’m guessing the “Fintech” filter creates much more data points than other filter values, which might be why it’s running out of memory.

It sounds very similar to this issue, which has been very difficult to reproduce:
https://github.com/metabase/metabase/issues/10127

Might be worth a read too:
https://www.metabase.com/blog/faster-dashboards/index.html

1 Like

Oh ok.

I remembered another thing.
If he open the dashboard with browser console oppend, the dashbords loads properly…:thinking:

@geovani Well, then it definitely sounds like 10127, since it seems to trigger with a specific combination of resolution, window width, and probably OS zoom levels.
It is extremely difficult to fix issues, when we cannot reproduce, so if you can find a way to reproduce the issue on any computer, then please comment on the issue with exact details.

1 Like