OS X & crash logs

Message boards : BOINC client : OS X & crash logs
Message board moderation

To post messages, you must log in.

AuthorMessage
Nathan Herring

Send message
Joined: 7 Sep 05
Posts: 13
United States
Message 164 - Posted: 7 Sep 2005, 8:29:00 UTC

This is a feature request, from one developer to another.

Add code for the apple-darwin version of boinc to look in ~/Library/Logs/CrashReporter for boinc.crash.log and crash logs for the various projects' client applications it runs.

These logs, along with .xMAP files (from CodeWarrior) or some kind of STABs info (from GCC) can be used to generate a "real" backtrace, from which it might be possible to isolate crashes happening "in the wild."

Here is a sample crash log for boinc, which has happened twice so far on my laptop:

**********

Host Name:      nathanhtitanium.technosloth.com
Date/Time:      2005-08-27 09:20:24 -0700
OS Version:     10.3.9 (Build 7W98)
Report Version: 2

Command: boinc
Path:    /Applications/BOINCManager.app/Contents/Resources/boinc
Version: ??? (???)
PID:     5341
Thread:  0

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

Thread 0 Crashed:
0   boinc 	0x00022be0 0x1000 + 0x21be0
1   boinc 	0x00022ff8 0x1000 + 0x21ff8
2   boinc 	0x0000f36c 0x1000 + 0xe36c
3   boinc 	0x00021af8 0x1000 + 0x20af8
4   boinc 	0x00006b6c 0x1000 + 0x5b6c
5   boinc 	0x00006a0c 0x1000 + 0x5a0c

PPC Thread State:
  srr0: 0x00022be0 srr1: 0x0200f030                vrsave: 0x00000000
    cr: 0x44000222  xer: 0x00000004   lr: 0x00022b0c  ctr: 0x00000000
    r0: 0x00000001   r1: 0xbffff9d0   r2: 0x0000001f   r3: 0x00000000
    r4: 0x00000001   r5: 0xbffff9a8   r6: 0x0002f8c4   r7: 0x431092c8
    r8: 0x00000003   r9: 0x00071008  r10: 0x00000000  r11: 0xdffffa04
   r12: 0x9011bd60  r13: 0x00000000  r14: 0x00000000  r15: 0x00000000
   r16: 0x00000000  r17: 0x00000000  r18: 0x00000000  r19: 0x00000000
   r20: 0x00000000  r21: 0x00000000  r22: 0x00000000  r23: 0x00000000
   r24: 0x00000000  r25: 0xbffffc58  r26: 0xbffffe08  r27: 0x00300f60
   r28: 0x00000000  r29: 0x00000001  r30: 0x00000001  r31: 0x00071008

Binary Images Description:
    0x1000 -    0x5ffff boinc 	/Applications/BOINCManager.app/Contents/Resources/boinc
0x73230000 - 0x73233fff libmx.A.dylib 	/usr/lib/libmx.A.dylib
0x80a50000 - 0x80ad4fff libstdc++.6.dylib 	/usr/lib/libstdc++.6.dylib
0x80c80000 - 0x80c88fff libgcc_s.1.dylib 	/usr/lib/libgcc_s.1.dylib
0x8fe00000 - 0x8fe4ffff dyld 	/usr/lib/dyld
0x90000000 - 0x9014ffff libSystem.B.dylib 	/usr/lib/libSystem.B.dylib
0x901c0000 - 0x9026dfff com.apple.CoreFoundation 6.3.8 (299.36)	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x902b0000 - 0x90529fff com.apple.CoreServices.CarbonCore 10.3.7	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x90584000 - 0x905f3fff com.apple.framework.IOKit 1.3.6 (???)	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x90610000 - 0x9069afff com.apple.CoreServices.OSServices 3.0.1	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x90700000 - 0x90700fff com.apple.CoreServices 10.3 (???)	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x90702000 - 0x90769fff com.apple.audio.CoreAudio 2.1.3	/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x907cc000 - 0x907d4fff libbsm.dylib 	/usr/lib/libbsm.dylib
0x907f0000 - 0x907f9fff com.apple.DiskArbitration 2.0.5	/System/Library/PrivateFrameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x90810000 - 0x90810fff com.apple.ApplicationServices 1.0 (???)	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x908c5000 - 0x90915fff com.apple.HIServices 1.4.1 (0.0.1d1)	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x90940000 - 0x909b3fff com.apple.DesktopServices 1.2.5	/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x90c32000 - 0x90c46fff libCGATS.A.dylib 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGATS.A.dylib
0x90d00000 - 0x90d1bfff com.apple.SystemConfiguration 1.7.1 (???)	/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x90d40000 - 0x90d40fff com.apple.Carbon 10.3 (???)	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x910b0000 - 0x91101fff com.apple.bom 1.2.5 (63.2)	/System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
0x912e0000 - 0x912f7fff com.apple.LangAnalysis 1.5.4	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x91303000 - 0x9136cfff com.apple.htmlrendering 1.1.2	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering
0x913a0000 - 0x9145ffff ColorSync 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x915e0000 - 0x91699fff com.apple.QD 3.4.67 (???)	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x916e0000 - 0x91773fff com.apple.print.framework.PrintCore 3.3	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x917e0000 - 0x917f0fff com.apple.speech.recognition.framework 3.3	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x91810000 - 0x9182afff com.apple.openscripting 1.2.1 (???)	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x91850000 - 0x91860fff com.apple.ImageCapture 2.1.5	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x91890000 - 0x9189cfff com.apple.help 1.0.1	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x918c0000 - 0x918cdfff com.apple.CommonPanels 1.2.1 (1.0)	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x918f0000 - 0x9193efff com.apple.print.framework.Print 3.3	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x91967000 - 0x91972fff libCSync.A.dylib 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
0x91990000 - 0x9199bfff com.apple.securityhi 1.2 (90)	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x91a40000 - 0x91ab3fff com.apple.NavigationServices 3.3.3	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
0x91b10000 - 0x91b2afff libPDFRIP.A.dylib 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libPDFRIP.A.dylib
0x91b50000 - 0x91b5ffff libPSRIP.A.dylib 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libPSRIP.A.dylib
0x91b80000 - 0x91b93fff libRIP.A.dylib 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
0x92070000 - 0x92096fff com.apple.FindByContent 1.4 (1.2)	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/FindByContent.framework/Versions/A/FindByContent
0x920c0000 - 0x922a7fff com.apple.security 2.3 (176)	/System/Library/Frameworks/Security.framework/Versions/A/Security
0x923c4000 - 0x923fcfff com.apple.AE 1.4	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x92430000 - 0x92468fff com.apple.LaunchServices 10.3.5 (98.4)	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x927f0000 - 0x92827fff com.apple.CFNetwork 1.2.1 (7)	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x92880000 - 0x92c05fff com.apple.HIToolbox 1.3.7 (???)	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x939a0000 - 0x939b4fff libcups.2.dylib 	/usr/lib/libcups.2.dylib
0x939d0000 - 0x939d4fff libmathCommon.A.dylib 	/usr/lib/system/libmathCommon.A.dylib
0x945b0000 - 0x945b9fff libz.1.dylib 	/usr/lib/libz.1.dylib
0x94610000 - 0x9462afff libresolv.9.dylib 	/usr/lib/libresolv.9.dylib
0x94650000 - 0x946affff com.apple.SearchKit 1.0.2	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x946ed000 - 0x94705fff com.apple.WebServices 1.1.1 (1.1.0)	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/WebServicesCore.framework/Versions/A/WebServicesCore
0x950d9000 - 0x9519ffff libcrypto.0.9.7.dylib 	/usr/lib/libcrypto.0.9.7.dylib
0x95e0a000 - 0x95e27fff com.apple.audio.SoundManager 3.9	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
0x962e6000 - 0x965befff com.apple.CoreGraphics 1.203.30 (???)	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x968d0000 - 0x969b2fff libicucore.A.dylib 	/usr/lib/libicucore.A.dylib
0x96aa0000 - 0x96acefff libssl.0.9.7.dylib 	/usr/lib/libssl.0.9.7.dylib
0x96b50000 - 0x96bdffff ATS 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x96c00000 - 0x96c8cfff com.apple.ink.framework 101.1.4 (55.12)	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x96e12000 - 0x96e25fff com.apple.speech.synthesis.framework 3.2	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis


Sincerely,
Nathan Herring
ID: 164 · Report as offensive
Rom Walton
Project developer
Avatar

Send message
Joined: 26 Aug 05
Posts: 164
Message 182 - Posted: 7 Sep 2005, 22:11:43 UTC

We have similiar features for Windows and Linux. I've pinged our Mac guy about this.

Can a process on MacOSX dump its own backtrace to stderr during a crash?

----- Rom
BOINC Development Team, U.C. Berkeley
My Blog
ID: 182 · Report as offensive
Paul D. Buck

Send message
Joined: 29 Aug 05
Posts: 225
Message 198 - Posted: 8 Sep 2005, 14:53:57 UTC - in response to Message 182.  

We have similiar features for Windows and Linux. I've pinged our Mac guy about this.

Can a process on MacOSX dump its own backtrace to stderr during a crash?

For some crashes of software I get a "mail to apple" pop-up window. I have not seen this with BOINC, but, I am not sure that BOINC has ever crashed on OS-X yet.

But there is some sort of crash system already available ... I wish I was smart enough to tell you were you hook into it ...
ID: 198 · Report as offensive
Nathan Herring

Send message
Joined: 7 Sep 05
Posts: 13
United States
Message 290 - Posted: 10 Sep 2005, 23:55:17 UTC - in response to Message 182.  

We have similiar features for Windows and Linux. I've pinged our Mac guy about this.

Can a process on MacOSX dump its own backtrace to stderr during a crash?


Not exactly. You can mirror what the Apple crash reporter is doing. It connects to the mach exception port of the application and listens in. In the case where an fatal exception occurs, notification gets sent out the exception port and then the secondary application can record information about the process in its crashed state. You have to know a fair amount about Mach-O stuff to do it though, and I would highly suggest letting Apple do that work, and just worry about writing an interpreter for the logs they already generate. However, it can be done, to wit Microsoft Error Reporting for the Macintosh.

The crash reporter writes a log in ~/Library/Logs/CrashReporter/application .crash.log for user processes, and in /Library/Logs/CrashReporter/application.crash.log for system processes. The Boinc manager for the OS X can simply inspect the CrashReporter directory for well known crash logs (like boinc.crash.log and project_majorver.minorver_platform.crash.log for the various binaries associated with currently attached projects, and send any new crash logs appended to those files back to the server (or process them and send them in whatever unified format you might have).

-nh
ID: 290 · Report as offensive

Message boards : BOINC client : OS X & crash logs

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.