Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure to render large figure #66

Open
alnfedorov opened this issue Jan 10, 2021 · 4 comments
Open

Failure to render large figure #66

alnfedorov opened this issue Jan 10, 2021 · 4 comments
Labels
bug something broken P3 not needed for current cycle

Comments

@alnfedorov
Copy link

alnfedorov commented Jan 10, 2021

Hi!

It looks like the chromium engine fails to load my super large(~100 Mb) plotly figure (Error code: SIGTRAP in the chromium browser UI). Link to the data is here(gdrive zip archive with an example figure in the JSON format).

Steps to reproduce:

import json
import plotly.graph_objects as go
with open('failed.json', 'r') as serialized:
    fig = json.load(serialized)
fig = go.Figure(data=fig['data'], layout=fig['layout'])

# fig.write_html("failed.html", include_plotlyjs="cdn", auto_open=False)
fig.write_image("failed.png")

It just hangs at the last line, no log or anything.

The plot itself should be ok because HTML version works in Firefox (but everything is very slow, of course).

I work with kaleido 0.1.0 and plotly 4.14.1, figure has ~500 subplots each with 4-5 scatter plots(200-5k points) and 4 barplots(200-5k bars per subplot, not shown by default and should not be rendered).

@jonmmease
Copy link
Collaborator

Hi @alnfedorov, this is probably related to the maximum Chromium message size issue described in #19. Does that look consistent with what you're seeing?

@alnfedorov
Copy link
Author

Well, I think it is a good guess. However, I don't see any log/exception like the one in #19. It just hangs forever with no CPU consumption(first high usage, then kaleido workers stop to do anything).

@jonmmease
Copy link
Collaborator

You might be able to get some logging info with the instructions in #36 (comment).

@alnfedorov
Copy link
Author

Here is the log for my use-case:

[0116/133339.347458:FATAL:page_allocator_internals_posix.h(189)] Check failed: 0 == mprotect(address, length, GetAccessFlags(accessibility)) (0 vs. -1)
#0 0x55bc29565f89 base::debug::CollectStackTrace()
#1 0x55bc294d48e3 base::debug::StackTrace::StackTrace()
#2 0x55bc294e5005 logging::LogMessage::~LogMessage()
#3 0x55bc2957cbe6 base::SetSystemPagesAccess()
#4 0x55bc2957f4cb base::internal::PartitionBucket::SlowPathAlloc()
#5 0x55bc2a45ed8d WTF::Partitions::FastMalloc()
#6 0x55bc2b7c0521 blink::ComputedStyle::Clone()
#7 0x55bc2ad1d047 blink::CachedMatchedProperties::Set()
#8 0x55bc2ad1d6c5 blink::MatchedPropertiesCache::Add()
#9 0x55bc2ac7b92d blink::StyleResolver::ApplyBaseComputedStyle()
#10 0x55bc2ac7b27f blink::StyleResolver::StyleForElement()
#11 0x55bc2b800958 blink::SVGElement::CustomStyleForLayoutObject()
#12 0x55bc2ab7d57a blink::Element::StyleForLayoutObject()
#13 0x55bc2ab7ddc5 blink::Element::RecalcOwnStyle()
#14 0x55bc2ab7d7aa blink::Element::RecalcStyle()
#15 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#16 0x55bc2ab7da53 blink::Element::RecalcStyle()
#17 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#18 0x55bc2ab7da53 blink::Element::RecalcStyle()
#19 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#20 0x55bc2ab7da53 blink::Element::RecalcStyle()
#21 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#22 0x55bc2ab7da53 blink::Element::RecalcStyle()
#23 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#24 0x55bc2ab7da53 blink::Element::RecalcStyle()
#25 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#26 0x55bc2ab7da53 blink::Element::RecalcStyle()
#27 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#28 0x55bc2ab7da53 blink::Element::RecalcStyle()
#29 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#30 0x55bc2ab7da53 blink::Element::RecalcStyle()
#31 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#32 0x55bc2ab7da53 blink::Element::RecalcStyle()
#33 0x55bc2ab95492 blink::StyleEngine::RecalcStyle()
#34 0x55bc2ab958b4 blink::StyleEngine::UpdateStyleAndLayoutTree()
#35 0x55bc2aa43c51 blink::Document::UpdateStyle()
#36 0x55bc2aa3f768 blink::Document::UpdateStyleAndLayoutTree()
#37 0x55bc2aa4455f blink::Document::UpdateStyleAndLayout()
#38 0x55bc2aa44e68 blink::Document::EnsurePaintLocationDataValidForNode()
#39 0x55bc2ab76968 blink::Element::ClientQuads()
#40 0x55bc2ab76b84 blink::Element::getBoundingClientRect()
#41 0x55bc2ac55729 blink::V8Element::GetBoundingClientRectMethodCallback()
#42 0x55bc286baca9 v8::internal::FunctionCallbackArguments::Call()
#43 0x55bc286ba1d4 v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#44 0x55bc286b987d v8::internal::Builtin_Impl_HandleApiCall()
#45 0x55bc28f96df8 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit
Task trace:
#0 0x55bc29b5f54d IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept()
IPC message handler context: 0xC5F65154
Received signal 6
#0 0x55bc29565f89 base::debug::CollectStackTrace()
#1 0x55bc294d48e3 base::debug::StackTrace::StackTrace()
#2 0x55bc29565b25 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f6e2922c540 (/usr/lib/x86_64-linux-gnu/libpthread-2.30.so+0x1553f)
#4 0x7f6e2851a3eb gsignal
#5 0x7f6e284f9899 abort
#6 0x55bc29564a85 base::debug::BreakDebugger()
#7 0x55bc294e54a2 logging::LogMessage::~LogMessage()
#8 0x55bc2957cbe6 base::SetSystemPagesAccess()
#9 0x55bc2957f4cb base::internal::PartitionBucket::SlowPathAlloc()
#10 0x55bc2a45ed8d WTF::Partitions::FastMalloc()
#11 0x55bc2b7c0521 blink::ComputedStyle::Clone()
#12 0x55bc2ad1d047 blink::CachedMatchedProperties::Set()
#13 0x55bc2ad1d6c5 blink::MatchedPropertiesCache::Add()
#14 0x55bc2ac7b92d blink::StyleResolver::ApplyBaseComputedStyle()
#15 0x55bc2ac7b27f blink::StyleResolver::StyleForElement()
#16 0x55bc2b800958 blink::SVGElement::CustomStyleForLayoutObject()
#17 0x55bc2ab7d57a blink::Element::StyleForLayoutObject()
#18 0x55bc2ab7ddc5 blink::Element::RecalcOwnStyle()
#19 0x55bc2ab7d7aa blink::Element::RecalcStyle()
#20 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#21 0x55bc2ab7da53 blink::Element::RecalcStyle()
#22 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#23 0x55bc2ab7da53 blink::Element::RecalcStyle()
#24 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#25 0x55bc2ab7da53 blink::Element::RecalcStyle()
#26 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#27 0x55bc2ab7da53 blink::Element::RecalcStyle()
#28 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#29 0x55bc2ab7da53 blink::Element::RecalcStyle()
#30 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#31 0x55bc2ab7da53 blink::Element::RecalcStyle()
#32 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#33 0x55bc2ab7da53 blink::Element::RecalcStyle()
#34 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#35 0x55bc2ab7da53 blink::Element::RecalcStyle()
#36 0x55bc2aba34f6 blink::ContainerNode::RecalcDescendantStyles()
#37 0x55bc2ab7da53 blink::Element::RecalcStyle()
#38 0x55bc2ab95492 blink::StyleEngine::RecalcStyle()
#39 0x55bc2ab958b4 blink::StyleEngine::UpdateStyleAndLayoutTree()
#40 0x55bc2aa43c51 blink::Document::UpdateStyle()
#41 0x55bc2aa3f768 blink::Document::UpdateStyleAndLayoutTree()
#42 0x55bc2aa4455f blink::Document::UpdateStyleAndLayout()
#43 0x55bc2aa44e68 blink::Document::EnsurePaintLocationDataValidForNode()
#44 0x55bc2ab76968 blink::Element::ClientQuads()
#45 0x55bc2ab76b84 blink::Element::getBoundingClientRect()
#46 0x55bc2ac55729 blink::V8Element::GetBoundingClientRectMethodCallback()
#47 0x55bc286baca9 v8::internal::FunctionCallbackArguments::Call()
#48 0x55bc286ba1d4 v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#49 0x55bc286b987d v8::internal::Builtin_Impl_HandleApiCall()
#50 0x55bc28f96df8 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit
  r8: 0000000000000000  r9: 00007ffdd65ca3e0 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007ffdd65cb6a8 r13: 00007ffdd65ca680 r14: 00007ffdd65cb6b0 r15: aaaaaaaaaaaaaaaa
  di: 0000000000000002  si: 00007ffdd65ca3e0  bp: 00007ffdd65ca630  bx: 00007f6e280c7c40
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f6e2851a3eb  sp: 00007ffdd65ca3e0
  ip: 00007f6e2851a3eb efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 00007fdf42505008
[end of stack trace]
Calling _exit(1). Core file will not be generated.

It looks like the error in my case is different from the #19.

@jonmmease jonmmease added the bug something broken label Feb 24, 2021
@gvwilson gvwilson self-assigned this Jul 26, 2024
@gvwilson gvwilson removed their assignment Aug 3, 2024
@gvwilson gvwilson added the P3 not needed for current cycle label Aug 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something broken P3 not needed for current cycle
Projects
None yet
Development

No branches or pull requests

3 participants