[futurebasic] Re: [FB] How to debug a subtle bug....

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : March 2004 : Group Archive : Group : All Groups

From: michael evans <michael.evans@...>
Date: Thu, 11 Mar 2004 18:57:18 -0500
robert:

Thanks for your prompt and useful reply. I have the full crash reports
exerpted below....

> Er, DIMming with @ can have no beneficial effect either on a leak or on
> your ability to detect it.  Unless you know more than you are letting
> on...
> 
Hell no, I know far, far less than I'm letting on...

Step #1 CrashReporter(imageWizard206j)

This the first part of the crash report for imageWizard206j, one of my
fb3carbon image utilities. I interpret the following to mean that the crash
occurred while trying to load a jpeg file into a gWorld.... So if i'm
crashing every 1000 to 5000 images, is this useful information? Does this
imply there is a deeply hidden bug in QT?

**********

Host Name:      iwizard.local
Date/Time:      2004-02-25 19:40:26 -0500
OS Version:     10.3.2 (Build 7D24)
Report Version: 2

Command: imageWizard206j
Path:    /***imageWizard206/imageWizard206j
Version: ??? (???)
PID:     2823
Thread:  0

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_INVALID_ADDRESS (0x0001) at 0x017ad000

Thread 0 Crashed:
0   ...ickTimeComponents.component     0x8b174560 DecodeBlocks + 0x3bc
1   ...ickTimeComponents.component     0x8b179bac jpegdecompress + 0x700
2   ...ickTimeComponents.component     0x8b166728 JPEG_DDrawBand + 0x47c
3   ...ple.CoreServices.CarbonCore     0x90282784
CallComponentFunctionCommon + 0x414
4   ...ickTimeComponents.component     0x8b167084 JPEG_DComponentDispatch +
0x58
5   ...ple.CoreServices.CarbonCore     0x902814f0 CallComponent + 0x10c
6   ...ickTimeComponents.component     0x8b5d121c ImageCodecDrawBand + 0x28
7   ...ickTimeComponents.component     0x8b164004
BaseCodec_DecompressWorkFunction + 0xe4
8   ...ple.CoreServices.CarbonCore     0x902a4cac
InvokeComponentMPWorkFunctionUPP + 0x18
9   ...ickTimeComponents.component     0x8b163144
BaseCodec_DecompressCallBack + 0x364
10  ...ickTimeComponents.component     0x8b163750 Base_CDBandDecompress +
0x5f0
11  ...ple.CoreServices.CarbonCore     0x90282784
CallComponentFunctionCommon + 0x414
12  ...ickTimeComponents.component     0x8b163d64 Base_CDComponentDispatch +
0x58
13  ...ple.CoreServices.CarbonCore     0x902814f0 CallComponent + 0x10c
14  ...ickTimeComponents.component     0x8b1670a4 JPEG_DComponentDispatch +
0x78
15  ...ple.CoreServices.CarbonCore     0x902814f0 CallComponent + 0x10c
16  com.apple.QuickTime                0x91bc67f0 ImageCodecBandDecompress +
0x28
17  com.apple.QuickTime                0x91bb63e4 DoBandedDecompress +
0x26e0
18  com.apple.QuickTime                0x91bc52c0 ICMAction_aligned + 0x438
19  com.apple.QuickTime                0x91bb9064 ICMDeviceLoop + 0xc08
20  com.apple.QuickTime                0x91cb45ac PrivateDecompressImage +
0x420
21  com.apple.QuickTime                0x91bfc9d4 PrivateStdPix + 0x5e0
22  com.apple.QuickTime                0x91bfc3d4 StdPix + 0x98
23  com.apple.QuickTime                0x91c6abfc DoDecompressImage + 0xec
24  com.apple.QuickTime                0x91cc032c CompressedOpcode + 0x450
25  com.apple.QD                       0x9158c434 StdOpcode + 0xd4
26  com.apple.QD                       0x91575d04 DrawPicture + 0x43c
27                                     0x0044f328 0x405040 + 0x4a2e8
28                                     0x00458fe8 0x405040 + 0x53fa8

**********


Step #1 CrashReporter(concentrator)

This the first part of the crash report for concentrator, one of my
fb3carbon image utilities. I interpret the following to mean that the crash
had something to do with FB^3.Carbon.Runtime....

**********

Host Name:      iwizard.local
Date/Time:      2004-02-25 23:54:13 -0500
OS Version:     10.3.2 (Build 7D24)
Report Version: 2

Command: concentrator006g
Path:    /***concentrator_006Ÿ/concentrator006g
Version: ??? (???)
PID:     2921
Thread:  0

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000000

Thread 0 Crashed:
0                           0x0042e108 0x405040 + 0x290c8
1                           0x0042ec3c 0x405040 + 0x29bfc
2                           0x004609c4 0x405040 + 0x5b984
3   FB^3.Carbon.Runtime     0x000ad458 main + 0x1f8


**********



<snip>
> 
> General clues about crash cause:
> 1 CrashReporter   (read the crash report after your app crashes)
> 2 Console.app     (read the console.log after your app crashes)
> 
> Leak detection:
> 3 top              (while your app runs, watch VSIZE to see if keeps
> increasing)
> 4 Activity Monitor (use the Activity Monitor window; Inspect; watch
> app's Virtual Memory Size)
> 5 MallocDebug      (launch your app with it, then select Leaks)
> 6 Run your app in Classic and print out mem( _maxAvail ) at regular
> intervals.
> 
> Items 4 and 5 require Panther.
> 
> Here's a little demo that will run out of virtual memory in OS X in a
> few minutes, during which time you can practice items 3-5 above.
> '-----------
> local fn Leak
> dim as Handle  h
> h = fn NewHandle( 10*1024*1024 ) // 10 MB/s = 600MB/min
> end fn
> 
> on timer( 1 ) fn Leak
> do
> HandleEvents
> until 0
> '-----------
> 
> Robert P.
> 
> --
> 
> 

Cheers,

----------------------------------------------------------------------------
Michael Evans
----------------------------------------------------------------------------