Closed Bug 377473 Opened 17 years ago Closed 17 years ago

One Tooltip Listener II: And in the darkness crash them [@nsXULTooltipListener::LaunchTooltip]

Categories

(Core :: XUL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: philor, Assigned: neil)

References

Details

(Keywords: regression)

Attachments

(1 file)

My Mac trunk Thunderbird build (from a checkout around 20070413 19:00) and at least one person's Linux trunk Thunderbird (from TB31169777, TB31164461, and TB31163857) are crashing showing tooltips. I haven't seen it crash from chrome tooltips from toolbar items, but pretty much any tooltip from the folder pane or the thread pane crashes with

Thread 0 Crashed:
0   org.mozilla.thunderbird  	0x00689a1d nsXULTooltipListener::LaunchTooltip(nsIContent*, int, int) + 229
1   org.mozilla.thunderbird  	0x00689da2 nsXULTooltipListener::ShowTooltip() + 266
2   org.mozilla.thunderbird  	0x0068a0c9 nsXULTooltipListener::sTooltipCallback(nsITimer*, void*) + 23
3   libxpcom_core.dylib      	0x00f48bf2 nsTimerImpl::Fire() + 128
4   libxpcom_core.dylib      	0x00f48de2 nsTimerImpl::InitCommon(unsigned, unsigned) + 296
5   libxpcom_core.dylib      	0x00f46898 nsThread::nsChainedEventQueue::PutEvent(nsIRunnable*) + 1062
6   libxpcom_core.dylib      	0x00f11b39 NS_ProcessNextEvent_P(nsIThread*, int) + 53
7   org.mozilla.thunderbird  	0x007004a5 nsBaseAppShell::DoProcessNextNativeEvent(int) + 103
8   org.mozilla.thunderbird  	0x0038dd4b nsAppShell::ProcessNextNativeEvent(int) + 525
9   org.mozilla.thunderbird  	0x0038df15 nsAppShell::ProcessNextNativeEvent(int) + 983
10  com.apple.Foundation     	0x9280603b __NSFireDelayedPerform + 403
11  com.apple.CoreFoundation 	0x9082e7e2 CFRunLoopRunSpecific + 3341
12  com.apple.CoreFoundation 	0x9082dace CFRunLoopRunInMode + 61
13  com.apple.HIToolbox      	0x92dde8d8 RunCurrentEventLoopInMode + 285
14  com.apple.HIToolbox      	0x92dddfe2 ReceiveNextEventCommon + 385
15  com.apple.HIToolbox      	0x92ddde39 BlockUntilNextEventMatchingListInMode + 81
16  com.apple.AppKit         	0x93284465 _DPSNextEvent + 572
17  com.apple.AppKit         	0x93284056 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 137
18  org.mozilla.thunderbird  	0x0038dbd9 nsAppShell::ProcessNextNativeEvent(int) + 155
19  org.mozilla.thunderbird  	0x00700460 nsBaseAppShell::DoProcessNextNativeEvent(int) + 34
20  org.mozilla.thunderbird  	0x0070067a nsBaseAppShell::Init() + 232
21  org.mozilla.thunderbird  	0x0038ddb0 nsAppShell::ProcessNextNativeEvent(int) + 626
22  libxpcom_core.dylib      	0x00f46837 nsThread::nsChainedEventQueue::PutEvent(nsIRunnable*) + 965
23  libxpcom_core.dylib      	0x00f11bde NS_ProcessPendingEvents_P(nsIThread*, unsigned) + 70
24  org.mozilla.thunderbird  	0x0070041b nsBaseAppShell::NativeEventCallback() + 71
25  org.mozilla.thunderbird  	0x0038e016 nsAppShell::ProcessGeckoEvents() + 186
26  org.mozilla.thunderbird  	0x0038e107 nsAppShell::ProcessGeckoEvents() + 427
27  com.apple.Foundation     	0x928419c0 __NSFireMachPort + 307
28  com.apple.CoreFoundation 	0x9083e385 __CFMachPortPerform + 136
29  com.apple.CoreFoundation 	0x9082e62d CFRunLoopRunSpecific + 2904
30  com.apple.CoreFoundation 	0x9082dace CFRunLoopRunInMode + 61
31  com.apple.HIToolbox      	0x92dde8d8 RunCurrentEventLoopInMode + 285
32  com.apple.HIToolbox      	0x92dddf19 ReceiveNextEventCommon + 184
33  com.apple.HIToolbox      	0x92ddde39 BlockUntilNextEventMatchingListInMode + 81
34  com.apple.AppKit         	0x93284465 _DPSNextEvent + 572
35  com.apple.AppKit         	0x93284056 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 137
36  com.apple.AppKit         	0x9327dddb -[NSApplication run] + 512
37  org.mozilla.thunderbird  	0x0038dd2d nsAppShell::ProcessNextNativeEvent(int) + 495
38  org.mozilla.thunderbird  	0x003ff0ed nsAppStartup::AttemptingQuit(int) + 245
39  org.mozilla.thunderbird  	0x00007693 XRE_main + 10637
40  org.mozilla.thunderbird  	0x00002fa0 main + 32
41  org.mozilla.thunderbird  	0x00002f26 start + 270
42  org.mozilla.thunderbird  	0x00002e41 start + 41

Given the timing, bug 376802 seems awfully likely, but I'm not going to have a chance to back it out until Saturday night (Mozilla Standard Time).
Blocks: 376802
No longer blocks: 367802
Keywords: regression
The old tooltip code had a sneaky way of working out which attribute would win.

On an ordinary XUL element, tooltiptext takes precedence over tooltip.

However, on a tree element, titletips (for cropped text) take precedence over tooltiptext, but not over tooltip. Thus:
<foo tooltiptext="foo" tooltip="foo"> - always tooltiptext
<treechildren tooltip="foo"> - always tooltip
<treechildren tooltiptext="foo" tooltip="foo"> - titletips or foo by default
Attached patch Proposed patchSplinter Review
This seemed the simplest way to fix the bug without affecting the funky prioritisation code as mentioned in comment #2.
Assignee: nobody → neil
Status: NEW → ASSIGNED
Attachment #261569 - Flags: superreview?(jst)
Attachment #261569 - Flags: review?(jst)
With that patch, I hover a cropped subject in Tbird's thread pane, get a tooltip (titletip? Is that documented anywhere other than comment 2?) with the full subject, move the mouse off the subject, and that tooltip goes away and I get a "Click to display message threads" tooltip as though I was hovering the thread column header.

OTOH, I don't crash :)
Comment on attachment 261569 [details] [diff] [review]
Proposed patch

r+sr=jst

Neil, for future reference, your patches would be easier to review if you'd add -p to your default cvs diff arguments (you can do that in ~/.cvsrc).
Attachment #261569 - Flags: superreview?(jst)
Attachment #261569 - Flags: superreview+
Attachment #261569 - Flags: review?(jst)
Attachment #261569 - Flags: review+
(In reply to comment #4)
>With that patch, I hover a cropped subject in Tbird's thread pane, get a
>tooltip (titletip? Is that documented anywhere other than comment 2?) with the
>full subject, move the mouse off the subject, and that tooltip goes away and I
>get a "Click to display message threads" tooltip as though I was hovering the
>thread column header.
Strange, I can't reproduce that. P.S. Are you the One Ringnalda?

(In reply to comment #5)
>(From update of attachment 261569 [details] [diff] [review])
>r+sr=jst
>
>Neil, for future reference, your patches would be easier to review if you'd
>add -p to your default cvs diff arguments (you can do that in ~/.cvsrc).
My obsolete linux box did but I don't know where my .cvsrc lives in Windows.
Blocks: 377550
Winxp sp2 TB31208767z in yesterdays nightly.
After last checkin, Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a4pre) Gecko/20070415 Thunderbird/3.0a1 ID:2007041503 [cairo]
No crash.
Because I cannot see if this is fixed, bacause the status is till assigned, I have some trackback id's from version 3.0a1 (20070413)

TB31403203Y
TB31403218W
TB31403571Y
TB31403582Q

I havent seen this error in the latest build version 3.0a1 (20070421), so I guess this can be set to resolved :).
Marking fixed, as comment 4 might be a platform widget bug instead.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Filed bug 378316 for comment 4, which was not just Cocoa, but already four days old and from bug 355102 instead; sorry for the misdirected aspersions.
Flags: in-testsuite?
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: xptoolkit.xul → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: