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