Closed Bug 57166 Opened 25 years ago Closed 25 years ago

Pluglet coredumps with An unexpected exception has been detected in native code outside the VM.

Categories

(Core Graveyard :: Java-Implemented Plugins, defect, P3)

Sun
Solaris
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: geetha.vaidyanaathan, Assigned: blackconnect)

Details

(Whiteboard: suntrak-n6-highp)

Pluglet testing on Solaris Sparc 2.8 and Intel Sparc 2.8 using Mozilla form Tip of PR3 RTM branch and Blackwood Pluglets coredump with an unexpected exception Here is the message output... ---------------------------- moz_debug=0 moz_debugger= Setting content window *** Pulling out the charset in SetSecurityButton --bcJavaGlobal::StartJVM jvm started res 0 -- PlugletLoader.getMIMEDescription(/export/pr3/mozilla/dist/javadev/example/test.jar) -- PlugletLoader.getMIMEDescription desc application/x-simple-pluglet::Pluglet Test -- PlugletLoader.getMIMEDescription(/export/pr3/mozilla/dist/javadev/example/ZipView.jar) -- PlugletLoader.getMIMEDescription desc application/x-zip-compressed:zip:Pluglet ZipView -- PlugletLoader.getMIMEDescription(/export/pr3/mozilla/dist/javadev/example/JView.jar) -- PlugletLoader.getMIMEDescription desc application/rtf:rtf:Pluglet JView -- PlugletLoader.getMIMEDescription(/export/pr3/mozilla/dist/javadev/example/DOMViewer.jar) -- PlugletLoader.getMIMEDescription desc application/dom-viewer::Pluglet DOM Viewer -- PlugletLoader.getPluglet(/export/pr3/mozilla/dist/javadev/example/test.jar) -- PlugletLoader.getPluglet class name test -- PL url[0] file:/export/pr3/mozilla/dist/javadev/example/test.jar -- ok we have a PlugletFactory --test.test() --test.initialize --test.createPlugletInstance --TestInstance.TestInstance() --TestInstance.initialize --TestInstance.initialize application/x-simple-pluglet--TestInstance.start # # An unexpected exception has been detected in native code outside the VM.# Program counter=0xde43d9c5 # # Problematic Thread: prio=5 tid=0x85a26e0 nid=0x1 runnable # Abort - core dumped ---------------------------------
Added suntrak-n6-highp Status Whiteboard keyword
Whiteboard: suntrak-n6-highp
This bug reproduced on Intel Solaris 2.7 also.
Also reproduced on Sparc Solaris 2.7 Looks that problem occurs in PlugletViewMotif::SetWindow method GDB backtrace : #0 0xfbebada0 in PlugletViewMotif::SetWindow () #1 0xfbeb8288 in Pluglet::SetWindow () #2 0xfd18d634 in nsPluginHostImpl::InstantiateEmbededPlugin () #3 0xfc7c55ac in nsObjectFrame::InstantiatePlugin () #4 0xfc7c4c54 in nsObjectFrame::Reflow () #5 0xfc7c0160 in nsLineLayout::ReflowFrame ()
Status: UNCONFIRMED → NEW
Ever confirmed: true
The reason for this bug is the same as for 57046 Here is a fix: -- Index: PlugletViewMotif.cpp =================================================================== RCS file: /cvsroot/mozilla/java/plugins/src/PlugletViewMotif.cpp,v retrieving revision 1.5 diff -u -r1.5 PlugletViewMotif.cpp --- PlugletViewMotif.cpp 2000/09/26 06:53:53 1.5 +++ PlugletViewMotif.cpp 2000/11/01 02:43:09 @@ -28,12 +28,6 @@ #include <Xm/PushB.h> -#include <gdk/gdkx.h> -#include <gtk/gtk.h> - -#include <gdksuperwin.h> -#include <gtkmozbox.h> - #include "PlugletViewMotif.h" #include "PlugletEngine.h" @@ -67,6 +61,10 @@ static Visual * awt_visual; static int awt_num_colors; +static void (*AwtLock)(JNIEnv *); +static void (*AwtUnLock)(JNIEnv *); +static void (*AwtNoFlushUnLock)(JNIEnv *); + void PlugletViewMotif::Initialize() { PR_LOG(PlugletLog::log, PR_LOG_DEBUG, ("PlugletViewMotif.Initialize\n")); @@ -83,6 +81,7 @@ return; } getAwtData(&awt_depth, &awt_cmap, &awt_visual, &awt_num_colors, NULL); + getAwtLockFunctions(&AwtLock, &AwtUnLock, &AwtNoFlushUnLock,NULL); } PRBool PlugletViewMotif::SetWindow(nsPluginWindow* win) { @@ -100,7 +99,7 @@ || !win->window) { if (win && !win->window) { PR_LOG(PlugletLog::log, PR_LOG_DEBUG, - ("PlugletViewMotif.SetWindow win->window = NULL. We have a bug in plugin module. this=%p\n",this)); + ("PlugletViewMotif.SetWindow win->window = NULL. We have a bug in plugin module. this=%p\n",this)); } if (frame) { env->DeleteGlobalRef(frame); @@ -111,31 +110,17 @@ return PR_TRUE; } return PR_FALSE; - } - GdkSuperWin * superWin = (GdkSuperWin *) win->window; - Window parentWindowID; - Window rootWindowID; - Window * childrenWindowIDs; - unsigned int numberOfChildren; - int containerWindowID = GDK_WINDOW_XWINDOW(superWin->shell_window); - - Status status = XQueryTree(GDK_DISPLAY(), containerWindowID, - &rootWindowID, &parentWindowID, - &childrenWindowIDs, & numberOfChildren); - if (numberOfChildren >= 1) { - containerWindowID = childrenWindowIDs[0]; } + AwtLock(env); + int containerWindowID = win->window; + printf("containerWindowID=%d WindowID=%d\n",containerWindowID, WindowID); +#if 0 if (WindowID == containerWindowID) { - return PR_FALSE; + printf("about to return false\n"); + return PR_FALSE; } - - +#endif WindowID = containerWindowID; - void (*AwtLock)(JNIEnv *); - void (*AwtUnLock)(JNIEnv *); - void (*AwtNoFlushUnLock)(JNIEnv *); - getAwtLockFunctions(&AwtLock, &AwtUnLock, &AwtNoFlushUnLock,NULL); - AwtLock(env); Display *awt_display = getAwtDisplay(); XSync(awt_display, FALSE); Arg args[40]; --------------- the fix integrated into JAVADEV_PR3_20001002 closing as fixed
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Verified with: mozilla branch Netscape61_RELEASE and blackwood branch JAVADEV_6_1_20010831 under Sparc Solaris 2.8 (Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:0.9.2) Gecko/20011011). Pluglets works correctly.
VERIFIED
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.