layers.enable-tiles = true crashes on start up on linux / X11

RESOLVED FIXED in Firefox 42

Status

()

RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: tbsaunde, Assigned: nical)

Tracking

unspecified
mozilla42
Unspecified
Linux
Points:
---

Firefox Tracking Flags

(firefox42 fixed)

Details

Attachments

(2 attachments)

(Reporter)

Description

3 years ago
Created attachment 8636802 [details]
q11.html

with e10s enabled and the layers.enable-tiles pref set to true the attached giant test case crashes on linux with this stack.

(gdb) bt
#0  0x00007fbaa3dc679b in raise (sig=11) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
#1  0x00007fba9daca12d in nsProfileLock::FatalSignalHandler (signo=11, info=0x7fba825f7670, context=0x7fba825f7540) at /src/moz0/toolkit/profile/nsProfileLock.cpp:185
#2  0x00007fba9e7a9eca in AsmJSFaultHandler (signum=11, info=0x7fba825f7670, context=0x7fba825f7540) at /src/moz0/js/src/asmjs/AsmJSSignalHandlers.cpp:1135
#3  <signal handler called>
#4  0x00007fba9ae5af31 in mozilla::layers::X11TextureHost::GetFormat (this=0x7fba7b0fa040) at /src/moz0/gfx/layers/composite/X11TextureHost.cpp:76
#5  0x00007fba9af1c61d in mozilla::layers::TextureSourceRecycler::RecycleTextureSource (this=0x7fba825f7b70, aTile=...) at /src/moz0/gfx/layers/composite/TiledContentHost.cpp:225
#6  0x00007fba9af119a4 in mozilla::layers::TiledLayerBufferComposite::UseTiles (this=0x7fba7b4c5f68, aTiles=..., aCompositor=0x7fba87125ac0, aAllocator=0x7fba763a58d8) at /src/moz0/gfx/layers/composite/TiledContentHost.cpp:320
#7  0x00007fba9af111bd in mozilla::layers::TiledContentHost::UseTiledLayerBuffer (this=0x7fba7b4c5f20, aAllocator=0x7fba763a58d8, aTiledDescriptor=...) at /src/moz0/gfx/layers/composite/TiledContentHost.cpp:101
#8  0x00007fba9af13ef7 in mozilla::layers::CompositableParentManager::ReceiveCompositableUpdate (this=0x7fba763a58d8, aEdit=..., replyv=std::vector of length 0, capacity 0)
    at /src/moz0/gfx/layers/ipc/CompositableTransactionParent.cpp:122
#9  0x00007fba9af41f21 in mozilla::layers::LayerTransactionParent::RecvUpdate(nsTArray<mozilla::layers::Edit>&&, unsigned long const&, mozilla::layers::TargetConfig const&, nsTArray<mozilla::layers::PluginWindowData>&&, bool const&, bool const&, unsigned int const&, bool const&, mozilla::TimeStamp const&, nsTArray<mozilla::layers::EditReply>*) (this=0x7fba763a5890, cset=<unknown type in /src/ff-dbg0/dist/bin/libxul.so, CU 0x0, DIE 0xd878b>,
    aTransactionId=@0x7fba825f8468: 3, targetConfig=..., aPlugins=<unknown type in /src/ff-dbg0/dist/bin/libxul.so, CU 0x0, DIE 0xd879a>, isFirstPaint=@0x7fba825f845f: false, scheduleComposite=@0x7fba825f845e: true,
    paintSequenceNumber=@0x7fba825f8458: 0, isRepeatTransaction=@0x7fba825f8457: false, aTransactionStart=..., reply=0x0) at /src/moz0/gfx/layers/ipc/LayerTransactionParent.cpp:560
#10 0x00007fba9af406ba in mozilla::layers::LayerTransactionParent::RecvUpdateNoSwap(nsTArray<mozilla::layers::Edit>&&, unsigned long const&, mozilla::layers::TargetConfig const&, nsTArray<mozilla::layers::PluginWindowData>&&, bool const&, bool const&, unsigned int const&, bool const&, mozilla::TimeStamp const&) (this=0x7fba763a5890, cset=<unknown type in /src/ff-dbg0/dist/bin/libxul.so, CU 0x0, DIE 0xd8066>, aTransactionId=@0x7fba825f8468: 3,
    targetConfig=..., aPlugins=<unknown type in /src/ff-dbg0/dist/bin/libxul.so, CU 0x0, DIE 0xd8075>, isFirstPaint=@0x7fba825f845f: false, scheduleComposite=@0x7fba825f845e: true, paintSequenceNumber=@0x7fba825f8458: 0,
    isRepeatTransaction=@0x7fba825f8457: false, aTransactionStart=...) at /src/moz0/gfx/layers/ipc/LayerTransactionParent.cpp:204
#11 0x00007fba9a440c4d in mozilla::layers::PLayerTransactionParent::OnMessageReceived (this=0x7fba763a5890, msg__=...) at /src/ff-dbg0/ipc/ipdl/PLayerTransactionParent.cpp:514
#12 0x00007fba9a785943 in mozilla::layers::PCompositorParent::OnMessageReceived (this=0x7fba73965800, msg__=...) at /src/ff-dbg0/ipc/ipdl/PCompositorParent.cpp:509
#13 0x00007fba9a2abae1 in mozilla::ipc::MessageChannel::DispatchAsyncMessage (this=0x7fba73965868, aMsg=...) at /src/moz0/ipc/glue/MessageChannel.cpp:1373
#14 0x00007fba9a2ab612 in mozilla::ipc::MessageChannel::DispatchMessage (this=0x7fba73965868, aMsg=...) at /src/moz0/ipc/glue/MessageChannel.cpp:1293
#15 0x00007fba9a2ab423 in mozilla::ipc::MessageChannel::OnMaybeDequeueOne (this=0x7fba73965868) at /src/moz0/ipc/glue/MessageChannel.cpp:1264
#16 0x00007fba9a2c14a2 in DispatchToMethod<mozilla::ipc::MessageChannel, bool (mozilla::ipc::MessageChannel::*)()> (obj=0x7fba73965868,
    method=(bool (mozilla::ipc::MessageChannel::*)(mozilla::ipc::MessageChannel * const)) 0x7fba9a2ab2c4 <mozilla::ipc::MessageChannel::OnMaybeDequeueOne()>, arg=...) at /src/moz0/ipc/chromium/src/base/tuple.h:387
#17 0x00007fba9a2c0f22 in RunnableMethod<mozilla::ipc::MessageChannel, bool (mozilla::ipc::MessageChannel::*)(), Tuple0>::Run (this=0x7fba8a2d9800) at /src/moz0/ipc/chromium/src/base/task.h:310
#18 0x00007fba9a2b44e9 in mozilla::ipc::MessageChannel::RefCountedTask::Run (this=0x7fba74472e10) at ../../dist/include/mozilla/ipc/MessageChannel.h:456
#19 0x00007fba9a2b46be in mozilla::ipc::MessageChannel::DequeueTask::Run (this=0x7fba8762d720) at ../../dist/include/mozilla/ipc/MessageChannel.h:473
#20 0x00007fba9a23c785 in MessageLoop::RunTask (this=0x7fba825f8d20, task=0x7fba8762d720) at /src/moz0/ipc/chromium/src/base/message_loop.cc:364
#21 0x00007fba9a23c7fd in MessageLoop::DeferOrRunPendingTask (this=0x7fba825f8d20, pending_task=...) at /src/moz0/ipc/chromium/src/base/message_loop.cc:372
#22 0x00007fba9a23cc58 in MessageLoop::DoWork (this=0x7fba825f8d20) at /src/moz0/ipc/chromium/src/base/message_loop.cc:459
#23 0x00007fba9a23d151 in base::MessagePumpDefault::Run (this=0x7fba88e4de50, delegate=0x7fba825f8d20) at /src/moz0/ipc/chromium/src/base/message_pump_default.cc:34
#24 0x00007fba9a23c227 in MessageLoop::RunInternal (this=0x7fba825f8d20) at /src/moz0/ipc/chromium/src/base/message_loop.cc:234
#25 0x00007fba9a23c1bc in MessageLoop::RunHandler (this=0x7fba825f8d20) at /src/moz0/ipc/chromium/src/base/message_loop.cc:227
#26 0x00007fba9a23c14d in MessageLoop::Run (this=0x7fba825f8d20) at /src/moz0/ipc/chromium/src/base/message_loop.cc:201
#27 0x00007fba9a257e29 in base::Thread::ThreadMain (this=0x7fba88e4dd60) at /src/moz0/ipc/chromium/src/base/thread.cc:170
#28 0x00007fba9a2533bb in ThreadFunc (closure=0x7fba88e4dd60) at /src/moz0/ipc/chromium/src/base/platform_thread_posix.cc:39
#29 0x00007fbaa3dbf0a4 in start_thread (arg=0x7fba825f9700) at pthread_create.c:309
#30 0x00007fbaa30ce04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb)

Updated

3 years ago
Keywords: #relman/triage/defer-to-group
(Assignee)

Comment 1

3 years ago
The problem is that we need to set the TextureHost's compositor before calling GetFormat() there is no testing with tiling enabled on X11 so this regression shows up every now and then.
(Assignee)

Comment 2

3 years ago
Created attachment 8637174 [details] [diff] [review]
Fix the crash

There we go.
Assignee: nobody → nical.bugzilla
Attachment #8637174 - Flags: review?(matt.woodrow)
Attachment #8637174 - Flags: review?(matt.woodrow) → review+
https://hg.mozilla.org/mozilla-central/rev/89232f8a6999
Status: NEW → RESOLVED
Last Resolved: 3 years ago
status-firefox42: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in before you can comment on or make changes to this bug.