Closed Bug 44774 Opened 24 years ago Closed 24 years ago

When CurrentPage/selectAll() is invoked and no URL is loaded, then JVM crashes

Categories

(Core Graveyard :: Java APIs to WebShell, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: ovk, Assigned: ashuk)

Details

(Keywords: crash)

Attachments

(1 file)

When selectAll() is invoked and no URL is loaded, then JVM crashes:

###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->        
().: 'mRawPtr != 0', file ..\..\..\dist\include\nsCOMPtr.h, line 625

#
# HotSpot Virtual Machine Error, EXCEPTION_ACCESS_VIOLATION
#
# Error ID: 4F533F57494E13120E43505002B7
#

abnormal program termination


Build Date & Platform:
Mozilla M16, Webclient source from July,7; WinNT 4.0 with SP4
Adding crash keyword.
Keywords: crash
selectAll is Ashu's.
Assignee: edburns → ashuk
Status: UNCONFIRMED → NEW
Ever confirmed: true
Status: NEW → ASSIGNED
Checked in fix. Pls see attachment for patch
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
JVM still crashes.

Possible solution:

in string "rv = initContext->docShell->GetContentViewer(&contentViewer);" method 
GetContentViewer(&contentViewer) always returns NS_OK and rv is always 0.
So we need to check contentViewer value not rv.
We need to change string  "if (NS_FAILED(rv)) {" with string "if 
(contentViewer==nsnull) {".

I tested it and it works. Thanks.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → ASSIGNED
Checked in fix suggested by Oleg. Tested it and confirmed that it works fine.
thanks Oleg.

cvs diff CurrentPageImpl.cpp (in directory D:\M16
\mozilla\java\webclient\src_moz)
Index: CurrentPageImpl.cpp
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/src_moz/CurrentPageImpl.cpp,v
retrieving revision 1.9
diff -r1.9 CurrentPageImpl.cpp
74c74
<     if (NS_FAILED(rv))  {
---
>     if (NS_FAILED(rv) || contentViewer==nsnull )  {
339c339
<         if (NS_FAILED(rv))  {
---
>         if (NS_FAILED(rv) || contentViewer==nsnull)  {

*****CVS exited normally with code 1*****

_Ashu
Status: ASSIGNED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
I mark it as verified.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: