Closed Bug 859071 Opened 12 years ago Closed 12 years ago

Gecko profiler causes freeze of Firefox in nsHelperAppDlg.js:onOK()

Categories

(Core :: Gecko Profiler, defect)

defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 837390

People

(Reporter: whimboo, Unassigned)

Details

(Keywords: hang)

Mozilla/5.0 (X11; Linux x86_64; rv:22.0) Gecko/20130406 Firefox/22.0 ID:20130406004015 CSet: 05e799145245

At least on Linux the Gecko profiler add-on is causing a freeze of Firefox when you want to interact with system applications, e.g. opening a PDF in the document viewer. In most of the cases Firefox never comes back and has to be force killed.

Steps:
1. Create a fresh profile
2. Install latest version of the Gecko profiler extension from https://github.com/bgirard/Gecko-Profiler-Addon/blob/master/geckoprofiler.xpi
3. Open e.g. a PDF file in the internal PDF viewer: http://www.selab.isti.cnr.it/ws-mate/example.pdf#page=7&zoom=auto,0,476
4. Click on the download icon
5. Select open with your default system PDF viewer application

After step 5 Firefox will freeze and will eventually come back dependent on the file you want to open. Different PDFs will cause different freeze durations. Here a profile with different tries and with the last one Firefox unfroze after about 59 seconds:

http://people.mozilla.com/~bgirard/cleopatra/#report=14634ab85dbaf1ef6bbc904f6336f46aeb07f1fe
So this is not the add-on but the core code which freezes Firefox. Here a gdb stacktrace:

(gdb) bt
#0  ProfilerSignalHandler (signal=27, info=0x7fffffff7930, context=0x7fffffff7800)
    at /mozilla/code/firefox/nightly/tools/profiler/platform-linux.cc:97
#1  <signal handler called>
#2  0x00007ffff70ba924 in fork () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff062eb6b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff062f974 in g_spawn_async_with_pipes () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff062fa6c in g_spawn_async () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fffee6ead04 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#7  0x00007fffee6eb3fa in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#8  0x00007fffe44fa662 in nsGIOMimeApp::Launch (this=<optimized out>, aUri=...)
    at /mozilla/code/firefox/nightly/toolkit/system/gnome/nsGIOService.cpp:93
#9  0x00007ffff283ed0a in nsMIMEInfoUnix::LaunchDefaultWithFile (this=0x29b33f0, aFile=<optimized out>)
    at /mozilla/code/firefox/nightly/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp:155
#10 0x00007ffff28382c4 in nsMIMEInfoBase::LaunchWithFile (this=0x29b33f0, aFile=0x3196e90)
    at /mozilla/code/firefox/nightly/uriloader/exthandler/nsMIMEInfoImpl.cpp:287
#11 0x00007ffff28349f9 in nsExternalAppHandler::OpenWithApplication (this=this@entry=0x38860b0)
    at /mozilla/code/firefox/nightly/uriloader/exthandler/nsExternalHelperAppService.cpp:2230
#12 0x00007ffff2834cf4 in ExecuteDesiredAction (this=0x38860b0)
    at /mozilla/code/firefox/nightly/uriloader/exthandler/nsExternalHelperAppService.cpp:1886
#13 nsExternalAppHandler::ExecuteDesiredAction (this=0x38860b0)
    at /mozilla/code/firefox/nightly/uriloader/exthandler/nsExternalHelperAppService.cpp:1873
#14 0x00007ffff28352a2 in nsExternalAppHandler::CreateProgressListener (this=this@entry=0x38860b0)
    at /mozilla/code/firefox/nightly/uriloader/exthandler/nsExternalHelperAppService.cpp:1990
#15 0x00007ffff283553f in nsExternalAppHandler::LaunchWithApplication (this=0x38860b0, aApplication=0x0, 
    aRememberThisPreference=<optimized out>)
    at /mozilla/code/firefox/nightly/uriloader/exthandler/nsExternalHelperAppService.cpp:2322
#16 0x00007ffff2ef51f0 in NS_InvokeByIndex (that=<optimized out>, methodIndex=<optimized out>, 
    paramCount=<optimized out>, params=<optimized out>)
    at /mozilla/code/firefox/nightly/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_unix.cpp:164
#17 0x00007ffff27a0f42 in Invoke (this=0x7fffffff89e0)
    at /mozilla/code/firefox/nightly/js/xpconnect/src/XPCWrappedNative.cpp:2953
#18 Call (this=0x7fffffff89e0) at /mozilla/code/firefox/nightly/js/xpconnect/src/XPCWrappedNative.cpp:2287
#19 XPCWrappedNative::CallMethod (ccx=..., mode=<optimized out>)
    at /mozilla/code/firefox/nightly/js/xpconnect/src/XPCWrappedNative.cpp:2253
#20 0x00007ffff27a5245 in XPC_WN_CallMethod (cx=0x4022120, argc=2, vp=0x7fffdc0a1338)
    at /mozilla/code/firefox/nightly/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1459
Summary: Gecko profiler add-on causes freeze of Firefox in nsHelperAppDlg.js:onOK() → Gecko profiler causes freeze of Firefox in nsHelperAppDlg.js:onOK()
All current versions are affected except esr17 where the add-on is not compatible with.
:BenWa, any thoughts about what could be going on here ?
Yes, thanks for the report. It's known and high on the todo list.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.