Closed
Bug 222237
Opened 22 years ago
Closed 22 years ago
Browser Crashes if reloading the Window twice [@ JavaObject_getPropertyById ]
Categories
(Core Graveyard :: Java: OJI, defect)
Core Graveyard
Java: OJI
Tracking
(Not tracked)
People
(Reporter: mganter, Assigned: joshua.xia)
References
()
Details
(Keywords: crash)
Crash Data
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Build Identifier: All
If i start the above sayed URL, the page will load an applet that pushes new
quotes to the table by using the LiveConnect-Classes from Netscape JSObject,
aso.
The first Reload will sometimes start the page without crashing down, but
always the 2nd reload causes a complete browser-crash.
All Versions of Mozilla are showing this Problem.
The Versions of IE are running very well and do not show this Appearance.
Reproducible: Always
Steps to Reproduce:
1. Load the URL
2. Reload once (sometimes Crashing)
3. Reload again (always Crashing)
Actual Results:
Browser crashes down.
Comment 1•22 years ago
|
||
crashing 20031012 on Win2k + Sun's JRE 1.4.2_01.
related: bug 200016 ? Although I didn't find JS code that called Java, may have
overlooked.
Comment 2•22 years ago
|
||
crash on the website using
Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.6a) Gecko/20031022
Java Plug-in 1.4.2_01 for Netscape Navigator (DLL Helper)
Win98 + SP1
Talkback ID: got Talkback, can´t send, will retry later.
Comment 3•22 years ago
|
||
uninstalled JRE 1.4.2_01, rebooted, installed 1.4.2_02
Also crashing, with DocWatson & Talkback, but Talkback still can´t connect.
Comment 4•22 years ago
|
||
DrWatson mentions the following (20031022 + Sun's JRE 1.4.2_02 on Win2k):
[...]
GetSecurityContext
JavaObject_getPropertyById
Java_netscape_javascript_JSObject_equals
[...]
and
[...]
JVM_RegisterPerfMethods
JVM_MonitorWait
[...]
Assignee: joshua.xia → live-connect
Status: UNCONFIRMED → NEW
Component: Java: OJI → Java: Live Connect
Ever confirmed: true
QA Contact: avm → PhilSchwartau
Summary: Browser Crashes if reloading the Window twice. The problem exists with all Browser-Versions and all java-VMs. → Browser Crashes if reloading the Window twice [@ JavaObject_getPropertyById ]
It does not seem to be effected on calling JSObject.
Running in testcase, without serverconnection, the Browser keeps working.
Therefore the serverconnect seems to be responsible for this problem.
Comment 6•22 years ago
|
||
This looks like OJI, here is the call stack:
(custom MozillaFirebird build from 20031125 sources):
05ef7c46()
oji.dll!map_jsj_thread_to_js_context_impl(JSJavaThreadState *
jsj_env=0x00000000, void * java_applet_obj=0x05ef4870, JNIEnv_ * env=0x02a670e0,
char * * errp=0x0012fa40) Line 156 + 0xe C++
oji.dll!enter_js_from_java_impl(JNIEnv_ * jEnv=0x02a670e0, char * *
errp=0x0012fa40, void * * pNSIPrincipaArray=0x00000000, int numPrincipals=0,
void * pNSISecurityContext=0x05f9bbe0, void * java_applet_obj=0x05ef4870) Line
420 + 0x24 C++
jsj3250.dll!jsj_enter_js(const JNINativeInterface_ * * jEnv=0x00000000, void *
applet_obj=0x05ef4870, _jobject * java_wrapper_obj=0x05ef4870, JSContext * *
cxp=0x0012fa70, JSObject * * js_objp=0x00000000, void (JSContext *, const char
*, JSErrorReport *)* * old_error_reporterp=0x0012fa88, void * *
pNSIPrincipaArray=0x00000000, int numPrincipals=0, void *
pNSISecurityContext=0x05f9bbe0) Line 712 + 0x14 C++
jsj3250.dll!nsCLiveconnect::Call(JNIEnv_ * jEnv=0x00000000, long obj=0, const
unsigned short * name=0x00000000, long length=262148, _jobjectArray *
java_args=0x020801df, void * * principalsArray=0x00000000, int numPrincipals=-1,
nsISupports * securitySupports=0x05ef489c, _jobject * * pjobj=0x00000000) Line
560 + 0x40 C++
jpins7.dll!6d35253f()
jpinsp.dll!6d36743a()
msvcr71.dll!free(void * pBlock=0x77f5febb) Line 103 + 0x5 C
ntdll.dll!_RtlUnlockHeap@4() + 0x1a
jpinsp.dll!6d367cfb()
jpins7.dll!6d352054()
oji.dll!handleRunnableEvent(JVMRunnableEvent * aEvent=0x01c06918) Line 289 C++
xpcom.dll!PL_HandleEvent(PLEvent * self=0x01c06918) Line 671 + 0x4 C++
xpcom.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x009982e8) Line 606
+ 0x6 C++
xpcom.dll!_md_EventReceiverProc(HWND__ * hwnd=0x0002015c, unsigned int
uMsg=49399, unsigned int wParam=0, long lParam=10060520) Line 1413 C++
user32.dll!77d0612f()
user32.dll!77d069a5()
user32.dll!77d0695b()
user32.dll!77d351fe()
user32.dll!77d06689()
user32.dll!77d07438()
user32.dll!77d351fe()
user32.dll!77d06704()
gkwidget.dll!nsAppShell::Run() Line 159 C++
MozillaFirebird.exe!main1(int argc=1, char * * argv=0x00294620, nsISupports *
nativeApp=0x05ef4870, const nsXREAppData & aAppData={...}) Line 1282 + 0xa C++
MozillaFirebird.exe!xre_main(int argc=1, char * * argv=0x00294620, const
nsXREAppData & aAppData={...}) Line 1716 + 0x1a C++
MozillaFirebird.exe!main(int argc=1, char * * argv=0x00294620) Line 51 + 0x18 C++
MozillaFirebird.exe!WinMain(HINSTANCE__ * __formal=0x00400000, HINSTANCE__ *
__formal=0x00400000, char * args=0x00152350, HINSTANCE__ * __formal=0x00400000)
Line 64 + 0x19 C++
MozillaFirebird.exe!WinMainCRTStartup() Line 390 + 0x1b C
kernel32.dll!_BaseProcessStart@4() + 0x23
Keywords: stackwanted
Comment 7•22 years ago
|
||
Message:
Unhandled exception at 0x05ef7c46 in MozillaFirebird.exe: 0xC0000096: Privileged
instruction.
Registers:
EAX = 0BDE9D10 EBX = 00000000 ECX = 05EF4870 EDX = 0012F5C4
ESI = 02A670E1 EDI = 00000000 EIP = 05EF7C46 ESP = 0012F5B8
EBP = 05EF4870 EFL = 00010282
Code around the crash:
JS_STATIC_DLL_CALLBACK(JSContext*)
map_jsj_thread_to_js_context_impl(JSJavaThreadState *jsj_env, void*
java_applet_obj, JNIEnv *env, char **errp)
{
607A6AC0 sub esp,8
#if 0
JVMContext* context = GetJVMContext();
JSContext *cx = context->js_context;
/*
** This callback is called for spontaneous calls only. Either create a new
JSContext
** or return the crippled context.
** TODO: Get to some kind of script manager via service manager and then get
to script context
** and then to get to the native context.
*/
//JSContext *cx = LM_GetCrippledContext();
//JSContext *cx = NULL;
*errp = NULL;
return cx;
#else
// Guess what? This design is totally invalid under Gecko, because there isn't
a 1 to 1 mapping
// between NSPR threads and JSContexts. We have to ask the plugin instance peer
what JSContext
// it lives in to make any sense of all this.
JSContext* context = NULL;
if (java_applet_obj != NULL) {
607A6AC3 mov ecx,dword ptr [esp+10h]
607A6AC7 xor eax,eax
607A6AC9 test ecx,ecx
607A6ACB mov dword ptr [esp+4],eax
607A6ACF je map_jsj_thread_to_js_context_impl+6Ch (607A6B2Ch)
nsIPluginInstance* pluginInstance = NS_REINTERPRET_CAST(nsIPluginInstance*,
java_applet_obj);
nsIPluginInstancePeer* pluginPeer = NULL;
if (pluginInstance->GetPeer(&pluginPeer) == NS_OK) {
607A6AD1 lea edx,[esp]
607A6AD4 push edx
607A6AD5 mov dword ptr [esp+4],eax
607A6AD9 mov eax,dword ptr [ecx]
607A6ADB push ecx
607A6ADC call dword ptr [eax+10h] <=================== CRASH HERE
607A6ADF test eax,eax
607A6AE1 jne map_jsj_thread_to_js_context_impl+68h (607A6B28h)
nsIPluginInstancePeer2* pluginPeer2 = NULL;
if (pluginPeer->QueryInterface(NS_GET_IID(nsIPluginInstancePeer2), (void**)
&pluginPeer2) == NS_OK) {
607A6AE3 lea edx,[esp+10h]
607A6AE7 push edx
607A6AE8 mov dword ptr [esp+14h],eax
607A6AEC mov eax,dword ptr [esp+4]
607A6AF0 mov ecx,dword ptr [eax]
607A6AF2 push offset `nsIPluginInstancePeer2::GetIID'::`2'::iid (607A8AC4h)
607A6AF7 push eax
607A6AF8 call dword ptr [ecx]
607A6AFA test eax,eax
607A6AFC jne map_jsj_thread_to_js_context_impl+5Fh (607A6B1Fh)
Comment 8•22 years ago
|
||
Bernard: thank you for these traces!!!
Based on these, reassigning to Java: OJI
Assignee: live-connect → joshua.xia
Component: Java: Live Connect → Java: OJI
QA Contact: PhilSchwartau → general
dup of 64319. Please reopen it if I was wrong.
*** This bug has been marked as a duplicate of 64319 ***
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
Updated•14 years ago
|
Crash Signature: [@ JavaObject_getPropertyById ]
You need to log in
before you can comment on or make changes to this bug.
Description
•