Closed Bug 1186208 Opened 9 years ago Closed 9 years ago

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

Categories

(Core :: Graphics: Layers, defect)

Unspecified
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox42 --- fixed

People

(Reporter: tbsaunde, Assigned: nical)

Details

Attachments

(2 files)

Attached file 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)
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.
Attached patch Fix the crashSplinter Review
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
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: