Charts in subscriptions are not shown

Good morning,

We are using metabase version 0.43.4. and we are facing a strange behavior when we enable to send subscription from a dashboard. The thing is, sometimes some charts in the email are changed (from lines to bar) or simply they cannot be shown in the email and another the charts are shown. We attach two images, the first one the chart are not available in the email and in the second we can see it.


This behavior is produced in a random way, some days the charts are correctly attached and other not. So, from our a point of view, this is a possible bug.

Let us know your opinion.

Thanks in advance.

Hi @juan.moreno
Check Admin > Troubleshooting > Logs.
I'm guessing that you're seeing this issue:
https://github.com/metabase/metabase/issues/20752 - upvote by clicking :+1: on the first post

Hi @flamber,

Yes, we have seen this but our question is, why sometimes the charts in the email appear and in another not without changing anything in metabase.

Thanks in advance.

@juan.moreno Because there's sometimes gaps in your data, which then causes it to fail.
Without seeing a stacktrace, then I would have no idea if you are seeing that issue or not.

Hi @flamber,

Only to understand, If we have a gap in our data, why in Metabase we see the information properly without experiencing any trouble and in the email not? Because if we click in the first image "An error occurred while displaying this card" we see the chart perfectly, only to understand why this behavior is happening.

Thanks in advance.

@juan.moreno Because emails are using a completely different rendering engine.

@flamber thanks for your quick response! Here you have a trace of the logs:

[628e489a-9dbb-48d0-bb2d-e63fc7401a8d] 2022-10-13T16:34:56+02:00 ERROR metabase.pulse.render Pulse card render error
TypeError: Cannot read property '1' of undefined
	at <js> xg(file:/app/metabase.jar!/frontend_client/app/dist/lib-static-viz.bundle.js:2:390045-390048)
	at <js> r(file:/app/metabase.jar!/frontend_client/app/dist/lib-static-viz.bundle.js:2:398751-398766)
	at <js> :anonymous(file:/app/metabase.jar!/frontend_client/app/dist/lib-static-viz.bundle.js:2:397820-398814)
	at <js> l(file:/app/metabase.jar!/frontend_client/app/dist/lib-static-viz.bundle.js:2:397793-398856)
	at <js> Wg(file:/app/metabase.jar!/frontend_client/app/dist/lib-static-viz.bundle.js:2:397774-398860)
	at <js> a(file:/app/metabase.jar!/frontend_client/app/dist/lib-static-viz.bundle.js:2:212821-212834)
	at <js> n(file:/app/metabase.jar!/frontend_client/app/dist/lib-static-viz.bundle.js:2:213839-213844)
	at <js> n.render(file:/app/metabase.jar!/frontend_client/app/dist/lib-static-viz.bundle.js:2:212170-213890)
	at org.graalvm.polyglot.Value.execute(Value.java:841)
	at metabase.pulse.render.js_engine$execute_fn_name.invokeStatic(js_engine.clj:48)
	at metabase.pulse.render.js_engine$execute_fn_name.doInvoke(js_engine.clj:42)
	at clojure.lang.RestFn.invoke(RestFn.java:490)
	at metabase.pulse.render.js_svg$combo_chart.invokeStatic(js_svg.clj:155)
	at metabase.pulse.render.js_svg$combo_chart.invoke(js_svg.clj:147)
	at metabase.pulse.render.body$lab_image_bundle.invokeStatic(body.clj:594)
	at metabase.pulse.render.body$lab_image_bundle.invoke(body.clj:569)
	at metabase.pulse.render.body$fn__56014$render__56003__56019$fn__56020.invoke(body.clj:598)
	at metabase.pulse.render.body$fn__56014$render__56003__56019.invoke(body.clj:596)
	at clojure.lang.AFn.applyToHelper(AFn.java:178)
	at clojure.lang.AFn.applyTo(AFn.java:144)
	at clojure.lang.AFunction$1.doInvoke(AFunction.java:31)
	at clojure.lang.RestFn.invoke(RestFn.java:512)
	at clojure.lang.MultiFn.invoke(MultiFn.java:261)
	at metabase.pulse.render$fn__56589$render_pulse_card_body__56594$fn__56598.invoke(render.clj:143)
	at metabase.pulse.render$fn__56589$render_pulse_card_body__56594.invoke(render.clj:133)
	at metabase.pulse.render$fn__56628$render_pulse_card__56633$fn__56634.invoke(render.clj:169)
	at metabase.pulse.render$fn__56628$render_pulse_card__56633.invoke(render.clj:157)
	at metabase.pulse.render$fn__56657$render_pulse_section__56662$fn__56666$fn__56669.invoke(render.clj:201)
	at metabase.pulse.render$fn__56657$render_pulse_section__56662$fn__56666.invoke(render.clj:199)
	at metabase.pulse.render$fn__56657$render_pulse_section__56662.invoke(render.clj:196)
	at metabase.email.messages$render_result_card.invokeStatic(messages.clj:393)
	at metabase.email.messages$render_result_card.invoke(messages.clj:390)
	at metabase.email.messages$render_message_body$fn__57972$fn__57973.invoke(messages.clj:441)
	at clojure.core$mapv$fn__8468.invoke(core.clj:6914)
	at clojure.core.protocols$fn__8181.invokeStatic(protocols.clj:168)
	at clojure.core.protocols$fn__8181.invoke(protocols.clj:124)
	at clojure.core.protocols$fn__8136$G__8131__8145.invoke(protocols.clj:19)
	at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
	at clojure.core.protocols$fn__8168.invokeStatic(protocols.clj:75)
	at clojure.core.protocols$fn__8168.invoke(protocols.clj:75)
	at clojure.core.protocols$fn__8110$G__8105__8123.invoke(protocols.clj:13)
	at clojure.core$reduce.invokeStatic(core.clj:6830)
	at clojure.core$mapv.invokeStatic(core.clj:6905)
	at clojure.core$mapv.invoke(core.clj:6905)
	at metabase.email.messages$render_message_body$fn__57972.invoke(messages.clj:441)
	at metabase.email.messages$render_message_body.invokeStatic(messages.clj:440)
	at metabase.email.messages$render_message_body.invoke(messages.clj:438)
	at metabase.email.messages$render_pulse_email.invokeStatic(messages.clj:467)
	at metabase.email.messages$render_pulse_email.invoke(messages.clj:464)
	at metabase.pulse$fn__76437.invokeStatic(pulse.clj:293)
	at metabase.pulse$fn__76437.invoke(pulse.clj:282)
	at clojure.lang.MultiFn.invoke(MultiFn.java:239)
	at metabase.pulse$results__GT_notifications$iter__76467__76471$fn__76472.invoke(pulse.clj:345)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:535)
	at clojure.core$seq__5419.invokeStatic(core.clj:139)
	at clojure.core$seq__5419.invoke(core.clj:139)
	at metabase.pulse$send_notifications_BANG_.invokeStatic(pulse.clj:387)
	at metabase.pulse$send_notifications_BANG_.invoke(pulse.clj:386)
	at metabase.pulse$send_pulse_BANG_.invokeStatic(pulse.clj:415)
	at metabase.pulse$send_pulse_BANG_.doInvoke(pulse.clj:395)
	at clojure.lang.RestFn.invoke(RestFn.java:410)
	at metabase.api.pulse$fn__77624.invokeStatic(pulse.clj:241)
	at metabase.api.pulse$fn__77624.invoke(pulse.clj:227)
	at compojure.core$wrap_response$fn__28036.invoke(core.clj:160)
	at compojure.core$wrap_route_middleware$fn__28020.invoke(core.clj:132)
	at compojure.core$wrap_route_info$fn__28025.invoke(core.clj:139)
	at compojure.core$wrap_route_matches$fn__28029.invoke(core.clj:151)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28029.invoke(core.clj:153)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28029.invoke(core.clj:153)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28029.invoke(core.clj:153)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28029.invoke(core.clj:152)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048.invoke(core.clj:200)
	at metabase.server.middleware.auth$enforce_authentication$fn__66770.invoke(auth.clj:14)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048.invoke(core.clj:200)
	at compojure.core$make_context$handler__28076.invoke(core.clj:289)
	at compojure.core$make_context$fn__28080.invoke(core.clj:299)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$make_context$fn__28080.invoke(core.clj:300)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at metabase.api.routes$fn__78132$fn__78135.invoke(routes.clj:59)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048.invoke(core.clj:200)
	at clojure.lang.AFn.applyToHelper(AFn.java:160)
	at clojure.lang.AFn.applyTo(AFn.java:144)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.core$apply.invoke(core.clj:662)
	at metabase.server.routes$fn__78282$fn__78283.doInvoke(routes.clj:67)
	at clojure.lang.RestFn.invoke(RestFn.java:436)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048.invoke(core.clj:200)
	at compojure.core$make_context$handler__28076.invoke(core.clj:289)
	at compojure.core$make_context$fn__28080.invoke(core.clj:299)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28029.invoke(core.clj:153)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28029.invoke(core.clj:153)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28029.invoke(core.clj:153)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048$f__28049$respond_SINGLEQUOTE___28050.invoke(core.clj:197)
	at metabase.server.routes$fn__78268$fn__78270.invoke(routes.clj:45)
	at compojure.core$routes$fn__28048$f__28049.invoke(core.clj:198)
	at compojure.core$routes$fn__28048.invoke(core.clj:200)
	at metabase.server.middleware.exceptions$catch_uncaught_exceptions$fn__75094.invoke(exceptions.clj:98)
	at metabase.server.middleware.exceptions$catch_api_exceptions$fn__75091.invoke(exceptions.clj:86)
	at metabase.server.middleware.log$log_api_call$fn__78752$fn__78753$fn__78754.invoke(log.clj:211)
	at metabase.driver.sql_jdbc.execute.diagnostic$do_with_diagnostic_info.invokeStatic(diagnostic.clj:15)
	at metabase.driver.sql_jdbc.execute.diagnostic$do_with_diagnostic_info.invoke(diagnostic.clj:9)
	at metabase.server.middleware.log$log_api_call$fn__78752$fn__78753.invoke(log.clj:203)
	at toucan.db$_do_with_call_counting.invokeStatic(db.clj:216)
	at toucan.db$_do_with_call_counting.invoke(db.clj:209)
	at metabase.server.middleware.log$log_api_call$fn__78752.invoke(log.clj:202)
	at metabase.server.middleware.browser_cookie$ensure_browser_id_cookie$fn__81988.invoke(browser_cookie.clj:38)
	at metabase.server.middleware.security$add_security_headers$fn__60363.invoke(security.clj:148)
	at metabase.server.middleware.json$wrap_json_body$fn__81127.invoke(json.clj:63)
	at metabase.server.middleware.json$wrap_streamed_json_response$fn__81145.invoke(json.clj:99)
	at metabase.server.middleware.offset_paging$handle_paging$fn__60387.invoke(offset_paging.clj:42)
	at ring.middleware.keyword_params$wrap_keyword_params$fn__82255.invoke(keyword_params.clj:55)
	at ring.middleware.params$wrap_params$fn__82274.invoke(params.clj:77)
	at metabase.server.middleware.misc$maybe_set_site_url$fn__35185.invoke(misc.clj:59)
	at metabase.server.middleware.session$bind_current_user$fn__46657$fn__46658.invoke(session.clj:291)
	at metabase.server.middleware.session$do_with_current_user.invokeStatic(session.clj:270)
	at metabase.server.middleware.session$do_with_current_user.invoke(session.clj:259)
	at metabase.server.middleware.session$bind_current_user$fn__46657.invoke(session.clj:290)
	at metabase.server.middleware.session$wrap_current_user_info$fn__46639.invoke(session.clj:240)
	at metabase.server.middleware.session$wrap_session_id$fn__46623.invoke(session.clj:173)
	at metabase.server.middleware.auth$wrap_api_key$fn__66778.invoke(auth.clj:27)
	at ring.middleware.cookies$wrap_cookies$fn__82175.invoke(cookies.clj:216)
	at metabase.server.middleware.misc$add_content_type$fn__35168.invoke(misc.clj:27)
	at metabase.server.middleware.misc$disable_streaming_buffering$fn__35193.invoke(misc.clj:76)
	at ring.middleware.gzip$wrap_gzip$fn__82217.invoke(gzip.clj:86)
	at metabase.server.middleware.misc$bind_request$fn__35196.invoke(misc.clj:93)
	at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__82004.invoke(ssl.clj:48)
	at metabase.server$async_proxy_handler$fn__78524.invoke(server.clj:73)
	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:400)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392)
	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:409)
	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)

@juan.moreno Yes, you are seeing the issue I've referenced.

@flamber, Thanks. I see this issue is still open, isn't it?

@juan.moreno Yes, and before you ask, I cannot give you a timeline for when it is fixed.
Upvote the issue by clicking :+1: on the first post.