Re: [Htmlvalidator-help] FreeBSD
Brought to you by:
mgueury
From: Marc G. <mg...@sk...> - 2006-06-18 09:04:13
|
What happen at this line in JavaScript, is that Mozilla js create a XPCOM object. You can have a lot more info about XPCOM here. http://www.mozilla.org/projects/xpcom/book/cxc/html/quicktour2.html A XPCOM object is a C++ or Javascript object. That is not special at all. The only special thing is that his header is not defined in a .h file but in a .idl file. It allows to Mozilla to created a kind of registry of available objects types. This line creates a object instance: (a XPCOM object) var tidy_inst = Components.classes["@mozilla.org/tidy;1"].createInstance(); What is really called in my code is just the TidyImpl constructor. The rest is generated by Mozilla. And the error you get, nsTidyImpl_GetInterfacesHelper is not inside my code. I suppose it is generated by one of the MACRO definition in nsTidy.cpp or nsTidyModule.cpp like NS_IMPL_ISUPPORTS1_CI(nsTidyImpl, nsITidy) What I misunderstand is why you get such error when it works on other platforms ? If XPCOM was not working at all Firefox would not work at all. So, this is very strange. Marc [LoN]Kamikaze wrote: > I have found some volunteers who help me testing. Here is some > debugging output: > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x8067000 (LWP 100161)] > 0x29ffeb0b in nsTidyImpl_GetInterfacesHelper () > from > /home/fk/.mozilla/firefox/a08wllhs.default/extensions/{3b56bcc7-54e5-44a2-9b44-66c3ef58c13e}/components/libnstidy.so > (gdb) where > #0 0x29ffeb0b in nsTidyImpl_GetInterfacesHelper () > from > /home/fk/.mozilla/firefox/a08wllhs.default/extensions/{3b56bcc7-54e5-44a2-9b44-66c3ef58c13e}/components/libnstidy.so > #1 0x2817370a in nsGenericFactory::~nsGenericFactory () from > /usr/X11R6/lib/firefox/libxpcom_core.so > #2 0x28f1a825 in XPCNativeSet::GetNewOrUsed () from > /usr/X11R6/lib/firefox/components/libxpconnect.so > #3 0x28f1f5f7 in XPCWrappedNativeProto::GetNewOrUsed () from > /usr/X11R6/lib/firefox/components/libxpconnect.so > #4 0x28f17dc8 in XPCWrappedNative::GetNewOrUsed () from > /usr/X11R6/lib/firefox/components/libxpconnect.so > #5 0x28efd0e1 in XPCConvert::NativeInterface2JSObject () from > /usr/X11R6/lib/firefox/components/libxpconnect.so > #6 0x28ef03c8 in nsXPConnect::IsISupportsDescendant () from > /usr/X11R6/lib/firefox/components/libxpconnect.so > #7 0x28f04c51 in nsJSCID::NewID () from > /usr/X11R6/lib/firefox/components/libxpconnect.so > #8 0x281d2f1b in XPTC_InvokeByIndex () from > /usr/X11R6/lib/firefox/libxpcom_core.so > #9 0x28f153dc in XPCWrappedNative::CallMethod () from > /usr/X11R6/lib/firefox/components/libxpconnect.so > #10 0x28f1bf9f in XPC_WN_CallMethod () from > /usr/X11R6/lib/firefox/components/libxpconnect.so > #11 0x280e1de9 in js_Invoke () from /usr/X11R6/lib/firefox/libmozjs.so > #12 0x280d871e in js_Interpret () from /usr/X11R6/lib/firefox/libmozjs.so > #13 0x280e1eb4 in js_Invoke () from /usr/X11R6/lib/firefox/libmozjs.so > #14 0x280d5da5 in js_Interpret () from /usr/X11R6/lib/firefox/libmozjs.so > #15 0x280e1416 in js_Execute () from /usr/X11R6/lib/firefox/libmozjs.so > #16 0x280a78b3 in JS_ExecuteScript () from > /usr/X11R6/lib/firefox/libmozjs.so > #17 0x29c57425 in nsJSContext::ExecuteScript () from > /usr/X11R6/lib/firefox/components/libgklayout.so > > Attached is the complete output of Firefox with debugging symbols. > Maybe you can make something of this. > > ------------------------------------------------------------------------ > > Reading symbols from > /home/fk/.mozilla/firefox/a08wllhs.default/extensions/{3b56bcc7-54e5-44a2-9b44-66c3ef58c13e}/components/libnstidy.so...done. > Loaded symbols for > /home/fk/.mozilla/firefox/a08wllhs.default/extensions/{3b56bcc7-54e5-44a2-9b44-66c3ef58c13e}/components/libnstidy.so > Reading symbols from /libexec/ld-elf.so.1...done. > Loaded symbols for /libexec/ld-elf.so.1 > #0 0x28bbcccb in pthread_testcancel () from /usr/lib/libpthread.so.2 > [New Thread 0x8542400 (sleeping)] > [New Thread 0x83a1600 (sleeping)] > [New Thread 0x82eaa00 (sleeping)] > [New Thread 0x8209800 (sleeping)] > [New Thread 0x80abe00 (runnable)] > [New Thread 0x80abc00 (LWP 100120)] > [New Thread 0x8078000 (LWP 100180)] > (gdb) where > #0 0x28bbcccb in pthread_testcancel () from /usr/lib/libpthread.so.2 > #1 0x28bab5eb in sigaction () from /usr/lib/libpthread.so.2 > #2 0x28ba4c05 in pthread_kill () from /usr/lib/libpthread.so.2 > #3 0x28ba4512 in raise () from /usr/lib/libpthread.so.2 > #4 0x08068961 in nsProfileLock::FatalSignalHandler (signo=11) at > nsProfileLock.cpp:206 > #5 0x28ba946b in sigaction () from /usr/lib/libpthread.so.2 > #6 0x28bab091 in sigaction () from /usr/lib/libpthread.so.2 > #7 0x28bb3efb in pthread_mutexattr_init () from /usr/lib/libpthread.so.2 > #8 0x28bb3f64 in pthread_mutexattr_init () from /usr/lib/libpthread.so.2 > #9 0x28c8b5bf in _ctx_start () from /lib/libc.so.6 > #10 0x00000000 in ?? () > #11 0xbfbfd230 in ?? () > #12 0xbfbfcf70 in ?? () > #13 0x00000000 in ?? () > #14 0x28bb3f22 in pthread_mutexattr_init () from /usr/lib/libpthread.so.2 > #15 0x281bac53 in nsGenericFactory::GetInterfaces (this=0x1, > countp=0x8078000, array=0x8078000) at nsGenericFactory.cpp:99 > #16 0x28dde135 in XPCNativeSet::GetNewOrUsed (ccx=@0xbfbfd5d8, > classInfo=0x8818ba4) at xpcwrappednativeinfo.cpp:604 > #17 0x28de5225 in XPCWrappedNativeProto::GetNewOrUsed > (ccx=@0xbfbfd5d8, Scope=0x84bfb40, ClassInfo=0x8818ba4, > ScriptableCreateInfo=0xbfbfd4e8, > ForceNoSharing=0) at xpcprivate.h:3363 > #18 0x28dd46c1 in XPCWrappedNative::GetNewOrUsed (ccx=@0xbfbfd5d8, > Object=0x8818be0, Scope=0x84bfb40, Interface=0x81425e0, > resultWrapper=0xbfbfd574) at xpcprivate.h:3366 > #19 0x28db6bea in XPCConvert::NativeInterface2JSObject > (ccx=@0xbfbfd5d8, dest=0xbfbfd6f8, src=0x8818be0, iid=0xbfbfd788, > scope=0x84bfb40, > allowNativeWrapper=0, pErr=0xbfbfd5d4) at xpcprivate.h:3362 > #20 0x28d9bc8a in nsXPConnect::WrapNative (this=0x8136380, > aJSContext=0x84ae800, aScope=0xbfbfd5d8, aCOMObj=0x8818be0, > aIID=@0xbfbfd788, > _retval=0xbfbfd6f8) at nsXPConnect.cpp:586 > #21 0x28dbfa89 in nsJSCID::CreateInstance (this=0x87793c0, > _retval=0xbfbfd9f0) at nsCOMPtr.h:1149 > #22 0x2824f158 in XPTC_InvokeByIndex (that=0x87793c0, methodIndex=10, > paramCount=134709248, params=0xbfbfd9f0) at xptcinvoke_unixish_x86.cpp:179 > #23 0x28dd9521 in XPCWrappedNative::CallMethod (ccx=@0xbfbfdad0, > mode=XPCWrappedNative::CALL_METHOD) at xpcwrappednative.cpp:2151 > #24 0x28de3941 in XPC_WN_CallMethod (cx=0x84ae800, obj=0x877e450, > argc=0, argv=0xbfbfdad0, vp=0xbfbfdc10) at xpcwrappednativejsops.cpp:1445 > #25 0x280e54d1 in js_Invoke (cx=0x84ae800, argc=0, flags=0) at > jsinterp.c:1188 > #26 0x280f20de in js_Interpret (cx=0x84ae800, pc=0x8782a0f ":", > result=0xbfbfdecc) at jsinterp.c:3583 > #27 0x280e5543 in js_Invoke (cx=0x84ae800, argc=1, flags=1) at > jsinterp.c:1208 > #28 0x280edd9e in js_Interpret (cx=0x84ae800, pc=0x876f93a "#", > result=0xbfbfe1a0) at jsinterp.c:3128 > #29 0x280e5d5f in js_Execute (cx=0x84ae800, chain=0x83d1f80, > script=0x881f400, down=0x0, flags=382, result=0x17e) at jsinterp.c:1434 > #30 0x280bb7b3 in JS_ExecuteScript (cx=0x84ae800, obj=0x83d1f80, > script=0x881f400, rval=0xbfbfe254) at jsapi.c:4012 > #31 0x2a2263d1 in nsJSContext::ExecuteScript (this=0x84bfb00, > aScriptObject=0x870c230, aScopeObject=0x83d1f80, aRetValue=0x0, > aIsUndefined=0x0) > at nsJSEnvironment.cpp:1216 > #32 0x2a1fdc78 in nsXULDocument::ExecuteScript (this=0x8450948, > aScriptObject=0x870c230) at nsXULDocument.cpp:3558 > ---Type <return> to continue, or q <return> to quit--- > #33 0x2a1fd8fa in nsXULDocument::OnStreamComplete (this=0x8450800, > aLoader=0x8800400, context=0x0, aStatus=0, stringLen=39007, > string=0x87c9008 "//", '*' <repeats 73 times>, "\r\n// HTML > Validator\r\n//\r\n// File: tidyBrowser.js\r\n// Description: > javascript to validate the HTML in the browser window\r\n//"...) at > nsXULDocument.cpp:3452 > #34 0x28ef015f in nsStreamLoader::OnStopRequest (this=0x8800400, > request=0x87eaf00, ctxt=0x0, aStatus=0) at nsCOMPtr.h:1149 > #35 0x2912b92c in nsJARChannel::OnStopRequest (this=0x87eaf00, > req=0x87f1e80, ctx=0x0, status=0) at nsCOMPtr.h:1149 > #36 0x28ec4a47 in nsInputStreamPump::OnStateStop (this=0x87f1e80) at > nsCOMPtr.h:1149 > #37 0x28ec44a1 in nsInputStreamPump::OnInputStreamReady > (this=0x87f1e80, stream=0x87ead0c) at nsInputStreamPump.cpp:343 > #38 0x28201ef5 in nsInputStreamReadyEvent::EventHandler > (plevent=0x17e) at nsStreamUtils.cpp:119 > #39 0x282258ed in PL_HandleEvent (self=0x88005c4) at plevent.c:688 > #40 0x282257b9 in PL_ProcessPendingEvents (self=0x8136740) at > plevent.c:623 > #41 0x2822880b in nsEventQueueImpl::ProcessPendingEvents > (this=0x8136700) at nsEventQueue.cpp:417 > #42 0x291645f6 in event_processor_callback (source=0x84f1440, > condition=G_IO_IN, data=0x1) at nsAppShell.cpp:67 > #43 0x2898bfdf in g_vasprintf () from /usr/local/lib/libglib-2.0.so.0 > #44 0x289648a8 in g_main_depth () from /usr/local/lib/libglib-2.0.so.0 > #45 0x289656fc in g_main_context_dispatch () from > /usr/local/lib/libglib-2.0.so.0 > #46 0x28965ac1 in g_main_context_dispatch () from > /usr/local/lib/libglib-2.0.so.0 > #47 0x289660e6 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0 > #48 0x28428534 in gtk_main () from /usr/X11R6/lib/libgtk-x11-2.0.so.0 > #49 0x29164b9d in nsAppShell::Run (this=0x81df370) at nsAppShell.cpp:139 > #50 0x29269ad6 in nsAppStartup::Run (this=0x81de3c0) at > nsAppStartup.cpp:150 > #51 0x0805718f in XRE_main (argc=1, argv=0x8286f00, > aAppData=0xbfbfe9f0) at nsAppRunner.cpp:2374 > #52 0x0804e977 in main (argc=1, argv=0xbfbfead8) at nsBrowserApp.cpp:61 > (gdb) quit > > > ------------------------------------------------------------------------ > > _______________________________________________ > Htmlvalidator-help mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlvalidator-help |