Closed
Bug 180741
Opened 22 years ago
Closed 17 years ago
nsNativeThemeGTK::nsNativeThemeGTK crashes if it can't get a display
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: timeless, Assigned: timeless)
References
Details
(Keywords: crash)
Attachments
(1 obsolete file)
Gtk-WARNING **: gtk_type_create(): unknown parent type `21'. Gtk-CRITICAL **: file gtkwidget.c: line 1641 (gtk_widget_realize): assertion `GTK_IS_WIDGET (widget)' failed. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1024 (LWP 26366)] 0x41b3d896 in nsNativeThemeGTK::nsNativeThemeGTK (this=0x850c760) at nsNativeThemeGTK.cpp:104 104 GtkThemeEngine* gtkThemeEng = gButtonWidget->style->engine; (gdb) where #0 0x41b3d896 in nsNativeThemeGTK::nsNativeThemeGTK (this=0x850c760) at nsNativeThemeGTK.cpp:104 #1 0x41b1795b in nsNativeThemeGTKConstructor (aOuter=0x0, aIID=@0xbfffd7f8, aResult=0xbfffd7e8) at nsGfxFactoryGTK.cpp:89 #2 0x4020dc9a in nsGenericFactory::CreateInstance (this=0x850c740, aOuter=0x0, aIID=@0xbfffd7f8, aResult=0xbfffd7e8) at nsGenericFactory.cpp:84 #3 0x401bb709 in nsComponentManagerImpl::CreateInstance (this=0x8058158, aClass=@0x850e89c, aDelegate=0x0, aIID=@0xbfffd7f8, aResult=0xbfffd7e8) at nsComponentManager.cpp:1817 #4 0x401c06d6 in nsComponentManager::CreateInstance (aClass=@0x850e89c, aDelegate=0x0, aIID=@0xbfffd7f8, aResult=0xbfffd7e8) at nsComponentManagerObsolete.cpp:102 #5 0x4050e062 in nsJSCID::CreateInstance (this=0x850e880, _retval=0xbfffda58) at xpcjsid.cpp:793 #6 0x401f1ca8 in XPTC_InvokeByIndex () at xptcinvoke_gcc_x86_unix.cpp:86 #7 0x40524c39 in XPCWrappedNative::CallMethod (ccx=@0xbfffdb10, mode=CALL_METHOD) at xpcwrappednative.cpp:2016 #8 0x4052dc2e in XPC_WN_CallMethod (cx=0x80b80b0, obj=0x867d9d8, argc=0, argv=0x80d47e8, vp=0xbfffdc50) at xpcwrappednativejsops.cpp:1283 #9 0x4006291b in js_Invoke (cx=0x80b80b0, argc=0, flags=0) at jsinterp.c:839 #10 0x40071a62 in js_Interpret (cx=0x80b80b0, result=0xbffff6dc) at jsinterp.c:2803 #11 0x4006306a in js_Execute (cx=0x80b80b0, chain=0x808dcc0, script=0x80d4640, down=0x0, special=0, result=0xbffff6dc) at jsinterp.c:1020 #12 0x40030677 in JS_ExecuteScript (cx=0x80b80b0, obj=0x808dcc0, script=0x80d4640, rval=0xbffff6dc) at jsapi.c:3277 #13 0x804badb in Process (cx=0x80b80b0, obj=0x808dcc0, filename=0xbffff9d5 "driver.js", filehandle=0x0) at xpcshell.cpp:479 #14 0x804c1d5 in ProcessArgs (cx=0x80b80b0, obj=0x808dcc0, argv=0xbffff878, argc=1) at xpcshell.cpp:655 #15 0x804cd8e in main (argc=1, argv=0xbffff878) at xpcshell.cpp:912 #16 0x403852eb in __libc_start_main (main=0x804c544 <main>, argc=2, ubp_av=0xbffff874, init=0x804a7a4 <_init>, fini=0x804f030 <_fini>, rtld_fini=0x4000c130 <_dl_fini>, stack_end=0xbffff86c) at ../sysdeps/generic/libc-start.c:129 (gdb) p gButtonWidget->style $2 = (GtkStyle *) 0x0 Testcase: Components.classes["@mozilla.org/chrome/chrome-native-theme;1"].createInstance() There are lots and lots of asserts that you get from this single line, i don't know how to get GLib/Gtk to break/crash so that i can get an earlier stack. I can attach a fix which will make the testcase not crash. The constructor shouldn't crash, and any initialization that can fail should be attached to an Init method.
someone will at somepoint want to refactor this code to use an Init() function.
Comment 2•20 years ago
|
||
Comment on attachment 106691 [details] [diff] [review] patch This patch was made against r1.32; r1.50 is current, and this patch seems to have fully bit-rotted now...
Attachment #106691 -
Attachment is obsolete: true
Comment 3•17 years ago
|
||
timeless, is this still a problem after all these years?
Component: XP Toolkit/Widgets → Widget: Gtk
QA Contact: jrgmorrison → gtk
seems to work w/ ff2? timeless@swift:/usr/lib/firefox% ./run-mozilla.sh ./xpcshell js> build() built on Nov 13 2006 at 15:50:51 js> Components.classes["@mozilla.org/chrome/chrome-native-theme;1"]. createInstance() [xpconnect wrapped nsISupports] CATEGORY: FIREFOX,application,JDS4 VERSION: 2.0,REV=110.0.4.2006.11.13.15.42
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•