Closed Bug 296375 Opened 20 years ago Closed 20 years ago

document.addBinding() segfaults called on a node with existing binding

Categories

(Core :: XBL, defect)

x86
Linux
defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla1.8beta4

People

(Reporter: awuest, Assigned: bryner)

References

Details

(Keywords: crash, verified1.8, Whiteboard: [no l10n impact][ETA: unknown])

Attachments

(6 files)

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050523 Firefox/1.0+ Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050523 Firefox/1.0+ This bug due to the request in https://bugzilla.mozilla.org/show_bug.cgi?id=51261#c23. Calling document.addBinding() produces a segmentation fault. Completely fresh checkout: checkout start: Thu Jun 2 10:21:53 CEST 2005 Stacktrace (non-blank-line numbered for your convenience): 1 (gdb) thread apply all bt 2 Thread 6 (Thread 108567472 (LWP 10176)): 3 #0 0x00b22d19 in __lll_mutex_lock_wait () from /lib/tls/libc.so.6 4 #1 0x00aae1b4 in _L_mutex_lock_2570 () from /lib/tls/libc.so.6 5 #2 0x0052eaf0 in __JCR_LIST__ () from firefox-devbuild/dist/bin/libxpcom_core.so 6 #3 0x06789868 in ?? () 7 #4 0x00a33034 in ?? () from /usr/lib/libstdc++.so.5 8 #5 0x0a0291d8 in ?? () 9 #6 0x06789ac0 in ?? () 10 #7 0x06789868 in ?? () 11 #8 0x00a10233 in operator delete () from /usr/lib/libstdc++.so.5 12 #9 0x00a10233 in operator delete () from /usr/lib/libstdc++.so.5 13 #10 0x004ac47d in nsStringInputStream::Release (this=0xb6beacd8) at /tmp/awuest/trees/statustext/mozilla/xpcom/io/nsStringStream.cpp:142 14 #11 0x00fe1f73 in nsCOMPtr<nsIInputStream>::assign_assuming_AddRef (this=0xb6bea914, newPtr=0x0) at ../../../dist/include/xpcom/nsCOMPtr.h:568 15 #12 0x00fe1b76 in nsCOMPtr<nsIInputStream>::assign_with_AddRef (this=0xb6bea914, rawPtr=0x0) at ../../../../dist/include/xpcom/nsCOMPtr.h:1224 16 #13 0x00fe175f in nsCOMPtr<nsIInputStream>::operator= (this=0xb6bea914, rhs=0x0) at ../../../../dist/include/xpcom/nsCOMPtr.h:713 17 #14 0x010a97ec in nsHttpTransaction::Close (this=0xb6bea8d8, reason=0) at /tmp/awuest/trees/statustext/mozilla/netwerk/protocol/http/src/nsHttpTransaction.cpp:532 18 #15 0x0109b606 in nsHttpConnection::CloseTransaction (this=0xb6beaf38, trans=0xb6bea8d8, reason=0) 19 at /tmp/awuest/trees/statustext/mozilla/netwerk/protocol/http/src/nsHttpConnection.cpp:485 20 #16 0x0109c28d in nsHttpConnection::OnInputStreamReady (this=0xb6beaf38, in=0xb6f72224) 21 at /tmp/awuest/trees/statustext/mozilla/netwerk/protocol/http/src/nsHttpConnection.cpp:749 22 #17 0x0101ae26 in nsSocketInputStream::OnSocketReady (this=0xb6f72224, condition=0) at /tmp/awuest/trees/statustext/mozilla/netwerk/base/src/nsSocketTransport2.cpp:240 23 #18 0x0101eade in nsSocketTransport::OnSocketReady (this=0xb6f72140, fd=0xb6bd0680, outFlags=1) 24 at /tmp/awuest/trees/statustext/mozilla/netwerk/base/src/nsSocketTransport2.cpp:1453 25 #19 0x0102340e in nsSocketTransportService::Run (this=0xa01c020) at /tmp/awuest/trees/statustext/mozilla/netwerk/base/src/nsSocketTransportService2.cpp:573 26 #20 0x004d33e2 in nsThread::Main (arg=0xa029158) at /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsThread.cpp:118 27 #21 0x00141796 in _pt_root (arg=0xa0291d8) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/pthreads/ptthread.c:220 28 #22 0x00c0fde8 in start_thread () from /lib/tls/libpthread.so.0 29 #23 0x00b1593a in clone () from /lib/tls/libc.so.6 30 Thread 5 (Thread 181783472 (LWP 10178)): 31 #0 0x00b22d19 in __lll_mutex_lock_wait () from /lib/tls/libc.so.6 32 #1 0x00aae1b4 in _L_mutex_lock_2570 () from /lib/tls/libc.so.6 33 #2 0x00150368 in __JCR_LIST__ () from firefox-devbuild/dist/bin/libnspr4.so 34 #3 0x0ad5cc08 in ?? () 35 #4 0x00150368 in __JCR_LIST__ () from firefox-devbuild/dist/bin/libnspr4.so 36 #5 0x00000001 in ?? () 37 #6 0x0ad5cc08 in ?? () 38 #7 0x0ad5ca48 in ?? () 39 #8 0x00128ae0 in PR_Free (ptr=0xa343bc8) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/malloc/prmem.c:477 40 #9 0x00128ae0 in PR_Free (ptr=0xa343bc8) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/malloc/prmem.c:477 41 #10 0x001426dc in _pt_thread_death (arg=0xa343a58) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/pthreads/ptthread.c:816 42 #11 0x00c106a9 in deallocate_tsd () from /lib/tls/libpthread.so.0 43 #12 0x00c0fdf6 in start_thread () from /lib/tls/libpthread.so.0 44 #13 0x00b1593a in clone () from /lib/tls/libc.so.6 45 Thread 4 (Thread 192273328 (LWP 10179)): 46 #0 0x00c1245b in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0 47 #1 0x00139d24 in pt_TimedWait (cv=0x9f9bbb4, ml=0x9f9cca0, timeout=838199) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/pthreads/ptsynch.c:280 48 #2 0x0013a23b in PR_WaitCondVar (cvar=0x9f9bbb0, timeout=838199) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/pthreads/ptsynch.c:407 49 #3 0x004d792b in TimerThread::Run (this=0x9f9be10) at /tmp/awuest/trees/statustext/mozilla/xpcom/threads/TimerThread.cpp:318 50 #4 0x004d33e2 in nsThread::Main (arg=0xa343eb8) at /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsThread.cpp:118 51 #5 0x00141796 in _pt_root (arg=0xa345020) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/pthreads/ptthread.c:220 52 #6 0x00c0fde8 in start_thread () from /lib/tls/libpthread.so.0 53 #7 0x00b1593a in clone () from /lib/tls/libc.so.6 54 Thread 3 (Thread 202763184 (LWP 10181)): 55 #0 0x00b22d19 in __lll_mutex_lock_wait () from /lib/tls/libc.so.6 56 ---Type <return> to continue, or q <return> to quit--- 57 #1 0x00aae1b4 in _L_mutex_lock_2570 () from /lib/tls/libc.so.6 58 #2 0x0000ea61 in ?? () 59 #3 0x0c15ec08 in ?? () 60 #4 0x00150368 in __JCR_LIST__ () from firefox-devbuild/dist/bin/libnspr4.so 61 #5 0x00000001 in ?? () 62 #6 0x0c15ec08 in ?? () 63 #7 0x0c15ea48 in ?? () 64 #8 0x00128ae0 in PR_Free (ptr=0xb73d1d00) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/malloc/prmem.c:477 65 #9 0x00128ae0 in PR_Free (ptr=0xb73d1d00) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/malloc/prmem.c:477 66 #10 0x001426dc in _pt_thread_death (arg=0xb73ad568) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/pthreads/ptthread.c:816 67 #11 0x00c106a9 in deallocate_tsd () from /lib/tls/libpthread.so.0 68 #12 0x00c0fdf6 in start_thread () from /lib/tls/libpthread.so.0 69 #13 0x00b1593a in clone () from /lib/tls/libc.so.6 70 Thread 2 (Thread 213253040 (LWP 10183)): 71 #0 0x00b22d19 in __lll_mutex_lock_wait () from /lib/tls/libc.so.6 72 #1 0x00aae1b4 in _L_mutex_lock_2570 () from /lib/tls/libc.so.6 73 #2 0x01106938 in __JCR_LIST__ () from /tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libnecko.so 74 #3 0x0cb5fc08 in ?? () 75 #4 0x00150368 in __JCR_LIST__ () from firefox-devbuild/dist/bin/libnspr4.so 76 #5 0x00000001 in ?? () 77 #6 0x0cb5fc08 in ?? () 78 #7 0x0cb5fa48 in ?? () 79 #8 0x00128ae0 in PR_Free (ptr=0xb6bcea40) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/malloc/prmem.c:477 80 #9 0x00128ae0 in PR_Free (ptr=0xb6bcea40) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/malloc/prmem.c:477 81 #10 0x001426dc in _pt_thread_death (arg=0xb6bce8b8) at /tmp/awuest/trees/statustext/mozilla/nsprpub/pr/src/pthreads/ptthread.c:816 82 #11 0x00c106a9 in deallocate_tsd () from /lib/tls/libpthread.so.0 83 #12 0x00c0fdf6 in start_thread () from /lib/tls/libpthread.so.0 84 #13 0x00b1593a in clone () from /lib/tls/libc.so.6 85 Thread 1 (Thread -1218583904 (LWP 10159)): 86 #0 0x00ae283c in __nanosleep_nocancel () from /lib/tls/libc.so.6 87 #1 0x00ae265f in sleep () from /lib/tls/libc.so.6 88 #2 0x0806945d in ah_crap_handler (signum=11) at nsSigHandlers.cpp:132 89 #3 0x08069f79 in nsProfileLock::FatalSignalHandler (signo=11) at nsProfileLock.cpp:209 90 #4 <signal handler called> 91 #5 0x00aab2f0 in malloc_consolidate () from /lib/tls/libc.so.6 92 #6 0x00aab1cd in _int_free () from /lib/tls/libc.so.6 93 #7 0x00aaa048 in free () from /lib/tls/libc.so.6 94 #8 0x08069a46 in DemangleSymbol (aSymbol=0x11ddec7 "_ZN8nsCOMPtrI13nsIDOMElementE14assign_from_qiE16nsQueryInterfaceRK4nsID", 95 aBuffer=0xbfff4624 "nsCOMPtr<nsIDOMElement>::assign_from_qi(nsQueryInterface, nsID const&)", aBufLen=4096) at nsStackFrameUnix.cpp:80 96 #9 0x08069bb5 in DumpStackToFile (aStream=0xb6bca0) at nsStackFrameUnix.cpp:129 97 #10 0x08069416 in ah_crap_handler (signum=11) at nsSigHandlers.cpp:125 98 #11 0x08069f79 in nsProfileLock::FatalSignalHandler (signo=11) at nsProfileLock.cpp:209 99 #12 <signal handler called> 100 #13 0x53e58955 in ?? () 101 #14 0x00450e6c in nsQueryInterface::operator() (this=0xbfff5b04, aIID=@0x1938e14, answer=0xbfff5af0) at nsCOMPtr.cpp:47 102 #15 0x0140f363 in nsCOMPtr<nsIDOMElement>::assign_from_qi (this=0xbfff5b40, qi={mRawPtr = 0x52b008}, aIID=@0x1938e14) at ../../../dist/include/xpcom/nsCOMPtr.h:1232 103 #16 0x0140d18d in nsCOMPtr (this=0xbfff5b40, qi={mRawPtr = 0x52b008}) at ../../../../dist/include/xpcom/nsCOMPtr.h:645 104 #17 0x017fc468 in nsXBLBinding::GetAnonymousNodes (this=0xb6be6468) at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsXBLBinding.cpp:1271 105 #18 0x017f8f32 in BuildContentLists (aKey=0xb6bf1780, aData=0xb6bf1770, aClosure=0xbfff5e30) at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsXBLBinding.cpp:303 106 #19 0x004647fe in hashEnumerate (table=0xb6be64f0, hdr=0xb6bf1b2c, i=0, arg=0xbfff5ce0) at /tmp/awuest/trees/statustext/mozilla/xpcom/ds/nsHashtable.cpp:131 107 #20 0x0045d35f in PL_DHashTableEnumerate (table=0xb6be64f0, etor=0x4647d0 <hashEnumerate>, arg=0xbfff5ce0) at /tmp/awuest/trees/statustext/mozilla/xpcom/ds/pldhash.c:619 108 #21 0x00465119 in nsHashtable::Enumerate (this=0xb6be64e8, aEnumFunc=0x17f8e2e <BuildContentLists>, aClosure=0xbfff5e30) 109 at /tmp/awuest/trees/statustext/mozilla/xpcom/ds/nsHashtable.cpp:319 110 #22 0x017f9d18 in nsXBLBinding::GenerateAnonymousContent (this=0xb6be6468) at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsXBLBinding.cpp:527 111 #23 0x017f975e in nsXBLBinding::GenerateAnonymousContent (this=0xb6bf1718) at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsXBLBinding.cpp:437 112 #24 0x01815b63 in nsXBLService::LoadBindings (this=0xb7323128, aContent=0xb6beb470, aURL=0xb6bf19b8, aAugmentFlag=1, aBinding=0xbfff65c0, aResolveStyle=0xbfff65bc) 113 ---Type <return> to continue, or q <return> to quit--- 114 at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsXBLService.cpp:636 115 #25 0x0181ac6c in nsBindingManager::AddLayeredBinding (this=0xb7387258, aContent=0xb6beb470, aURL=0xb6bf19b8) 116 at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsBindingManager.cpp:630 117 #26 0x016b5af2 in nsDocument::AddBinding (this=0xb732e6f8, aContent=0xb6beb48c, aURI=@0xb6bf1698) at /tmp/awuest/trees/statustext/mozilla/content/base/src/nsDocument.cpp:2730 118 #27 0x004fb651 in XPTC_InvokeByIndex () at /tmp/awuest/trees/statustext/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp:69 119 #28 0x00cddaac in XPCWrappedNative::CallMethod (ccx=@0xbfff694c, mode=CALL_METHOD) at /tmp/awuest/trees/statustext/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp:2104 120 #29 0x00ce7d6b in XPC_WN_CallMethod (cx=0xb734ff68, obj=0xb73bfed8, argc=2, argv=0xb6bd7140, vp=0xbfff6afc) 121 at /tmp/awuest/trees/statustext/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp:1348 122 #30 0x002d0b7f in js_Invoke (cx=0xb734ff68, argc=2, flags=0) at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:1178 123 #31 0x002e03df in js_Interpret (cx=0xb734ff68, pc=0xa21907d ":", result=0xbfff7238) at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:3468 124 #32 0x002d0c08 in js_Invoke (cx=0xb734ff68, argc=0, flags=2) at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:1198 125 #33 0x002d0fb9 in js_InternalInvoke (cx=0xb734ff68, obj=0xb6d18b40, fval=-1227780280, flags=0, argc=0, argv=0x0, rval=0xbfff73dc) 126 at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:1275 127 #34 0x0029d2a2 in JS_CallFunctionValue (cx=0xb734ff68, obj=0xb6d18b40, fval=-1227780280, argc=0, argv=0x0, rval=0xbfff73dc) 128 at /tmp/awuest/trees/statustext/mozilla/js/src/jsapi.c:3858 129 #35 0x0180ad92 in nsXBLProtoImplAnonymousMethod::Execute (this=0xb703e9a0, aBoundElement=0xb6beb470) 130 at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsXBLProtoImplMethod.cpp:333 131 #36 0x017fd824 in nsXBLPrototypeBinding::BindingAttached (this=0xb703e788, aBoundElement=0xb6beb470) 132 at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsXBLPrototypeBinding.cpp:390 133 #37 0x017fad14 in nsXBLBinding::ExecuteAttachedHandler (this=0xb6bd5538) at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsXBLBinding.cpp:768 134 #38 0x0181b439 in nsBindingManager::ProcessAttachedQueue (this=0xb7387258) at /tmp/awuest/trees/statustext/mozilla/content/xbl/src/nsBindingManager.cpp:761 135 #39 0x013fff1f in nsCSSFrameConstructor::ContentAppended (this=0xb732ddb8, aContainer=0xb6d02158, aNewIndexInContainer=0) 136 at /tmp/awuest/trees/statustext/mozilla/layout/base/nsCSSFrameConstructor.cpp:8576 137 #40 0x0145d3be in PresShell::ContentAppended (this=0xb733bec8, aDocument=0xb732e6f8, aContainer=0xb6d02158, aNewIndexInContainer=0) 138 at /tmp/awuest/trees/statustext/mozilla/layout/base/nsPresShell.cpp:5441 139 #41 0x016b3fd9 in nsDocument::ContentAppended (this=0xb732e6f8, aContainer=0xb6d02158, aNewIndexInContainer=0) 140 at /tmp/awuest/trees/statustext/mozilla/content/base/src/nsDocument.cpp:2194 141 #42 0x0183d721 in nsXULDocument::ContentAppended (this=0xb732e6f8, aContainer=0xb6d02158, aNewIndexInContainer=0) 142 at /tmp/awuest/trees/statustext/mozilla/content/xul/document/src/nsXULDocument.cpp:1172 143 #43 0x0190b5a3 in nsXULContentBuilder::RebuildAll (this=0xb6d5d9d8) at /tmp/awuest/trees/statustext/mozilla/content/xul/templates/src/nsXULContentBuilder.cpp:1909 144 #44 0x0191f25d in nsXULTemplateBuilder::Rebuild (this=0xb6d5d9d8) at /tmp/awuest/trees/statustext/mozilla/content/xul/templates/src/nsXULTemplateBuilder.cpp:244 145 #45 0x0191f773 in nsXULTemplateBuilder::AttributeChanged (this=0xb6d5d9d8, aDocument=0xb732e6f8, aContent=0xb6d02158, aNameSpaceID=0, aAttribute=0xa346050, aModType=2) 146 at /tmp/awuest/trees/statustext/mozilla/content/xul/templates/src/nsXULTemplateBuilder.cpp:343 147 #46 0x0190a5b9 in nsXULContentBuilder::AttributeChanged (this=0xb6d5d9d8, aDocument=0xb732e6f8, aContent=0xb6d02158, aNameSpaceID=0, aAttribute=0xa346050, aModType=2) 148 at /tmp/awuest/trees/statustext/mozilla/content/xul/templates/src/nsXULContentBuilder.cpp:1568 149 #47 0x0183d527 in nsXULDocument::AttributeChanged (this=0xb732e6f8, aElement=0xb6d02158, aNameSpaceID=0, aAttribute=0xa346050, aModType=2) 150 at /tmp/awuest/trees/statustext/mozilla/content/xul/document/src/nsXULDocument.cpp:1136 151 #48 0x01822d3d in nsXULElement::SetAttrAndNotify (this=0xb6d02158, aNamespaceID=0, aAttribute=0xa346050, aPrefix=0x0, aOldValue=@0xbfff7ddc, aParsedValue=@0xbfff7dbc, 152 aModification=0, aFireMutation=0, aNotify=1) at /tmp/awuest/trees/statustext/mozilla/content/xul/content/src/nsXULElement.cpp:1571 153 #49 0x018227cc in nsXULElement::SetAttr (this=0xb6d02158, aNamespaceID=0, aName=0xa346050, aPrefix=0x0, aValue=@0xb6be63f8, aNotify=1) 154 at /tmp/awuest/trees/statustext/mozilla/content/xul/content/src/nsXULElement.cpp:1495 155 #50 0x0182d32a in nsXULElement::SetAttr (this=0xb6d02158, aNameSpaceID=0, aName=0xa346050, aValue=@0xb6be63f8, aNotify=1) 156 at /tmp/awuest/trees/statustext/mozilla/content/xul/content/src/nsXULElement.h:482 157 #51 0x01827141 in nsXULElement::SetRef (this=0xb6d02158, aValue=@0xb6be63f8) at /tmp/awuest/trees/statustext/mozilla/content/xul/content/src/nsXULElement.cpp:2646 158 #52 0x004fb651 in XPTC_InvokeByIndex () at /tmp/awuest/trees/statustext/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp:69 159 #53 0x00cddaac in XPCWrappedNative::CallMethod (ccx=@0xbfff81b0, mode=CALL_SETTER) at /tmp/awuest/trees/statustext/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp:2104 160 #54 0x00ce911a in XPCWrappedNative::SetAttribute (ccx=@0xbfff81b0) at /tmp/awuest/trees/statustext/mozilla/js/src/xpconnect/src/xpcprivate.h:1902 161 #55 0x00ce7f57 in XPC_WN_GetterSetter (cx=0xb734ff68, obj=0xb6d18808, argc=1, argv=0xb6bd711c, vp=0xbfff8360) 162 at /tmp/awuest/trees/statustext/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp:1372 163 #56 0x002d0b7f in js_Invoke (cx=0xb734ff68, argc=1, flags=2) at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:1178 164 #57 0x002d0fb9 in js_InternalInvoke (cx=0xb734ff68, obj=0xb6d18808, fval=-1227781320, flags=0, argc=1, argv=0xbfff8b20, rval=0xbfff8b20) 165 at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:1275 166 #58 0x002d1258 in js_InternalGetOrSet (cx=0xb734ff68, obj=0xb6d18808, id=-1220963400, fval=-1227781320, mode=JSACC_WRITE, argc=1, argv=0xbfff8b20, rval=0xbfff8b20) 167 at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:1318 168 #59 0x002f7b60 in js_SetProperty (cx=0xb734ff68, obj=0xb6d18808, id=-1220963400, vp=0xbfff8b20) at /tmp/awuest/trees/statustext/mozilla/js/src/jsobj.c:2891 169 #60 0x002deb64 in js_Interpret (cx=0xb734ff68, pc=0xb71cc1e9 "6", result=0xbfff8c7c) at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:3306 170 #61 0x002d0c08 in js_Invoke (cx=0xb734ff68, argc=1, flags=2) at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:1198 171 #62 0x002d0fb9 in js_InternalInvoke (cx=0xb734ff68, obj=0xa0bcab0, fval=-1225246288, flags=0, argc=1, argv=0xb734aab0, rval=0xbfff8ecc) 172 ---Type <return> to continue, or q <return> to quit--- 173 at /tmp/awuest/trees/statustext/mozilla/js/src/jsinterp.c:1275 174 #63 0x0029d2a2 in JS_CallFunctionValue (cx=0xb734ff68, obj=0xa0bcab0, fval=-1225246288, argc=1, argv=0xb734aab0, rval=0xbfff8ecc) 175 at /tmp/awuest/trees/statustext/mozilla/js/src/jsapi.c:3858 176 #64 0x01871d64 in nsJSContext::CallEventHandler (this=0xb733daa0, aTarget=0xa0bcab0, aHandler=0xb6f839b0, argc=1, argv=0xb734aab0, rval=0xbfff8ecc) 177 at /tmp/awuest/trees/statustext/mozilla/dom/src/base/nsJSEnvironment.cpp:1385 178 #65 0x0188a62a in nsGlobalWindow::RunTimeout (this=0xb734fda8, aTimeout=0xb734aa60) at /tmp/awuest/trees/statustext/mozilla/dom/src/base/nsGlobalWindow.cpp:5257 179 #66 0x0188b1c1 in nsGlobalWindow::TimerCallback (aTimer=0xb6bd00b8, aClosure=0xb734aa60) at /tmp/awuest/trees/statustext/mozilla/dom/src/base/nsGlobalWindow.cpp:5619 180 #67 0x004d53c0 in nsTimerImpl::Fire (this=0xb6bd00b8) at /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsTimerImpl.cpp:394 181 #68 0x004d55a6 in handleTimerEvent (event=0xb6db2f00) at /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsTimerImpl.cpp:459 182 #69 0x004ccf18 in PL_HandleEvent (self=0xb6db2f00) at /tmp/awuest/trees/statustext/mozilla/xpcom/threads/plevent.c:698 183 #70 0x004ccdb9 in PL_ProcessPendingEvents (self=0xa028fb8) at /tmp/awuest/trees/statustext/mozilla/xpcom/threads/plevent.c:633 184 #71 0x004d0304 in nsEventQueueImpl::ProcessPendingEvents (this=0xa028f80) at /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsEventQueue.cpp:417 185 #72 0x07586288 in event_processor_callback (source=0xb730e9f0, condition=G_IO_IN, data=0xa028f80) at /tmp/awuest/trees/statustext/mozilla/widget/src/gtk2/nsAppShell.cpp:67 186 #73 0x0039ff8f in g_vsnprintf () from /usr/lib/libglib-2.0.so.0 187 #74 0x0037ec30 in unblock_source () from /usr/lib/libglib-2.0.so.0 188 #75 0x0037fc98 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 189 #76 0x0037ffad in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 190 #77 0x003806cf in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 191 #78 0x0074943f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 192 #79 0x0758697a in nsAppShell::Run (this=0xa2b7638) at /tmp/awuest/trees/statustext/mozilla/widget/src/gtk2/nsAppShell.cpp:139 193 #80 0x02d94d0f in nsAppStartup::Run (this=0xa2b75f0) at /tmp/awuest/trees/statustext/mozilla/toolkit/components/startup/src/nsAppStartup.cpp:144 194 #81 0x080574db in XRE_main (argc=1, argv=0xbfff9aa4, aAppData=0x8070040) at /tmp/awuest/trees/statustext/mozilla/toolkit/xre/nsAppRunner.cpp:2059 195 #82 0x0804f6c2 in main (argc=1, argv=0xbfff9aa4) at /tmp/awuest/trees/statustext/mozilla/browser/app/nsBrowserApp.cpp:61 196 (gdb) Console debug output of firefox run (non-blank-line numbered for your convenience): 1 Type Manifest File: /tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/xpti.dat 2 nsNativeComponentLoader: autoregistering begins. 3 nsNativeComponentLoader: autoregistering succeeded 4 nsNativeComponentLoader: registering deferred (0) 5 nsNativeComponentLoader: autoregistering begins. 6 nsNativeComponentLoader: autoregistering succeeded 7 nsNativeComponentLoader: registering deferred (0) 8 WARNING: nsExceptionService ignoring thread destruction after shutdown, file /tmp/awuest/trees/statustext/mozilla/xpcom/base/nsExceptionService.cpp, line 191 9 No Persistent Registry Found. 10 Type Manifest File: /home/awuest/.mozilla/firefox/qsazrhuz.default/xpti.dat 11 nsNativeComponentLoader: autoregistering begins. 12 *** Registering xpcomObsoleteModule components (all right -- a generic module!) 13 *** Registering xpconnect components (all right -- a generic module!) 14 *** Registering nsUConvModule components (all right -- a generic module!) 15 *** Registering nsI18nModule components (all right -- a generic module!) 16 *** Registering necko_core_and_primary_protocols components (all right -- a generic module!) 17 *** Registering necko_secondary_protocols components (all right -- a generic module!) 18 *** Registering nsJarModule components (all right -- a generic module!) 19 *** Registering nsPrefModule components (all right -- a generic module!) 20 *** Registering nsSecurityManagerModule components (all right -- a generic module!) 21 *** Registering nsRDFModule components (all right -- a generic module!) 22 *** Registering nsParserModule components (all right -- a generic module!) 23 *** Registering nsGfxGTKModule components (all right -- a generic module!) 24 *** Registering nsIconDecoderModule components (all right -- a generic module!) 25 *** Registering nsImageLib2Module components (all right -- a generic module!) 26 *** Registering nsWidgetGtk2Module components (all right -- a generic module!) 27 *** Registering nsLayoutModule components (all right -- a generic module!) 28 *** Registering docshell_provider components (all right -- a generic module!) 29 *** Registering embedcomponents components (all right -- a generic module!) 30 *** Registering Browser_Embedding_Module components (all right -- a generic module!) 31 *** Registering nsEditorModule components (all right -- a generic module!) 32 *** Registering nsTransactionManagerModule components (all right -- a generic module!) 33 *** Registering nsComposerModule components (all right -- a generic module!) 34 *** Registering appshell components (all right -- a generic module!) 35 *** Registering nsAccessibilityModule components (all right -- a generic module!) 36 *** Registering nsChromeModule components (all right -- a generic module!) 37 *** Registering nsMorkModule components (all right -- a generic module!) 38 *** Registering nsFindComponent components (all right -- a generic module!) 39 *** Registering application components (all right -- a generic module!) 40 *** Registering nsFileViewModule components (all right -- a generic module!) 41 *** Registering RemoteServiceModule components (all right -- a generic module!) 42 *** Registering CommandLineModule components (all right -- a generic module!) 43 *** Registering nsToolkitCompsModule components (all right -- a generic module!) 44 *** Registering nsSoftwareUpdate components (all right -- a generic module!) 45 *** Registering BOOT components (all right -- a generic module!) 46 *** Registering NSS components (all right -- a generic module!) 47 *** Registering PKI components (all right -- a generic module!) 48 *** Registering mozgnome components (all right -- a generic module!) 49 *** Registering nsCookieModule components (all right -- a generic module!) 50 *** Registering nsXMLExtrasModule components (all right -- a generic module!) 51 *** Registering nsAutoConfigModule components (all right -- a generic module!) 52 *** Registering nsSystemPrefModule components (all right -- a generic module!) 53 *** Registering TransformiixModule components (all right -- a generic module!) 54 *** Registering nsUniversalCharDetModule components (all right -- a generic module!) 55 *** Registering nsWebServicesModule components (all right -- a generic module!) 56 *** Registering nsInspectorModule components (all right -- a generic module!) 57 *** Registering nsGnomeVFSModule components (all right -- a generic module!) 58 *** Registering nsNegotiateAuthModule components (all right -- a generic module!) 59 *** Registering nsPermissionsModule components (all right -- a generic module!) 60 *** Registering SearchServiceModule components (all right -- a generic module!) 61 *** Registering nsBrowserCompsModule components (all right -- a generic module!) 62 nsNativeComponentLoader: autoregistering succeeded 63 nsNativeComponentLoader: registering deferred (0) 64 nsNativeComponentLoader: registering deferred (0) 65 nsNativeComponentLoader: registering deferred (0) 66 nsNativeComponentLoader: autoregistering begins. 67 nsNativeComponentLoader: autoregistering succeeded 68 nsNativeComponentLoader: registering deferred (0) 69 pldhash: for the table at address 0x9049fd0, the given entrySize of 44 probably favors chaining over double hashing. 70 GFX: dpi=96 t2p=0.0666667 p2t=15 depth=24 71 ++WEBSHELL == 1 72 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file /tmp/awuest/trees/statustext/mozilla/extensions/cookie/nsPermissionManager.cpp, line 624 73 ++DOMWINDOW == 1 74 *** loading the extensions datasource 75 WARNING: nsExceptionService ignoring thread destruction after shutdown, file /tmp/awuest/trees/statustext/mozilla/xpcom/base/nsExceptionService.cpp, line 191 76 --WEBSHELL == 0 77 WARNING: unable to Flush() diry datasource during XPCOM shutdown, file /tmp/awuest/trees/statustext/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp, line 801 78 ###!!! ASSERTION: Main thread being held past XPCOM shutdown.: 'cnt == 0', file /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsThread.cpp, line 450 79 Break: at file /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsThread.cpp, line 450 80 Type Manifest File: /home/awuest/.mozilla/firefox/qsazrhuz.default/xpti.dat 81 nsNativeComponentLoader: autoregistering begins. 82 nsNativeComponentLoader: autoregistering succeeded 83 nsNativeComponentLoader: registering deferred (0) 84 pldhash: for the table at address 0x9e4a700, the given entrySize of 44 probably favors chaining over double hashing. 85 GFX: dpi=96 t2p=0.0666667 p2t=15 depth=24 86 ++WEBSHELL == 1 87 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file /tmp/awuest/trees/statustext/mozilla/extensions/cookie/nsPermissionManager.cpp, line 624 88 ++DOMWINDOW == 1 89 *** Item Installed via directory addition to Install Location: app-global Item ID: {972ce4c6-7e08-4474-a285-3208198ce6fd}, attempting to register... 90 *** Item Installed/Upgraded at Install Location: app-global Item ID: {972ce4c6-7e08-4474-a285-3208198ce6fd}, attempting to register... 91 *** loading the extensions datasource 92 *** ... success, item is compatible 93 WARNING: nsExceptionService ignoring thread destruction after shutdown, file /tmp/awuest/trees/statustext/mozilla/xpcom/base/nsExceptionService.cpp, line 191 94 --WEBSHELL == 0 95 ###!!! ASSERTION: Main thread being held past XPCOM shutdown.: 'cnt == 0', file /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsThread.cpp, line 450 96 Break: at file /tmp/awuest/trees/statustext/mozilla/xpcom/threads/nsThread.cpp, line 450 97 No Persistent Registry Found. 98 Type Manifest File: /home/awuest/.mozilla/firefox/qsazrhuz.default/xpti.dat 99 nsNativeComponentLoader: autoregistering begins. 100 *** Registering xpcomObsoleteModule components (all right -- a generic module!) 101 *** Registering xpconnect components (all right -- a generic module!) 102 *** Registering nsUConvModule components (all right -- a generic module!) 103 *** Registering nsI18nModule components (all right -- a generic module!) 104 *** Registering necko_core_and_primary_protocols components (all right -- a generic module!) 105 *** Registering necko_secondary_protocols components (all right -- a generic module!) 106 *** Registering nsJarModule components (all right -- a generic module!) 107 *** Registering nsPrefModule components (all right -- a generic module!) 108 *** Registering nsSecurityManagerModule components (all right -- a generic module!) 109 *** Registering nsRDFModule components (all right -- a generic module!) 110 *** Registering nsParserModule components (all right -- a generic module!) 111 *** Registering nsGfxGTKModule components (all right -- a generic module!) 112 *** Registering nsIconDecoderModule components (all right -- a generic module!) 113 *** Registering nsImageLib2Module components (all right -- a generic module!) 114 *** Registering nsWidgetGtk2Module components (all right -- a generic module!) 115 *** Registering nsLayoutModule components (all right -- a generic module!) 116 *** Registering docshell_provider components (all right -- a generic module!) 117 *** Registering embedcomponents components (all right -- a generic module!) 118 *** Registering Browser_Embedding_Module components (all right -- a generic module!) 119 *** Registering nsEditorModule components (all right -- a generic module!) 120 *** Registering nsTransactionManagerModule components (all right -- a generic module!) 121 *** Registering nsComposerModule components (all right -- a generic module!) 122 *** Registering appshell components (all right -- a generic module!) 123 *** Registering nsAccessibilityModule components (all right -- a generic module!) 124 *** Registering nsChromeModule components (all right -- a generic module!) 125 *** Registering nsMorkModule components (all right -- a generic module!) 126 *** Registering nsFindComponent components (all right -- a generic module!) 127 *** Registering application components (all right -- a generic module!) 128 *** Registering nsFileViewModule components (all right -- a generic module!) 129 *** Registering RemoteServiceModule components (all right -- a generic module!) 130 *** Registering CommandLineModule components (all right -- a generic module!) 131 *** Registering nsToolkitCompsModule components (all right -- a generic module!) 132 *** Registering nsSoftwareUpdate components (all right -- a generic module!) 133 *** Registering BOOT components (all right -- a generic module!) 134 *** Registering NSS components (all right -- a generic module!) 135 *** Registering PKI components (all right -- a generic module!) 136 *** Registering mozgnome components (all right -- a generic module!) 137 *** Registering nsCookieModule components (all right -- a generic module!) 138 *** Registering nsXMLExtrasModule components (all right -- a generic module!) 139 *** Registering nsAutoConfigModule components (all right -- a generic module!) 140 *** Registering nsSystemPrefModule components (all right -- a generic module!) 141 *** Registering TransformiixModule components (all right -- a generic module!) 142 *** Registering nsUniversalCharDetModule components (all right -- a generic module!) 143 *** Registering nsWebServicesModule components (all right -- a generic module!) 144 *** Registering nsInspectorModule components (all right -- a generic module!) 145 *** Registering nsGnomeVFSModule components (all right -- a generic module!) 146 *** Registering nsNegotiateAuthModule components (all right -- a generic module!) 147 *** Registering nsPermissionsModule components (all right -- a generic module!) 148 *** Registering SearchServiceModule components (all right -- a generic module!) 149 *** Registering nsBrowserCompsModule components (all right -- a generic module!) 150 nsNativeComponentLoader: autoregistering succeeded 151 nsNativeComponentLoader: registering deferred (0) 152 nsNativeComponentLoader: registering deferred (0) 153 nsNativeComponentLoader: registering deferred (0) 154 nsNativeComponentLoader: autoregistering begins. 155 nsNativeComponentLoader: autoregistering succeeded 156 nsNativeComponentLoader: registering deferred (0) 157 pldhash: for the table at address 0xa16eaf8, the given entrySize of 44 probably favors chaining over double hashing. 158 GFX: dpi=96 t2p=0.0666667 p2t=15 depth=24 159 ++WEBSHELL == 1 160 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file /tmp/awuest/trees/statustext/mozilla/extensions/cookie/nsPermissionManager.cpp, line 624 161 ++DOMWINDOW == 1 162 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file /tmp/awuest/trees/statustext/mozilla/intl/strres/src/nsStringBundle.cpp, line 273 163 ++WEBSHELL == 2 164 ++DOMWINDOW == 2 165 Note: styleverifytree is disabled 166 Note: frameverifytree is disabled 167 Note: verifyreflow is disabled 168 ++WEBSHELL == 3 169 ++DOMWINDOW == 3 170 **** Stale search engine reference to 'NC:SearchCategory?engine=urn:search:engine:lxrmozilla.src' 171 **** Stale search engine reference to 'NC:SearchCategory?engine=urn:search:engine:bugzilla.src' 172 **** Stale search engine reference to 'NC:SearchCategory?engine=urn:search:engine:mozilla.src' 173 **** Stale search engine reference to 'NC:SearchCategory?engine=urn:search:engine:dmoz.src' 174 **** Stale search engine reference to 'NC:SearchCategory?engine=urn:search:engine:NetscapeSearch.src' 175 JS DUMP: bind_orthogonal_implementation::ctor: binding "chrome://global/content/bindings/general.xml#testbinding" on "[object XULElement @ 0xb6be1158 (native @ 0xb6beb470)]". 176 Program firefox-devbuild/dist/bin/firefox-bin (pid = 10159) received signal 11. 177 Stack: 178 nsProfileLock::FatalSignalHandler(int)+0x00000137 [firefox-devbuild/dist/bin/firefox-bin +0x00021F79] 179 UNKNOWN [/lib/tls/libpthread.so.0 +0x0000AE48] 180 Program firefox-devbuild/dist/bin/firefox-bin (pid = 10159) received signal 11. 181 Stack: 182 nsProfileLock::FatalSignalHandler(int)+0x00000137 [firefox-devbuild/dist/bin/firefox-bin +0x00021F79] 183 UNKNOWN [/lib/tls/libpthread.so.0 +0x0000AE48] 184 UNKNOWN [/lib/tls/libc.so.6 +0x000721CD] 185 __libc_free+0x00000088 [/lib/tls/libc.so.6 +0x00071048] 186 DemangleSymbol(char const*, char*, int)+0x00000052 [firefox-devbuild/dist/bin/firefox-bin +0x00021A46] 187 DumpStackToFile(_IO_FILE*)+0x00000167 [firefox-devbuild/dist/bin/firefox-bin +0x00021BB5] 188 ah_crap_handler(int)+0x0000005A [firefox-devbuild/dist/bin/firefox-bin +0x00021416] 189 nsProfileLock::FatalSignalHandler(int)+0x00000137 [firefox-devbuild/dist/bin/firefox-bin +0x00021F79] 190 UNKNOWN [/lib/tls/libpthread.so.0 +0x0000AE48] 191 nsCOMPtr<nsIDOMElement>::assign_from_qi(nsQueryInterface, nsID const&)+0x00000021 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x00307363] 192 nsCOMPtr<nsIDOMElement>::nsCOMPtr(nsQueryInterface)+0x00000037 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x0030518D] 193 nsXBLBinding::GetAnonymousNodes()+0x00000058 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x006F4468] 194 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x006F0F32] 195 UNKNOWN [firefox-devbuild/dist/bin/libxpcom_core.so +0x0008A7FE] 196 PL_DHashTableEnumerate+0x00000089 [firefox-devbuild/dist/bin/libxpcom_core.so +0x0008335F] 197 nsHashtable::Enumerate(int (*)(nsHashKey*, void*, void*), void*)+0x00000057 [firefox-devbuild/dist/bin/libxpcom_core.so +0x0008B119] 198 nsXBLBinding::GenerateAnonymousContent()+0x00000626 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x006F1D18] 199 nsXBLBinding::GenerateAnonymousContent()+0x0000006C [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x006F175E] 200 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x0070DB63] 201 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x00712C6C] 202 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x005ADAF2] 203 XPTC_InvokeByIndex+0x00000029 [firefox-devbuild/dist/bin/libxpcom_core.so +0x00121651] 204 XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)+0x00001154 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libxpconnect.so +0x00080AAC] 205 XPC_WN_CallMethod(JSContext*, JSObject*, unsigned int, long*, long*)+0x000001A5 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libxpconnect.so +0x0008AD6B] 206 js_Invoke+0x00000F2A [firefox-devbuild/dist/bin/libmozjs.so +0x00050B7F] 207 js_Interpret+0x0000E0BF [firefox-devbuild/dist/bin/libmozjs.so +0x000603DF] 208 js_Invoke+0x00000FB3 [firefox-devbuild/dist/bin/libmozjs.so +0x00050C08] 209 js_InternalInvoke+0x00000141 [firefox-devbuild/dist/bin/libmozjs.so +0x00050FB9] 210 JS_CallFunctionValue+0x0000002F [firefox-devbuild/dist/bin/libmozjs.so +0x0001D2A2] 211 nsXBLProtoImplAnonymousMethod::Execute(nsIContent*)+0x00000416 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x00702D92] 212 nsXBLPrototypeBinding::BindingAttached(nsIContent*)+0x0000003C [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x006F5824] 213 nsXBLBinding::ExecuteAttachedHandler()+0x0000006A [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x006F2D14] 214 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x00713439] 215 nsCSSFrameConstructor::ContentAppended(nsIContent*, int)+0x00000B7F [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x002F7F1F] 216 PresShell::ContentAppended(nsIDocument*, nsIContent*, int)+0x0000009E [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x003553BE] 217 nsDocument::ContentAppended(nsIContent*, int)+0x0000008F [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x005ABFD9] 218 nsXULDocument::ContentAppended(nsIContent*, int)+0x00000093 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x00735721] 219 nsXULContentBuilder::RebuildAll()+0x0000036F [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x008035A3] 220 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x0081725D] 221 nsXULTemplateBuilder::AttributeChanged(nsIDocument*, nsIContent*, int, nsIAtom*, int)+0x0000004B [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x00817773] 222 nsXULContentBuilder::AttributeChanged(nsIDocument*, nsIContent*, int, nsIAtom*, int)+0x000000E7 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x008025B9] 223 nsXULDocument::AttributeChanged(nsIContent*, int, nsIAtom*, int)+0x00000315 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x00735527]nsXULElement::SetAttrAndNotify(int, nsIAtom*, nsIAtom*, nsAString const&, nsAttrValue&, int, int, int)+0x00000535 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x0071AD3D] 224 nsXULElement::SetAttr(int, nsIAtom*, nsIAtom*, nsAString const&, int)+0x00000314 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x0071A7CC] 225 nsXULElement::SetAttr(int, nsIAtom*, nsAString const&, int)+0x00000026 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x0072532A] 226 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x0071F141] 227 XPTC_InvokeByIndex+0x00000029 [firefox-devbuild/dist/bin/libxpcom_core.so +0x00121651] 228 XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)+0x00001154 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libxpconnect.so +0x00080AAC] 229 XPCWrappedNative::SetAttribute(XPCCallContext&)+0x00000020 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libxpconnect.so +0x0008C11A] 230 XPC_WN_GetterSetter(JSContext*, JSObject*, unsigned int, long*, long*)+0x000001C1 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libxpconnect.so +0x0008AF57] 231 js_Invoke+0x00000F2A [firefox-devbuild/dist/bin/libmozjs.so +0x00050B7F] 232 js_InternalInvoke+0x00000141 [firefox-devbuild/dist/bin/libmozjs.so +0x00050FB9] 233 js_InternalGetOrSet+0x0000023B [firefox-devbuild/dist/bin/libmozjs.so +0x00051258] 234 js_SetProperty+0x00000374 [firefox-devbuild/dist/bin/libmozjs.so +0x00077B60] 235 js_Interpret+0x0000C844 [firefox-devbuild/dist/bin/libmozjs.so +0x0005EB64] 236 js_Invoke+0x00000FB3 [firefox-devbuild/dist/bin/libmozjs.so +0x00050C08] 237 js_InternalInvoke+0x00000141 [firefox-devbuild/dist/bin/libmozjs.so +0x00050FB9] 238 JS_CallFunctionValue+0x0000002F [firefox-devbuild/dist/bin/libmozjs.so +0x0001D2A2] 239 nsJSContext::CallEventHandler(JSObject*, JSObject*, unsigned int, long*, long*)+0x0000012C [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x00769D64] 240 nsGlobalWindow::RunTimeout(nsTimeout*)+0x00000486 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x0078262A] 241 nsGlobalWindow::TimerCallback(nsITimer*, void*)+0x00000037 [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libgklayout.so +0x007831C1] 242 nsTimerImpl::Fire()+0x00000250 [firefox-devbuild/dist/bin/libxpcom_core.so +0x000FB3C0] 243 handleTimerEvent(TimerEventType*)+0x0000010C [firefox-devbuild/dist/bin/libxpcom_core.so +0x000FB5A6] 244 PL_HandleEvent+0x00000054 [firefox-devbuild/dist/bin/libxpcom_core.so +0x000F2F18] 245 PL_ProcessPendingEvents+0x000000DC [firefox-devbuild/dist/bin/libxpcom_core.so +0x000F2DB9] 246 UNKNOWN [firefox-devbuild/dist/bin/libxpcom_core.so +0x000F6304] 247 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libwidget_gtk2.so +0x00037288] 248 UNKNOWN [/usr/lib/libglib-2.0.so.0 +0x00043F8F] 249 UNKNOWN [/usr/lib/libglib-2.0.so.0 +0x00022C30] 250 g_main_context_dispatch+0x00000098 [/usr/lib/libglib-2.0.so.0 +0x00023C98] 251 UNKNOWN [/usr/lib/libglib-2.0.so.0 +0x00023FAD] 252 g_main_loop_run+0x0000019F [/usr/lib/libglib-2.0.so.0 +0x000246CF] 253 gtk_main+0x000000BF [/usr/lib/libgtk-x11-2.0.so.0 +0x000D443F] 254 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libwidget_gtk2.so +0x0003797A] 255 UNKNOWN [/tmp/awuest/trees/statustext/mozilla/firefox-devbuild/dist/bin/components/libtoolkitcomps.so +0x00043D0F] 256 UNKNOWN [firefox-devbuild/dist/bin/firefox-bin +0x0000F4DB] 257 XOpenDisplay+0x0000010E [firefox-devbuild/dist/bin/firefox-bin +0x000076C2] 258 __libc_start_main+0x000000DA [/lib/tls/libc.so.6 +0x0001578A] 259 Sleeping for 5 minutes. 260 Type 'gdb firefox-devbuild/dist/bin/firefox-bin 10159' to attach your debugger to this thread. Please note the line starting with "JS DUMP" (line 175). After this 'dump()', the document.addBinding() is called (see testcase). The 'dump()' after addBinding() is never reached. In case you wonder about what the code should do: it should supply a facility to add orthogonal bindings (i.e. bindings or a chain of bindings with functionality which does not need to inherit from other bindings or chains of bindings). It implements quasi-multiple inheritance, with the difference that addBinding() just links the additional bindings into the existing bindings chain, i.e. conflict resolution is solved by simple 'subclassing'. See also rant^H^H^H^Hcomment https://bugzilla.mozilla.org/show_bug.cgi?id=213163#c33. It doesn't matter that addBinding has to add the binding at the top of the chain (i.e. at the point where no other (normal) bindings have been bound to the current element), the same behaviour can also be reproduced when factoring the 'bind_orthogonal_implementation' code out and call it via a mouseover event after the browser was loaded. But maybe these are just the two corner cases (inserting binding at the top and at the bottom of the chain), but it would work in between (altough I cannot imagine this since it is always an insertion at the bottom, except for the topmost insertion). Reproducible: Always Steps to Reproduce: 1. Compile 2. Run 3. Crash Actual Results: Segmentation fault (see backtraces above) Expected Results: Execute the addBinding() function and add the specified binding to the element. Linux 2.4.21-32.0.1.ELsmp #1 SMP Tue May 17 17:52:23 EDT 2005 i686 i686 i386 GNU/Linux
Adds a new super class, which in its constructor calls document.addBinding to bind an additional binding which can be specified in an attribute 'orthogonalBinding'. Call to addBinding crashes.
PS: Just to make sure: changing the attribute to low caps has no effect, except that I can't get a sensible stacktrace anymore...
Blocks: 213163
Attachment #185144 - Attachment is patch: false
For future reference, a testcase should generally be runnable in the browser without having to change the source... Makes it a lot easier to work with.
So the problem here is probably that this code is reentering the binding construction somehow before it's quite done. The crash is happening because nsXBLBinding::GenerateAnonymousContent hits a null array in its hashtable...
Severity: normal → critical
Component: DOM: Core → XBL
Keywords: crash
Summary: document.addBinding() segfaults → document.addBinding() segfaults when called from binding constructor for same element
(In reply to comment #4) > So the problem here is probably that this code is reentering the binding > construction somehow before it's quite done. The crash is happening because > nsXBLBinding::GenerateAnonymousContent hits a null array in its hashtable... Sorry, but I have to disagree with you. As I mentioned above, the segfault also happens when using something like this: <binding id="bind_orthogonal_implementation"> <implementation> <property name="orthogonalbinding" onget="return this.getAttribute('orthogonalbinding');"/> <method name="bind_orthogonal_implementation"> <body> <![CDATA[ if (this.orthogonalbinding) { dump("JS DUMP: bind_orthogonal_implementation::bind_orthogonal_implementation: binding \"" + this.orthogonalbinding + "\" on \"" + this + "\".\n"); document.addBinding(this, this.orthogonalbinding); dump("JS DUMP: bind_orthogonal_implementation::bind_orthogonal_implementation: after document.addBinding() invocation.\n"); } ]]> </body> </method> </implementation> </binding> and invoking it via orthogonalbinding="chrome://global/content/bindings/general.xml#testbinding" onmouseover="bind_orthogonal_implementation();" by hovering over the toolbarbutton. In this case, the binding obvioulsy happens *after* this element and everything has been initialised! (You can even do some browsing before.) See testcase #2 and backtrace #2. PS: Should I try to rework the testcases somehow to be able to load it directly into the browser without having to recompile?
Attachment #185144 - Attachment description: Testcase to reproduce document.addBinding() segfault → Testcase #1 to reproduce document.addBinding() segfault
Summary: document.addBinding() segfaults when called from binding constructor for same element → document.addBinding() segfaults when calling element is the target of the binding
Actually, this should just crash any time it's called on a node which already has a binding. Part of the problem is deCOM that leads to us not holding a ref to a binding we need and hence it actually going away while we're working with it. Fixing that gets me a little further, but still crashes...
Summary: document.addBinding() segfaults when calling element is the target of the binding → document.addBinding() segfaults called on a node with existing binding
Brian, could you possibly look into this? I won't have a chance to till July at this point. Two problems I've found so far are: 1) In nsXBLService::LoadBindings when we are in the aAugmentFlag we do: bindingManager->SetBinding(aContent, newBinding); baseBinding->SetBaseBinding(binding); That first call destroys |binding|, since we're not holding a ref to it. Just taking a ref before calling SetBinding helps with this. 2) With #1 fixed we crash in ObjectEntry::SetValue, called from nsBindingManager::SetAnonymousNodesFor. In particular, the nsVoidArray::EnumerateForwards in ~nsAnonymousContentList crashes, with this stack: 0 0x0000000e in ?? () #1 0xb7e72bc9 in nsCOMArray_base::~nsCOMArray_base () at nsIComponentManager.h:29 #2 0xb71fa912 in nsCOMArray<nsIContent>::~nsCOMArray () at nsCOMArray.h:52 #3 0xb75bfe2c in nsXBLInsertionPoint::~nsXBLInsertionPoint () at ../../../../mozilla/content/xtf/src/nsXTFElementWrapper.cpp:58 #4 0xb75baf0a in DeleteInsertionPoint (aElement=0x8853050, aData=0x0) at ../../../../mozilla/content/xbl/src/nsBindingManager.cpp:124 #5 0xb7e6d4b0 in nsVoidArray::EnumerateForwards (this=0x8861fd0, aFunc=0xb75baee0 <DeleteInsertionPoint>, aData=0x0) at ../../../mozilla/xpcom/ds/nsVoidArray.cpp:648 At a guess, we are trying to double-delete insertion points or something along those lines, since we're just augmenting an existing binding and hence reusing its existing insertion point table. That is, I'm not sure the "binding manager table owns insertion points" model introduced in bug 194834 is correct (or rather it's not enforced right now; other places have pointers to the same insertion points).
Assignee: general → general
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking1.8b3?
Bumping... this sucks.
Flags: blocking1.8b4?
Flags: blocking1.8b3?
Flags: blocking1.8b3-
Just to make it clear, this is a major XBL usability regression in 1.8, and I think we should definitely fix it before we branch 1.8....
Whiteboard: [no l10n impact]
Flags: blocking1.8b4? → blocking1.8b4+
Whiteboard: [no l10n impact] → [no l10n impact] [needed before branch]
Is anyone working on this? If not, who should? /cb
Whiteboard: [no l10n impact] [needed before branch] → [no l10n impact] [needed before branch] [at risk?]
I'm not aware of anyone working on this yet. As for who should.... bryner wrote the code and probably knows it better than anyone else. I could try to work on it, but I really don't know how and why most of this code works, so my approach would be mostly along the lines of backing out parts of bug 194834.
ok, so bz, if you could take this, and perhaps get an assist from bryner? /cb
Assignee: general → bzbarsky
I'm not going to be able to work on this until at least two weeks from now.
No longer blocks: branching1.8
Whiteboard: [no l10n impact] [needed before branch] [at risk?] → [no l10n impact]
Whiteboard: [no l10n impact] → [no l10n impact][ETA: 8/19]
bryner, could you possibly take a look at this? I really don't quite understand why the code you wrote in bug 194834 is doing what it's doing, and at the same time I don't really want to try to back it out wholesale -- enough stuff has changed since that that would be pretty painful.
Keywords: helpwanted
Whiteboard: [no l10n impact][ETA: 8/19] → [no l10n impact][ETA: unknown]
Blocks: 194834
Flags: blocking1.8b5+
Flags: blocking1.8b5+
Bryner said he'd look at this...
Assignee: bzbarsky → bryner
Target Milestone: --- → mozilla1.8beta4
Attached patch idea for a fixSplinter Review
As Boris mentioned, there are two problems. The first is that the old binding can be deleted as the new binding is inserted into the chain. That's fixed by simply reordering things in LoadBindings(). The other problem happens when GenerateAnonymousContent() is called on a binding for the second time. The binding will already have the insertion points created, in mInsertionPointTable. They are inserted into a newly-created VoidArray which is then set as the anonymous content list for the node on the binding manager. So, the binding manager goes to replace one VoidArray that contains nsXBLInsertionPoints with a second void array containing the same points. Since the insertion points are deleted as the old array is removed, the new array has pointers to freed memory. My fix here is simply to remove any duplicate insertion points from the old nsVoidArray prior to swapping them, so that only insertion points that are no longer referenced will be deleted.
Attachment #194492 - Flags: superreview?(bzbarsky)
Attachment #194492 - Flags: review?(bzbarsky)
Comment on attachment 194492 [details] [diff] [review] idea for a fix Nice! r+sr=bzbarsky
Attachment #194492 - Flags: superreview?(bzbarsky)
Attachment #194492 - Flags: superreview+
Attachment #194492 - Flags: review?(bzbarsky)
Attachment #194492 - Flags: review+
checked in on the trunk.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Attachment #194492 - Flags: approval1.8b4?
Brian, thanks for the human testcase. ;-) verified on the trunk with: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20050901 Firefox/1.6a1
Status: RESOLVED → VERIFIED
Attachment #194492 - Flags: approval1.8b4? → approval1.8b4+
checked in on the branch
Keywords: fixed1.8
verified on Firefox 1.4 -mozilla1.8 branch- Win, Lin and Mac : 2005-09-07
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: