ports/105589: Firefox 2.0 segfaults when saving more than one file per session

Joe Marcus Clarke marcus at marcuscom.com
Fri Dec 8 11:45:36 PST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Micah wrote:
> Joe Marcus Clarke wrote:
>> On Thu, 2006-12-07 at 16:00 -0800, Micah wrote:
>>> Joe Marcus Clarke wrote:
>>>> Before anything can be done to fix this, someone needs to provide a
>>>> backtrace with full debugging symbols.  For more on doing this, see
>>>> http://www.freebsd.org/gnome/docs/bugging.html .
>>>>
>>>> Joe
>>> Anything else I can provide?
>>
>> This backtrace appears corrupt.  I do not see how it dies in endian.h.
>> Rebuild libc and libpthread with debugging symbols, and get a new trace.
>>
>> Joe
>>
> 
> Okay, but it still died in endian.h. I then rebuilt world with debugging
> symbols in hope that there's some other library somewhere that needed
> them, but the stack trace still ends in endian.h
> 
> I followed it through the debugger in hopes of getting you something
> more useful. It segfaults while executing line 357 of xdgmimecache.c,
> (which is: XdgMimeCache *cache = _caches[i]; inside
> cache_glob_lookup_literal). Stepping into that line of code sends the
> debugger to endian.h. Is there another non-system library that I need to
> add debugging symbols to?

What endian.h files do you have on your system?  What does:

(gdb) frame 0
(gdb) l

Report?

Joe

> 
> Just to make sure, file reports libpthread and libc as being not stripped.
> 
> trisha# file libpthread.so.2
> libpthread.so.2: ELF 32-bit LSB shared object, Intel 80386, version 1
> (FreeBSD), not stripped
> trisha# file libc.so.6
> libc.so.6: ELF 32-bit LSB shared object, Intel 80386, version 1
> (FreeBSD), not stripped
> 
> trisha% firefox -g -d gdb
> /usr/local/lib/firefox/run-mozilla.sh -g -d gdb
> /usr/local/lib/firefox/firefox-bin
> MOZILLA_FIVE_HOME=/usr/local/lib/firefox
> 
> LD_LIBRARY_PATH=/usr/local/lib/firefox:/usr/local/lib/firefox/plugins:/usr/local/lib/browser_plugins:/usr/local/lib/browser_linux_plugins:/usr/local/lib/firefox
> 
> DISPLAY=:0.0
> DYLD_LIBRARY_PATH=/usr/local/lib/firefox:/usr/local/lib/firefox
> 
> LIBRARY_PATH=/usr/local/lib/firefox:/usr/local/lib/firefox/components:/usr/local/lib/firefox
> 
>        SHLIB_PATH=/usr/local/lib/firefox:/usr/local/lib/firefox
>           LIBPATH=/usr/local/lib/firefox:/usr/local/lib/firefox
>        ADDON_PATH=/usr/local/lib/firefox
>       MOZ_PROGRAM=/usr/local/lib/firefox/firefox-bin
>       MOZ_TOOLKIT=
>         moz_debug=1
>      moz_debugger=gdb
> /usr/bin/gdb /usr/local/lib/firefox/firefox-bin -x /tmp/mozargs.S2EXFD
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i386-marcel-freebsd"...
> (gdb) handle SGI33
> Unrecognized or ambiguous flag word: "SGI33".
> (gdb) handle SIG33 nostop noprint
> Signal        Stop      Print   Pass to program Description
> SIG33         No        No      Yes             Real-time event 33
> (gdb) run
> Starting program: /usr/local/lib/firefox/firefox-bin
> warning: Unable to get location for thread creation breakpoint: generic
> error
> [New LWP 100118]
> [New Thread 0x8079000 (LWP 100118)]
> Type Manifest File: /home/bsdmjl/.mozilla/firefox/3m4v9uom.default/xpti.dat
> *** Registering Apprunner components (all right -- a generic module!)
> nsNativeComponentLoader: autoregistering begins.
> nsNativeComponentLoader: autoregistering succeeded
> nsNativeComponentLoader: registering deferred (0)
> pldhash: for the table at address 0x80bba20, the given entrySize of 44
> probably favors chaining over double hashing.
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsChromeRegistry.cpp, line 1252
> GFX: dpi=96 t2p=0.0666667 p2t=15 depth=24
> ++WEBSHELL == 1
> ++DOMWINDOW == 1
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsStringBundle.cpp, line 273
> ++DOMWINDOW == 2
> ++WEBSHELL == 2
> ++DOMWINDOW == 3
> ++DOMWINDOW == 4
> Note: styleverifytree is disabled
> Note: frameverifytree is disabled
> Note: verifyreflow is disabled
> JavaScript error: chrome://global/content/contentAreaUtils.js, line 118:
> redeclaration of const kSaveAsType_Complete
> ++WEBSHELL == 3
> ++DOMWINDOW == 5
> ++DOMWINDOW == 6
> ++WEBSHELL == 4
> ++DOMWINDOW == 7
> ++DOMWINDOW == 8
> ++DOMWINDOW == 9
> ++DOMWINDOW == 10
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsStringBundle.cpp, line 273
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsStringBundle.cpp, line 273
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsStringBundle.cpp, line 273
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsStringBundle.cpp, line 273
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsStringBundle.cpp, line 273
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsStringBundle.cpp, line 273
> WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file
> nsStringBundle.cpp, line 273
> --DOMWINDOW == 9
> --DOMWINDOW == 8
> spec=/logo-reverse.png
> WARNING: malformed url: no scheme, file nsStandardURL.cpp, line 714
> spec=/logo-reverse.png
> WARNING: malformed url: no scheme, file nsStandardURL.cpp, line 714
> spec=/logo-reverse.png
> WARNING: malformed url: no scheme, file nsStandardURL.cpp, line 714
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x8079000 (LWP 100147)]
> 0x48613d0e in cache_glob_lookup_literal (file_name=0x94c2f51 "tarit.txt",
>     mime_types=0x6d, n_mime_types=2) at endian.h:144
> 144     {
> Current language:  auto; currently c
> (gdb) bt
> #0  0x48613d0e in cache_glob_lookup_literal (file_name=0x94c2f51
> "tarit.txt",
>     mime_types=0x6d, n_mime_types=2) at endian.h:144
> #1  0x486142b6 in cache_glob_lookup_file_name (
>     file_name=0x94c2f51 "tarit.txt", mime_types=0xbfbfa350, n_mime_types=2)
>     at xdgmimecache.c:578
> #2  0x48614564 in _gtk_xdg_cache_get_mime_type_for_file (
>     file_name=0x94c2f40 "/home/bsdmjl/tmp/tarit.txt", statbuf=0x8ef2680)
>     at xdgmimecache.c:689
> #3  0x486129f1 in _gtk_xdg_get_mime_type_for_file (
>     file_name=0x94c2f40 "/home/bsdmjl/tmp/tarit.txt", statbuf=0x8ef2680)
>     at xdgmime.c:485
> #4  0x485f97b7 in cb_fill_in_mime_type (key=0x6d, value=0x8ef2680,
>     user_data=0x93a9da0) at gtkfilesystemunix.c:2591
> #5  0x48a74166 in g_hash_table_foreach_remove_or_steal
> (hash_table=0x9410c00,
>     func=0x485f9760 <cb_fill_in_mime_type>, user_data=0x93a9da0, notify=1)
>     at ghash.c:605
> #6  0x48a7405d in IA__g_hash_table_foreach_remove (hash_table=0x6d, func=0,
>     user_data=0x6d) at ghash.c:561
> #7  0x485f985f in fill_in_mime_type (folder_unix=0x93a9da0)
>     at gtkfilesystemunix.c:2611
> #8  0x485f6923 in load_folder (data=0x93a9da0) at gtkfilesystemunix.c:874
> #9  0x48a84cb8 in g_idle_dispatch (source=0x935d5c0, callback=0,
>     user_data=0x6d) at gmain.c:3926
> #10 0x48a81dad in g_main_dispatch (context=0x80a1c80) at gmain.c:2045
> #11 0x48a82c50 in IA__g_main_context_dispatch (context=0x80a1c80)
>     at gmain.c:2596
> #12 0x48a8302c in g_main_context_iterate (context=0x80a1c80, block=1,
>     dispatch=1, self=0x81a0800) at gmain.c:2677
> #13 0x48a836a1 in IA__g_main_loop_run (loop=0x9376b70) at gmain.c:2881
> #14 0x483f7b4b in IA__gtk_dialog_run (dialog=0x938e1c8) at gtkdialog.c:996
> #15 0x49289727 in nsFilePicker::Show (this=0x8ee6700, aReturn=0xbfbfaa30)
>     at nsFilePicker.cpp:583
> #16 0x4827dbdd in XPTC_InvokeByIndex (that=0x8ee6700, methodIndex=17,
>     paramCount=109, params=0xbfbfaa30) at xptcinvoke_unixish_x86.cpp:179
> #17 0x48ef0622 in XPCWrappedNative::CallMethod (ccx=@0xbfbfab10,
>     mode=XPCWrappedNative::CALL_METHOD) at xpcwrappednative.cpp:2168
> #18 0x48efb67a in XPC_WN_CallMethod (cx=0x84d8c00, obj=0x6d, argc=109,
>     argv=0xbfbfab10, vp=0x6d) at xpcwrappednativejsops.cpp:1455
> #19 0x480f579a in js_Invoke (cx=0x84d8c00, argc=0, flags=0) at
> jsinterp.c:1377
> #20 0x4810348e in js_Interpret (cx=0x84d8c00, pc=0x85d0a74 ":",
>     result=0xbfbfaf6c) at jsinterp.c:4119
> ---Type <return> to continue, or q <return> to quit---
> #21 0x480f5824 in js_Invoke (cx=0x84d8c00, argc=1, flags=2) at
> jsinterp.c:1396
> #22 0x480f5b04 in js_InternalInvoke (cx=0x84d8c00, obj=0x6d, fval=109,
>     flags=0, argc=1, argv=0xbfbfb1cc, rval=0xbfbfb1b4) at jsinterp.c:1471
> #23 0x480c1e10 in JS_CallFunctionValue (cx=0x84d8c00, obj=0x6d, fval=109,
>     argc=109, argv=0x6d, rval=0x6d) at jsapi.c:4419
> #24 0x49e8222f in nsJSContext::CallEventHandler (this=0x84d9180,
>     aTarget=0x8cc4b70, aHandler=0x9254bd8, argc=109, argv=0x6d,
>     rval=0xbfbfb1b4) at nsJSEnvironment.cpp:1493
> #25 0x49ee6c37 in nsJSEventListener::HandleEvent (this=0x87645c0,
>     aEvent=0x8ca5c0c) at nsJSEventListener.cpp:185
> #26 0x49d0da7f in nsEventListenerManager::HandleEventSubType (this=0x6d,
>     aListenerStruct=0x873ed20, aListener=0x87645c0, aDOMEvent=0x8ca5c0c,
>     aCurrentTarget=0x90affc0, aSubType=8, aPhaseFlags=109)
>     at nsEventListenerManager.cpp:1655
> #27 0x49d0df2e in nsEventListenerManager::HandleEvent (this=0x8764580,
>     aPresContext=0x8653600, aEvent=0xbfbfb830, aDOMEvent=0xbfbfb57c,
>     aCurrentTarget=0x90affc0, aFlags=7, aEventStatus=0xbfbfb81c)
>     at nsEventListenerManager.cpp:1757
> #28 0x49e3325e in nsXULElement::HandleDOMEvent (this=0x8764540,
>     aPresContext=0x8653600, aEvent=0xbfbfb830, aDOMEvent=0xbfbfb57c,
> aFlags=7,
>     aEventStatus=0xbfbfb81c) at nsXULElement.cpp:2228
> #29 0x49a2b2e1 in PresShell::HandleDOMEventWithTarget (this=0x8654c00,
>     aTargetContent=0x8764540, aEvent=0x6d, aStatus=0x6d)
>     at nsPresShell.cpp:6520
> #30 0x49c3997f in nsMenuFrame::Execute (this=0x8e90408, aEvent=0x0)
>     at nsMenuFrame.cpp:1663
> #31 0x49c38339 in nsMenuFrame::Enter (this=0x8e90408) at
> nsMenuFrame.cpp:1269
> #32 0x49c3214f in nsMenuPopupFrame::ShortcutNavigation (this=0x9156010,
>     aKeyEvent=0x8e90474, aHandledFlag=@0xbfbfb964) at
> nsMenuPopupFrame.cpp:1664
> #33 0x49c3f7d6 in nsMenuListener::KeyPress (this=0x90aff20,
>     aKeyEvent=0x8a5b090) at nsMenuListener.cpp:212
> #34 0x49d09b19 in DispatchToInterface (aEvent=0x6d, aListener=0x0,
> aMethod=Unhandled dwarf expression opcode 0x93
> )
>     at nsEventListenerManager.cpp:144
> #35 0x49d0dec3 in nsEventListenerManager::HandleEvent (this=0x87495c0,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
>     aCurrentTarget=0x8454cb4, aFlags=4, aEventStatus=0xbfbfd6e8)
>     at nsEventListenerManager.cpp:1750
> #36 0x49e4c479 in nsXULDocument::HandleDOMEvent (this=0x8454c00,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULDocument.cpp:1233
> #37 0x49e33168 in nsXULElement::HandleDOMEvent (this=0x8749840,
> ---Type <return> to continue, or q <return> to quit---
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2209
> #38 0x49e33119 in nsXULElement::HandleDOMEvent (this=0x8775a40,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2206
> #39 0x49e33119 in nsXULElement::HandleDOMEvent (this=0x8775a80,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2206
> #40 0x49e33119 in nsXULElement::HandleDOMEvent (this=0x8775dc0,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2206
> #41 0x49e33119 in nsXULElement::HandleDOMEvent (this=0x8775e00,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2206
> #42 0x49e33119 in nsXULElement::HandleDOMEvent (this=0x8979680,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2206
> #43 0x49e33119 in nsXULElement::HandleDOMEvent (this=0x895f2c0,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2206
> #44 0x49e33119 in nsXULElement::HandleDOMEvent (this=0x8e5bcc0,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2206
> #45 0x49e33119 in nsXULElement::HandleDOMEvent (this=0x8e5ba40,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsXULElement.cpp:2206
> #46 0x49e36212 in nsXULElement::HandleChromeEvent (this=0x8e5ba40,
>     aPresContext=0x6d, aEvent=0x6d, aDOMEvent=0x6d, aFlags=109,
>     aEventStatus=0x6d) at nsXULElement.cpp:2890
> #47 0x49e8de5d in nsGlobalWindow::HandleDOMEvent (this=0x8d8e800,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsGlobalWindow.cpp:1638
> #48 0x49c94c69 in nsDocument::HandleDOMEvent (this=0x8bbe000,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=4,
>     aEventStatus=0xbfbfd6e8) at nsDocument.cpp:4030
> #49 0x49cb9a9d in nsGenericElement::HandleDOMEvent (this=0x8e605a0,
>     aPresContext=0x8d8e400, aEvent=0xbfbfd990, aDOMEvent=0xbfbfd31c,
> aFlags=7,
>     aEventStatus=0xbfbfd6e8) at nsGenericElement.cpp:2183
> #50 0x49a2adf1 in PresShell::HandleEventInternal (this=0x8bbe800,
>     aEvent=0xbfbfd990, aView=0x8bbf280, aFlags=1, aStatus=0xbfbfd6e8)
>     at nsPresShell.cpp:6424
> ---Type <return> to continue, or q <return> to quit---
> #51 0x49a2a6cb in PresShell::HandleEvent (this=0x8bbe800, aView=0x8bbf280,
>     aEvent=0xbfbfd990, aEventStatus=0xbfbfd6e8, aForceHandle=1,
>     aHandled=@0xbfbfd6ec) at nsPresShell.cpp:6260
> #52 0x49e73c10 in nsViewManager::HandleEvent (this=0x8bbf200,
> aView=0x8bbf280,
>     aEvent=0xbfbfd990, aCaptured=109) at nsViewManager.cpp:2512
> #53 0x49e73189 in nsViewManager::DispatchEvent (this=0x8bbf200,
>     aEvent=0xbfbfd990, aStatus=0xbfbfd8dc) at nsViewManager.cpp:2246
> #54 0x49e678e6 in HandleEvent (aEvent=0xbfbfd990) at nsView.h:251
> #55 0x4927e621 in nsCommonWidget::DispatchEvent (this=0x8bbc800,
>     aEvent=0xbfbfd990, aStatus=@0xbfbfd93c) at nsCommonWidget.cpp:219
> #56 0x492708eb in nsWindow::OnKeyPressEvent (this=0x8bbc800,
>     aWidget=0x8c78380, aEvent=0x80a4a30) at nsWindow.cpp:1877
> #57 0x49275776 in key_press_event_cb (widget=0x8c78380, event=0x6d)
>     at nsWindow.cpp:3982
> #58 0x4848cd5e in _gtk_marshal_BOOLEAN__BOXED (closure=0x49275710,
>     return_value=0xbfbfdba0, n_param_values=2, param_values=0xbfbfdd20,
>     invocation_hint=0xbfbfdbc8, marshal_data=0x0) at gtkmarshalers.c:84
> #59 0x48a1d0dc in IA__g_closure_invoke (closure=0x8ca6b60,
> return_value=0x6d,
>     n_param_values=109, param_values=0x6d, invocation_hint=0x6d)
>     at gclosure.c:490
> #60 0x48a34119 in signal_emit_unlocked_R (node=0x8191bc0, detail=0,
>     instance=0x8c78380, emission_return=0xbfbfdcd0,
>     instance_and_params=0xbfbfdd20) at gsignal.c:2440
> #61 0x48a3342d in IA__g_signal_emit_valist (instance=0x8c78380,
>     signal_id=3217022160, detail=0, var_args=0xbfbfdeb0 "¸Þ¿¿\001")
>     at gsignal.c:2209
> #62 0x48a33636 in IA__g_signal_emit (instance=0x6d, signal_id=109,
> detail=109)
>     at gsignal.c:2243
> #63 0x485d765e in gtk_widget_event_internal (widget=0x8c78380,
> event=0x80a4a30)
>     at gtkwidget.c:3911
> #64 0x485d723f in IA__gtk_widget_event (widget=0x8c78380, event=0x80a4a30)
>     at gtkwidget.c:3717
> #65 0x4848b100 in IA__gtk_propagate_event (widget=0x8c78380,
> event=0x80a4a30)
>     at gtkmain.c:2154
> #66 0x48489dba in IA__gtk_main_do_event (event=0x80a4a30) at gtkmain.c:1422
> #67 0x48721208 in gdk_event_dispatch (source=0x6d, callback=0,
> user_data=0x0)
>     at gdkevents-x11.c:2320
> #68 0x48a81dad in g_main_dispatch (context=0x80a1c80) at gmain.c:2045
> #69 0x48a82c50 in IA__g_main_context_dispatch (context=0x80a1c80)
>     at gmain.c:2596
> #70 0x48a8302c in g_main_context_iterate (context=0x80a1c80, block=1,
> ---Type <return> to continue, or q <return> to quit---
>     dispatch=1, self=0x81a0800) at gmain.c:2677
> #71 0x48a836a1 in IA__g_main_loop_run (loop=0x8314360) at gmain.c:2881
> #72 0x484895a2 in IA__gtk_main () at gtkmain.c:1001
> #73 0x4927bb69 in nsAppShell::Run (this=0x81d8230) at nsAppShell.cpp:139
> #74 0x493acca7 in nsAppStartup::Run (this=0x81d7240) at
> nsAppStartup.cpp:151
> #75 0x08056fa0 in XRE_main (argc=0, argv=0xbfbfe45c, aAppData=0x806e6e0)
>     at nsAppRunner.cpp:2438
> #76 0x0804e9c4 in main (argc=109, argv=0x6d) at nsBrowserApp.cpp:61
> 
> 


- --
PGP Key : http://www.marcuscom.com/pgp.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFecEkb2iPiv4Uz4cRArPaAJ9f5a5CUcD2po66cGixzQIlfPlEdQCgp8WJ
NPnz79+e1yymEtgZlOaiRWk=
=/zuP
-----END PGP SIGNATURE-----


More information about the freebsd-gnome mailing list