Re: Strange crash
Re: Strange crash
- Subject: Re: Strange crash
- From: Vincent Le Normand <email@hidden>
- Date: Tue, 16 Jan 2007 12:48:22 +0100
Hi,
Thank you for this quick reply.
In theory, all drawing code is called from
"performSelectorInMainThread" calls. Furthermore, this problem only
occurs on a very restricted number of computers, and seems always
reproductiple on these computers.
However, who knows, i may have forgotten a very rare case. I'll check
this.
Thanks,
Vincent
Le 16 janv. 07 à 12:39, apparao a écrit :
Hi Vincent,
Firstly Cocoa drawing code is not thread - safe. If possible
better to remove it run from the different thread. If you
requires, have a look at NSApplication's + (void)
detachDrawingThread:(SEL)selector toTarget:(id)target withObject:
(id)argument class method.
- Apparao.
On 16-Jan-07, at 4:37 PM, Vincent Le Normand wrote:
Hello,
A customer have a strange crash when using my application. In
fact, this is not always the same crash, but it's always a crash
on some locking function, in cocoa drawing code.
His problem is not reproducible on the mac i could access.
There is no input managers, or similar add ons installed.
Does anybody have an idea of the cause of the problem?
Here is some samples of crash:
OS Version: 10.4.8 (Build 8L2127)
Report Version: 4
Parent: WindowServer [59]
Version: 10.4.6.1 (10.4.6.1 )
Exception: EXC_BAD_INSTRUCTION (0x0002)
Code[0]: 0x0000000d
Code[1]: 0x0000398c
Thread 0 Crashed:
0 libSystem.B.dylib 0x9000101f pthread_mutex_lock +
168
1 com.apple.CoreGraphics 0x90336278 img_data_lock + 295
2 com.apple.CoreGraphics 0x903351f1
CGSImageDataLockWithReference + 94
3 libRIP.A.dylib 0x942c3318 ripc_AcquireImage + 662
4 libRIP.A.dylib 0x942c107a ripc_DrawImage + 1833
5 com.apple.CoreGraphics 0x903338a5 CGContextDrawImage +
403
6 com.apple.AppKit 0x932d3f14 -[NSBitmapImageRep
_drawFromRect:toRect:operation:alpha:compositing:flipped:ignoreContex
t:] + 1298
7 com.apple.AppKit 0x932d2a2e -[NSImage
drawInRect:fromRect:operation:fraction:] + 1551
8 com.apple.AppKit 0x932d239d -[NSImage
_compositeFlipped:inRect:fromRect:operation:fraction:] + 263
9 com.apple.AppKit 0x932d228b -[NSImage
_compositeFlipped:atPoint:fromRect:operation:fraction:] + 227
10 com.apple.AppKit 0x932d4632
_NSTileImageWithOperation + 1704
11 com.apple.AppKit 0x932d2176 Draw3PartImage + 6625
12 com.apple.AppKit 0x933e6e3c -
[NSProgressIndicator _drawThemeBackground] + 692
13 com.apple.AppKit 0x93370701 -
[NSProgressIndicator drawRect:] + 878
14 com.apple.AppKit 0x932ce3b1 -[NSView
_drawRect:clip:] + 3228
15 com.apple.AppKit 0x932cd40b -[NSView
_recursiveDisplayAllDirtyWithLockFocus:visRect:] + 614
16 com.apple.AppKit 0x932cc473 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 217
17 com.apple.AppKit 0x932cd041 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 3239
18 com.apple.AppKit 0x932cd041 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 3239
19 com.apple.AppKit 0x932cd041 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 3239
20 com.apple.AppKit 0x932cd041 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 3239
21 com.apple.AppKit 0x932cd041 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 3239
22 com.apple.AppKit 0x932cbb78 -[NSThemeFrame
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 290
23 com.apple.AppKit 0x932cb362 -[NSView
_displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
+ 523
24 com.apple.AppKit 0x932cac8e -[NSView
displayIfNeeded] + 439
25 com.apple.AppKit 0x932caa32 -[NSWindow
displayIfNeeded] + 168
26 com.apple.AppKit 0x9331ad6c
_handleWindowNeedsDisplay + 206
27 com.apple.CoreFoundation 0x9082a155
__CFRunLoopDoObservers + 342
28 com.apple.CoreFoundation 0x908291f7 CFRunLoopRunSpecific
+ 827
29 com.apple.CoreFoundation 0x90828eb5 CFRunLoopRunInMode + 61
30 com.apple.HIToolbox 0x92dcdb90
RunCurrentEventLoopInMode + 285
31 com.apple.HIToolbox 0x92dcd297
ReceiveNextEventCommon + 385
32 com.apple.HIToolbox 0x92dcd0ee
BlockUntilNextEventMatchingListInMode + 81
33 com.apple.AppKit 0x9324f465 _DPSNextEvent + 572
34 com.apple.AppKit 0x9324f056 -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 137
35 com.apple.AppKit 0x93248ddb -[NSApplication run]
+ 512
36 com.apple.AppKit 0x9323cd2f NSApplicationMain + 573
37 com.pbx.PBX 0x00002d0e _start + 216
38 com.pbx.PBX 0x00002c35 start + 41
Thread 1:
0 libSystem.B.dylib 0x90009857 mach_msg_trap + 7
1 com.apple.CoreFoundation 0x9082969a CFRunLoopRunSpecific
+ 2014
2 com.apple.CoreFoundation 0x9083a577 CFRunLoopRun + 60
3 com.apple.DiscRecordingEngine 0x94a1c090
DRCDTextBlockGetTypeID + 3696
4 com.apple.DiscRecordingEngine 0x94a1bf6d
DRCDTextBlockGetTypeID + 3405
5 com.apple.DiscRecordingEngine 0x94a1ba4a
DRCDTextBlockGetTypeID + 2090
6 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 2:
0 libSystem.B.dylib 0x90024427
semaphore_wait_signal_trap + 7
1 com.apple.Foundation 0x9264b2f8 -[NSConditionLock
lockWhenCondition:] + 39
2 com.apple.AppKit 0x93326270 -[NSUIHeartBeat
_heartBeatThread:] + 377
3 com.apple.Foundation 0x925f536c
forkThreadForFunction + 123
4 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 3:
0 libSystem.B.dylib 0x9003f23f
syscall_thread_switch + 7
1 com.pbx.PBX 0x0002a5b6 -[PBGraphicalSpeedView
getValuesFromDatasource:] + 1148
2 com.apple.Foundation 0x925f536c
forkThreadForFunction + 123
3 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 4:
0 libSystem.B.dylib 0x90024427
semaphore_wait_signal_trap + 7
1 com.apple.Foundation 0x926048b6 -[NSConditionLock
lock] + 39
2 com.apple.Foundation 0x9260e2a6 -[NSObject
(NSMainThreadPerformAdditions)
performSelectorOnMainThread:withObject:waitUntilDone:modes:] + 828
3 com.apple.Foundation 0x9260df4f -[NSObject
(NSMainThreadPerformAdditions)
performSelectorOnMainThread:withObject:waitUntilDone:] + 149
4 com.pbx.PBXEngineSupport 0x1001b1f7 -[PBXEngineUIController
_messagePortThread] + 330
5 com.apple.Foundation 0x925f536c
forkThreadForFunction + 123
6 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 0 crashed with X86 Thread State (32-bit):
eax: 0x003a1e50 ebx: 0x9033f162 ecx: 0x003a1e50 edx: 0x00000000
edi: 0x003a1e64 esi: 0x003a1e50 ebp: 0xbfffbb38 esp: 0xbfffbb1c
ss: 0x0000001f efl: 0x00010282 eip: 0x9000101f cs: 0x00000017
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
------------------
Exception: EXC_BAD_INSTRUCTION (0x0002)
Code[0]: 0x0000000d
Code[1]: 0x0000cb88
Thread 0 Crashed:
0 libSystem.B.dylib 0x9000101f pthread_mutex_lock +
168
1 com.apple.CoreGraphics 0x9032ca0f create + 133
2 com.apple.CoreGraphics 0x903d37f1
CGColorTransformCreate + 39
3 com.apple.AppKit 0x932bc341
convertColorToColorSpaceNamed + 104
4 com.apple.AppKit 0x932bec7a -
[NSCalibratedRGBColor colorUsingColorSpaceName:device:] + 242
5 com.apple.AppKit 0x932b9cc3 -[NSColor
colorUsingColorSpaceName:] + 48
6 com.pbx.PBX 0x00036db0 -[NSBezierPath(pbxExtensions)
drawRect:withGradientFrom:to:] + 132
7 com.pbx.PBX 0x0002e122 -[IAWindowBackgroundView drawRect:]
+ 357
8 com.apple.AppKit 0x932ce3b1 -[NSView
_drawRect:clip:] + 3228
9 com.apple.AppKit 0x932cc893 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 1273
10 com.apple.AppKit 0x932cd041 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 3239
11 com.apple.AppKit 0x932cbb78 -[NSThemeFrame
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisi
bleRectForView:topView:] + 290
12 com.apple.AppKit 0x932cb362 -[NSView
_displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
+ 523
13 com.apple.AppKit 0x932cac8e -[NSView
displayIfNeeded] + 439
14 com.apple.AppKit 0x932caa32 -[NSWindow
displayIfNeeded] + 168
15 com.apple.AppKit 0x9331ad6c
_handleWindowNeedsDisplay + 206
16 com.apple.CoreFoundation 0x9082a155
__CFRunLoopDoObservers + 342
17 com.apple.CoreFoundation 0x908291f7 CFRunLoopRunSpecific
+ 827
18 com.apple.CoreFoundation 0x90828eb5 CFRunLoopRunInMode + 61
19 com.apple.HIToolbox 0x92dcdb90
RunCurrentEventLoopInMode + 285
20 com.apple.HIToolbox 0x92dcd297
ReceiveNextEventCommon + 385
21 com.apple.HIToolbox 0x92dcd0ee
BlockUntilNextEventMatchingListInMode + 81
22 com.apple.AppKit 0x9324f465 _DPSNextEvent + 572
23 com.apple.AppKit 0x9324f056 -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 137
24 com.apple.AppKit 0x93248ddb -[NSApplication run]
+ 512
25 com.apple.AppKit 0x9323cd2f NSApplicationMain + 573
26 com.pbx.PBX 0x00002d0e _start + 216
27 com.pbx.PBX 0x00002c35 start + 41
Thread 1:
0 libSystem.B.dylib 0x90009857 mach_msg_trap + 7
1 com.apple.CoreFoundation 0x9082969a CFRunLoopRunSpecific
+ 2014
2 com.apple.CoreFoundation 0x9083a577 CFRunLoopRun + 60
3 com.apple.DiscRecordingEngine 0x94a1c090
DRCDTextBlockGetTypeID + 3696
4 com.apple.DiscRecordingEngine 0x94a1bf6d
DRCDTextBlockGetTypeID + 3405
5 com.apple.DiscRecordingEngine 0x94a1ba4a
DRCDTextBlockGetTypeID + 2090
6 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 2:
0 libSystem.B.dylib 0x9003f23f
syscall_thread_switch + 7
1 com.pbx.PBX 0x0002a588 -[PBGraphicalSpeedView
getValuesFromDatasource:] + 1102
2 com.apple.Foundation 0x925f536c
forkThreadForFunction + 123
3 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 3:
0 libSystem.B.dylib 0x90024427
semaphore_wait_signal_trap + 7
1 com.apple.Foundation 0x926048b6 -[NSConditionLock
lock] + 39
2 com.apple.Foundation 0x9260e2a6 -[NSObject
(NSMainThreadPerformAdditions)
performSelectorOnMainThread:withObject:waitUntilDone:modes:] + 828
3 com.apple.Foundation 0x9260df4f -[NSObject
(NSMainThreadPerformAdditions)
performSelectorOnMainThread:withObject:waitUntilDone:] + 149
4 com.pbx.PBXEngineSupport 0x1001b1f7 -[PBXEngineUIController
_messagePortThread] + 330
5 com.apple.Foundation 0x925f536c
forkThreadForFunction + 123
6 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 4:
0 libSystem.B.dylib 0x90024427
semaphore_wait_signal_trap + 7
1 com.apple.AppKit 0x93269a46 -
[NSViewHierarchyLock lockForReadingWithExceptionHandler:] + 247
2 com.apple.AppKit 0x93267be4 -[NSWindow
_lockViewHierarchyForDrawing] + 50
3 com.apple.AppKit 0x9332649d -[NSUIHeartBeat
_heartBeatThread:] + 934
4 com.apple.Foundation 0x925f536c
forkThreadForFunction + 123
5 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 0 crashed with X86 Thread State (32-bit):
eax: 0x0db09e80 ebx: 0x90324b6a ecx: 0x00000000 edx: 0x0034c470
edi: 0x0db09e74 esi: 0x0034c470 ebp: 0xbfffe428 esp: 0xbfffe35c
ss: 0x0000001f efl: 0x00010a07 eip: 0x9000101f cs: 0x00000017
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
Thanks a lot,
Vincent
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
40effigent.net
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden