Closed Bug 159220 Opened 23 years ago Closed 23 years ago

Clicking on "Window" menu makes mozilla crash on a 64 bit OS

Categories

(SeaMonkey :: UI Design, defect, P1)

DEC
OSF/1
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla1.1beta

People

(Reporter: shanmu, Assigned: alecf)

References

Details

(Whiteboard: fix in hand)

Attachments

(1 file)

Mozilla crashed when I hit the Window menu in the browser. This happes with the trunk build as well as Mozilla 1.1 beta release. The checkin through revision 1.7 to "nsWindowDataSource.cpp" treats pointers to be 32 bits, which causes trouble on a 64 bit OS. One such example is nsISupportsKey key(window); has been changed to nsPRUint32Key key(NS_PTR_TO_INT32(window)); I hit the bug when closure->resultWindow is stuffed with 32 bits closure->resultWindow = NS_STATIC_CAST(nsIXULWindow*, NS_INT32_TO_PTR(thisKey->GetValue())); This blocks the release of Mozilla 1.1 beta on Tru64 UNIX. I suggest this to be changed to work on 64 bit OS.
Why was that change made? If the desire was to avoid a strong ref, why not use nsVoidKey instead of nsISupportsKey? /be
Status: UNCONFIRMED → NEW
Ever confirmed: true
I think this should be fixed for 1.1. /be
Keywords: mozilla1.1
I have no way of debugging this. Please attach a stack trace so we can determine whats to blame heere.
I have no way of debugging this. Please attach a stack trace so we can determine whats to blame here.
It's easy to fix if you acknowledge the bug: 64-bit pointers will be chopped to 32 bits and potentially alias one another. I don't know that that is what is happening, but it's a hazard that can be fixed easily, by using nsVoidKey (void*) (which seems better than casting to an int type, anyway). /be
Cc'ing alecf, he checked in rev 1.7. Alec, why not use nsVoidKey? /be
I wish I knew why I decided on that, but surely nsVoidKey makes more sense :) I'll switch it over. (I actually thought this would be assigned to me, so I'll just take it)
Assignee: adamlock → alecf
Priority: -- → P1
Target Milestone: --- → mozilla1.1beta
Attached patch use nsVoidKeySplinter Review
oops, here's the fix.
I'd really like a review here - the patch is incredibly straight forward..jag? timeless? brendan?
Status: NEW → ASSIGNED
Component: Embedding: APIs → XP Apps: GUI Features
Whiteboard: fix in hand
Attachment #92631 - Flags: review+
Comment on attachment 92631 [details] [diff] [review] use nsVoidKey r/sr=brendan@mozilla.org -- I'm assuming nothing dangled when you changed from strong to weak (int32-weak!) refs back in 1.7. r/sr=brendan@mozilla.org /be
Attachment #92631 - Flags: review+ → superreview+
no it's still all weak - no ownership has changed (this isn't nsISupportsKey) thanks for the review.
*** Bug 159245 has been marked as a duplicate of this bug. ***
Comment on attachment 92631 [details] [diff] [review] use nsVoidKey brendan and i collided. r=timeless
Attachment #92631 - Flags: review+
Comment on attachment 92631 [details] [diff] [review] use nsVoidKey a=asa (on behalf of drivers) for checkin to 1.1
Attachment #92631 - Flags: approval+
thanks everyone, fix is in.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Over to depstein for verification
QA Contact: mdunn → depstein
verified patch against Mozilla 1.2b Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.2b) Gecko/20021026. shanmu says the crash isn't happening anymore
Status: RESOLVED → VERIFIED
Product: Core → Mozilla Application Suite
Component: XP Apps: GUI Features → UI Design
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: