hust-marx / firebreath

Automatically exported from code.google.com/p/firebreath
0 stars 0 forks source link

OS X Crash with timer events #99

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Compile FBTestPlugin with the latest from the stable repo
2. Open test.html 
3. Change windows to something other than the web browser.
4. Click back on the web browser's window.  (you might have to go back and 
forth a few times to see the seg fault)

I've only verified that the above produces a crash on 10.5.8.

What is the expected output? What do you see instead?
The browser should successfully regain focus but instead segfaults.  The stack 
trace is:

Thread 0 Crashed:
0   com.apple.WebCore               0x952ff399 void 
std::__push_heap<WebCore::TimerHeapIterator, int, 
WebCore::TimerHeapElement>(WebCore::TimerHeapIterator, int, int, 
WebCore::TimerHeapElement) + 233
1   com.apple.WebCore               0x95332257 void 
std::__adjust_heap<WebCore::TimerHeapIterator, int, 
WebCore::TimerHeapElement>(WebCore::TimerHeapIterator, int, int, 
WebCore::TimerHeapElement) + 263
2   com.apple.WebCore               0x9533213c WebCore::TimerBase::heapPopMin() 
+ 108
3   com.apple.WebCore               0x95271a1e 
WebCore::TimerBase::setNextFireTime(double) + 462
4   com.apple.WebCore               0x9527183b WebCore::TimerBase::stop() + 27
5   com.apple.WebKit                0x96856305 -[WebNetscapePluginDocumentView 
stopTimers] + 149
6   com.apple.WebKit                0x967ea1d7 -[WebBaseNetscapePluginView 
restartTimers] + 39
7   com.apple.Foundation            0x9206542a _nsnote_callback + 106
8   com.apple.CoreFoundation        0x947ea47a __CFXNotificationPost + 362
9   com.apple.CoreFoundation        0x947ea753 _CFXNotificationPostNotification 
+ 179
10  com.apple.Foundation            0x92062680 -[NSNotificationCenter 
postNotificationName:object:userInfo:] + 128
11  com.apple.Foundation            0x9206bed8 -[NSNotificationCenter 
postNotificationName:object:] + 56
12  com.apple.AppKit                0x928421e8 -[NSWindow resignKeyWindow] + 355
13  com.apple.AppKit                0x92844297 endKeyAndMain + 81
14  com.apple.AppKit                0x9280a4f7 -[NSApplication sendEvent:] + 2509
15  com.apple.Safari                0x00037078 0x1000 + 221304
16  com.apple.AppKit                0x92767fe7 -[NSApplication run] + 867
17  com.apple.AppKit                0x927351d8 NSApplicationMain + 574
18  com.apple.Safari                0x0000a3c6 0x1000 + 37830

Original issue reported on code.google.com by physics...@gmail.com on 6 Nov 2010 at 8:31

GoogleCodeExporter commented 9 years ago
Just re-read my description, by "click back on the web browser's window" I 
meant click on the window, not click the back button.  Just in case someone 
misreads that.

Original comment by physics...@gmail.com on 6 Nov 2010 at 9:12

GoogleCodeExporter commented 9 years ago
Can't reproduce on 10.6.4 with Safari & FireFox (don't have a 10.5 installed 
here).
With what browser(s) does that happen?

Original comment by georg.fritzsche on 6 Nov 2010 at 2:04

GoogleCodeExporter commented 9 years ago
So far it only appears to be Safari on 10.5.

Original comment by physics...@gmail.com on 6 Nov 2010 at 5:28

GoogleCodeExporter commented 9 years ago
hmm.  we're going to have to find a 10.5 machine do to testing on :-/

Original comment by taxilian on 6 Nov 2010 at 5:30

GoogleCodeExporter commented 9 years ago
Rob, any progress on this?  Sounded like you had a fix when we talked on IRC; 
how did the testing go?

Original comment by taxilian on 8 Nov 2010 at 4:51

GoogleCodeExporter commented 9 years ago
Unfortunately the testing didn't go so well.  The fix gets FBTestPlugin running 
properly but is introducing some other instability.  Basically in my plugin I 
get some other timer related crash if the onload callback is non-trivial.  I'll 
report more details soon.

Original comment by tina.f.p...@gmail.com on 8 Nov 2010 at 7:41

GoogleCodeExporter commented 9 years ago
I pushed the rough scetch of the async alternative i did. I didn't do any 
testing with it, but maybe it helps:
http://code.google.com/r/georgfritzsche-async-cocoa-test/

Original comment by georg.fritzsche on 8 Nov 2010 at 8:02

GoogleCodeExporter commented 9 years ago

Original comment by taxilian on 9 Nov 2010 at 11:42

GoogleCodeExporter commented 9 years ago
I think we have fixed this in dev by pulling in Georg's PerformSelector fix.

It seems to work fine with Carbon events as well.

Original comment by taxilian on 19 Nov 2010 at 8:28

GoogleCodeExporter commented 9 years ago
I haven't heard any complaints about this for awhile; I think this is fixed by 
Georg's PerformSelector fix.  if this is not the case, please reopen the issue.

Original comment by taxilian on 29 Nov 2010 at 8:22