Closed Bug 551875 Opened 11 years ago Closed 11 years ago

plugin process ABORT: not canceled before returning to main event loop!: '1 < g_main_depth()'

Categories

(Core :: Plug-ins, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9.3a4
Tracking Status
status1.9.2 --- .4-fixed

People

(Reporter: karlt, Assigned: karlt)

References

Details

(Whiteboard: [fixed-lorentz])

Attachments

(1 file)

1. Install Flash Player 10.1 beta 3
2. View attachment 425185 [details] (in a build with attachment 431803 [details] [diff] [review] applied)

#1  0xb77b7600 in NS_DebugBreak_P (aSeverity=3,
    aStr=0xb7d9ce98 "not canceled before returning to main event loop!",
    aExpr=0xb7d9ce84 "1 < g_main_depth()",
    aFile=0xb7d9c918 "/home/karl/moz/dev/dom/plugins/PluginModuleChild.cpp",
    aLine=267) at /home/karl/moz/dev/xpcom/base/nsDebugImpl.cpp:324
#2  0xb767f9a4 in mozilla::plugins::PluginModuleChild::DetectNestedEventLoop (
    data=0x8e10790) at /home/karl/moz/dev/dom/plugins/PluginModuleChild.cpp:266
#3  0xb568ae46 in g_timeout_dispatch (source=0x8effe40, callback=0x3,
    user_data=0x8e10790) at /build/buildd/glib2.0-2.18.2/glib/gmain.c:3589
#4  0xb568a718 in IA__g_main_context_dispatch (context=0x8e118d0)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2144
#5  0xb568ddc3 in g_main_context_iterate (context=0x8e118d0, block=1,
    dispatch=1, self=0x8e40790)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2778
#6  0xb568e2e2 in IA__g_main_loop_run (loop=0x8f060e8)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2986
#7  0xb04c988b in ?? () from /home/karl/.mozilla/plugins/libflashplayer.so
#8  0xb04cb405 in ?? () from /home/karl/.mozilla/plugins/libflashplayer.so
#9  0xb04cb58f in ?? () from /home/karl/.mozilla/plugins/libflashplayer.so
#10 0xb041c90e in ?? () from /home/karl/.mozilla/plugins/libflashplayer.so
#11 0xb013c2a6 in ?? () from /home/karl/.mozilla/plugins/libflashplayer.so
#12 0xb013d1ea in ?? () from /home/karl/.mozilla/plugins/libflashplayer.so
#13 0xb01326e2 in ?? () from /home/karl/.mozilla/plugins/libflashplayer.so
#14 0xb0138954 in ?? () from /home/karl/.mozilla/plugins/libflashplayer.so
#15 0xb7678801 in mozilla::plugins::PluginInstanceChild::AnswerNPP_HandleEvent
    (this=0x8e427a8, event=@0xb4dc8e3c, handled=0xb4dc8e1a)
    at /home/karl/moz/dev/dom/plugins/PluginInstanceChild.cpp:475
#16 0xb76fe5f1 in mozilla::plugins::PPluginInstanceChild::OnCallReceived (
    this=0x8e427a8, msg=@0xb4dc9050, reply=@0xb4dc8fcc)
    at PPluginInstanceChild.cpp:1177
#17 0xb76f7eb8 in mozilla::plugins::PPluginModuleChild::OnCallReceived (
    this=0x8e10790, msg=@0xb4dc9050, reply=@0xb4dc8fcc)
    at PPluginModuleChild.cpp:460
#18 0xb76997a8 in mozilla::ipc::RPCChannel::DispatchIncall (this=0x8e10798,
    call=@0xb4dc9050) at /home/karl/moz/dev/ipc/glue/RPCChannel.cpp:447
#19 0xb7699c33 in mozilla::ipc::RPCChannel::Incall (this=0x8e10798,
    call=@0xb4dc9050, stackDepth=0)
    at /home/karl/moz/dev/ipc/glue/RPCChannel.cpp:432
#20 0xb769a215 in mozilla::ipc::RPCChannel::OnMaybeDequeueOne (this=0x8e10798)
    at /home/karl/moz/dev/ipc/glue/RPCChannel.cpp:364
#21 0xb769c1ad in DispatchToMethod<mozilla::ipc::RPCChannel, void (mozilla::ipc::RPCChannel::*)()> (obj=0x8e10798,
    method=0xb769a106 <mozilla::ipc::RPCChannel::OnMaybeDequeueOne()>,
    arg=@0xb0c279e4) at /home/karl/moz/dev/ipc/chromium/src/base/tuple.h:383
#22 0xb769c1e9 in RunnableMethod<mozilla::ipc::RPCChannel, void (mozilla::ipc::RPCChannel::*)(), Tuple0>::Run (this=0xb0c279c8)
    at /home/karl/moz/dev/ipc/chromium/src/base/task.h:307
#23 0xb781af60 in MessageLoop::RunTask (this=0xb4dc926c, task=0xb0c279c8)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:336
#24 0xb781c6d9 in MessageLoop::DeferOrRunPendingTask (this=0xb4dc926c,
    pending_task=@0xb4dc9130)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:344
#25 0xb781c97c in MessageLoop::DoWork (this=0xb4dc926c)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:444
#26 0xb788c3ab in base::MessagePumpForUI::RunWithDispatcher (this=0x8e10f00,
    delegate=0xb4dc926c, dispatcher=0x0)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_pump_glib.cc:199
#27 0xb788cc89 in base::MessagePumpForUI::Run (0xb4dc926c)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_pump_glib.h:59
#28 0xb781b37f in MessageLoop::RunInternal (this=0xb4dc926c)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:216
#29 0xb781b3a3 in MessageLoop::RunHandler (this=0xb4dc926c)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:199
#30 0xb781b427 in MessageLoop::Run (this=0xb4dc926c)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:173
#31 0xb7841209 in base::Thread::ThreadMain (this=0x8e10738)
    at /home/karl/moz/dev/ipc/chromium/src/base/thread.cc:165
#32 0xb7873bfa in ThreadFunc (closure=0x8e10738)
    at /home/karl/moz/dev/ipc/chromium/src/base/platform_thread_posix.cc:26
#33 0xb7f4250f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#34 0xb5ee7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

It seems that DetectNestedEventLoop assumes that all events are dispatched
from glib.  However, events are also dispatched directly from
MessagePumpForUI::RunWithDispatcher
http://hg.mozilla.org/mozilla-central/annotate/6f8f9de6efb7/ipc/chromium/src/base/message_pump_glib.cc#l199
Sigh.  We could either just drop this assert, or grab |depth=g_main_depth()| in EnteredCxxStack() and make the assert |depth < g_main_depth()|.
Yes, there problem is only in the assert.
Attachment #432060 - Flags: review?(jones.chris.g)
Attachment #432060 - Flags: review?(jones.chris.g) → review+
http://hg.mozilla.org/mozilla-central/rev/3bd0b4cc1670
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a4
http://hg.mozilla.org/projects/firefox-lorentz/rev/42a7a83046b9
merged to 1.9.2 for 1.9.2.4
Whiteboard: [fixed-lorentz]
You need to log in before you can comment on or make changes to this bug.