Crash when pressing <Shift><F10> in Mail/News

RESOLVED FIXED

Status

Core Graveyard
Widget: OS/2
RESOLVED FIXED
13 years ago
3 years ago

People

(Reporter: transwarp, Assigned: mkaply)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

13 years ago
User-Agent:       Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.7.10) Gecko/20050720 Firefox/1.0.6
Build Identifier: Thunderbird version 1.0.6 (20050720)

Whenever pressing <Shift><F10> to bring up the contextmenu

Reproducible: Always

Steps to Reproduce:
1. Start Thunderbird
2. Press <Shift>+<F10>
3.

Actual Results:  
Crash -> SYS3175


Expected Results:  
Pop up the context menu

It crashes in nearly every TB Window.
I found few exceptions, so far.
The composer window is not affected on
a) writing a new message
b) forward a message

This crash also happen within mail/news on Mozilla.
Tested on:

1.7.10
1.8b (20050301)
1.4.3 (20040911) VACPP


- POPUPLOG.OS2 ----------------------------------------------

07-29-2005  14:06:23  SYS3175  PID 0052  TID 0001  Slot 009c
D:\THUNDERBIRD\THUNDERBIRD.EXE
c0000005
1d13ba62
P1=00000001  P2=00000000  P3=XXXXXXXX  P4=XXXXXXXX
EAX=00000000  EBX=00e14d00  ECX=000001f5  EDX=00000001
ESI=16796760  EDI=00e14d00
DS=0053  DSACC=f0f3  DSLIM=ffffffff
ES=0053  ESACC=f0f3  ESLIM=ffffffff
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1d13ba62  CSACC=f0df  CSLIM=ffffffff
SS:ESP=0053:0011f394  SSACC=f0f3  SSLIM=ffffffff
EBP=0011f438  FLG=00012246

WDGTOS2.DLL 0001:0000ba62

Comment 1

13 years ago
do you have any extensions installed? Perhaps this is an OS/2-specific problem.
(Reporter)

Comment 2

13 years ago
(In reply to comment #1)
> do you have any extensions installed? Perhaps this is an OS/2-specific problem.
No Extensions. It crashes only on OS/2.
Tested on Warp 4.5 FP 4&5 and Warp Connect FP40.
Linux and win32 versions are not affected.
(Assignee)

Comment 3

13 years ago
Weird. I'll debug tonight.
Assignee: mscott → mozilla
Status: UNCONFIRMED → NEW
Ever confirmed: true

Comment 4

13 years ago
I see it crashing in
nsWindow::DispatchMouseEvent(unsigned, void*, void*)
(crash address in current trunk builds is WDGTOS2.DLL 0001:0000bd82).

[icsdebug for some reason puts me at the line
http://lxr.mozilla.org/seamonkey/source/widget/src/os2/nsWindow.cpp#3519
and insists that mMouseListener is NULL despite the test against that. ]

But a few printfs in DispatchMouseEvent tell me that an aEventType of
501==NS_CONTEXTMENU_KEY is that cause (which I would not have expected to end up
in a method called DispatchMouseEvent). In line 3416 
   result = DispatchWindowEvent(&event);
fails and despite this event.widget is NS_RELEASEd in line 3493. A patch like

 #endif //OS2TODO
-    NS_RELEASE(event.widget);
+    if (event.widget)
+       NS_RELEASE(event.widget);
     return result;
   }

or a test of result gets rid of the crash.

Comment 5

13 years ago
heh, fwiw NS_IF_RELEASE(event.widget); would be the style to use
(Assignee)

Comment 6

13 years ago
Very funny

http://lxr.mozilla.org/seamonkey/source/widget/src/windows/nsWindow.cpp#5997

Comment 7

13 years ago
Created attachment 191177 [details] [diff] [review]
Use NS_IF_RELEASE

OK, this then gets rid of the immediate crash.

But, 1) I see several other instances in nsWindow.cpp where neither return nor
event.widget get checked before releasing event.widget -- most or all of them
in common with the windows version, like the one at the very end of
nsWindow::DispatchMouseEvent. And 2) this does not make the popup very useful
because triggered by Shift-F10 it gets placed somewhere near the border of the
screen and not over the window.

Updated

13 years ago
Component: Mail Window Front End → Widget: OS/2
Product: Thunderbird → Core
Version: unspecified → Trunk
(Assignee)

Comment 8

13 years ago
Windows fix checked in.
Status: NEW → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.