About | ACP | Buy | Industry Watch | Learning Curve | Search | Test Drive
Home » Industry Watch » The Technological


This gets better and better.

Get It

Try It
Process:         spindump_agent [9699]
Path:            /usr/libexec/spindump_agent
Identifier:      spindump_agent
Version:         ??? (???) ← fancy version #
Code Type:       X86-64 (Native)
Parent Process:  launchd [122]

Date/Time:       2012-07-12 14:31:03.351 +0200
OS Version:      Mac OS X 10.7.4 (11E53)
Report Version:  9

Crashed Thread:  3  Dispatch queue: com.apple.root.default-priority

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000 ← great addy to crash on
Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[NSMutableArray setObject:atIndex:]: object cannot be nil'
*** First throw call stack:
	0   CoreFoundation                      0x00007fff912d9f56 __exceptionPreprocess + 198
	1   libobjc.A.dylib                     0x00007fff9773ad5e objc_exception_throw + 43
	2   CoreFoundation                      0x00007fff91298f3b -[NSMutableArray setObject:atIndex:] + 315
	3   CoreFoundation                      0x00007fff9127d52c CFArraySetValueAtIndex + 140
	4   spindump_agent                      0x000000010d253c52 spindump_agent + 7250
	5   spindump_agent                      0x000000010d253663 spindump_agent + 5731
	6   spindump_agent                      0x000000010d2535cc spindump_agent + 5580
	7   spindump_agent                      0x000000010d2540f1 spindump_agent + 8433
	8   libdispatch.dylib                   0x00007fff8e899a86 _dispatch_call_block_and_release + 18
	9   libdispatch.dylib                   0x00007fff8e89a965 _dispatch_worker_thread2 + 255
	10  libsystem_c.dylib                   0x00007fff8e5de3da _pthread_wqthread + 316
	11  libsystem_c.dylib                   0x00007fff8e5dfb85 start_wqthread + 13

objc[9699]: garbage collection is OFF
terminate called throwing an exception ← brilliant
abort() called
Thread 3 Crashed:: Dispatch queue: com.apple.root.default-priority
0   libsystem_kernel.dylib        	0x00007fff9145dce2 __pthread_kill + 10
1   libsystem_c.dylib             	0x00007fff8e5de7d2 pthread_kill + 95
2   libsystem_c.dylib             	0x00007fff8e5cfa7a abort + 143
3   libc++abi.dylib               	0x00007fff914137bc abort_message + 214
4   libc++abi.dylib               	0x00007fff91410fcf default_terminate() + 28
5   libobjc.A.dylib               	0x00007fff9773b1b9 _objc_terminate + 94
6   libc++abi.dylib               	0x00007fff91411001 safe_handler_caller(void (*)()) + 11
7   libc++abi.dylib               	0x00007fff9141105c std::terminate() + 16
8   libc++abi.dylib               	0x00007fff91412152 __cxa_throw + 114
9   libobjc.A.dylib               	0x00007fff9773ae7a objc_exception_throw + 327
10  com.apple.CoreFoundation      	0x00007fff91298f3b -[NSMutableArray setObject:atIndex:] + 315
11  com.apple.CoreFoundation      	0x00007fff9127d52c CFArraySetValueAtIndex + 140
12  spindump_agent                	0x000000010d253c52 0x10d252000 + 7250
13  spindump_agent                	0x000000010d253663 0x10d252000 + 5731
14  spindump_agent                	0x000000010d2535cc 0x10d252000 + 5580
15  spindump_agent                	0x000000010d2540f1 0x10d252000 + 8433
16  libdispatch.dylib             	0x00007fff8e899a86 _dispatch_call_block_and_release + 18
17  libdispatch.dylib             	0x00007fff8e89a965 _dispatch_worker_thread2 + 255
18  libsystem_c.dylib             	0x00007fff8e5de3da _pthread_wqthread + 316
19  libsystem_c.dylib             	0x00007fff8e5dfb85 start_wqthread + 13
Thread 3 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000006  rcx: 0x000000010d608ba8  rdx: 0x0000000000000000
  rdi: 0x0000000000002403  rsi: 0x0000000000000006  rbp: 0x000000010d608bd0  rsp: 0x000000010d608ba8
   r8: 0x00007fff7d9affb8   r9: 0x0000000000000006  r10: 0x00007fff9145dd0a  r11: 0xffffff80002da8d0
  r12: 0x00007f9281e00f90  r13: 0x0000000000000000  r14: 0x000000010d60a000  r15: 0x000000010d608d20
  rip: 0x00007fff9145dce2  rfl: 0x0000000000000206  cr2: 0x000000010d2f5000
Logical CPU: 0
spindump_agent(8)         BSD System Manager's Manual        spindump_agent(8)

     spindump_agent -- helper agent for spindump(8)


     spindump_agent should only be used by spindump(8) and should not be
     invoked manually


Darwin                         February 23, 2011                        Darwin
spindump(8)               BSD System Manager's Manual              spindump(8)

     spindump -- Profile entire system during a time interval

     spindump [pid | partial-name [duration [interval]]] [-file path] [-wait]
              [-findDsyms] [-delayOnSignal seconds]

     spindump is used by various system components to create reports when an
     unresponsive application is force quit. Reports are stored at:


     For normal application force quits spindump will display a dialog to
     offer the choice to view more details and/or send a report to Apple.


     When run manually, spindump samples user and kernel stacks for every
     process in the system.

     The process with the matching pid or partial-name will be sorted topmost
     in the report, if specified. "-notarget" may be used to avoid providing a
     target process when specifying a duration and interval.

     duration is the duration of the sampling in seconds. If not specified,
     the default of 10 seconds is used.

     interval is the number of miliseconds between samples. If not specified,
     the default of 10 miliseconds is used.

     The -file argument specifies where the report should be written. If path
     is a file, it will be overwritten. If path is a directory, a file will be
     created inside that directory with the name following the format <app-
     name>_<pid>.spindump.txt. If a file by that name already exists, spindump
     will add a unique number to the filename. If not specified, spindump will
     output reports to files inside /tmp.

     The -wait flag tells spindump to wait for the process to exist before
     sampling. If the process already exists, spindump will begin sampling

     The -findDsyms flag tells spindump to use spotlight to find dsyms for use
     during symbolication.

     The -delayOnSignal argument tells spindump to wait seconds seconds after
     receiving a signal before exiting.

     SubmitDiagInfo(8), sample(1)

Darwin                        September 11, 2008                        Darwin

So in other words, a thread that was supposed to help figure out why the system crashed, itself crashed. Great going, Apple.

Bring home more of that iPad goodness home to the Mac.

See Also
Developers Workshop: One Year with Lion

About | ACP | Buy | Industry Watch | Learning Curve | Search | Test Drive
Copyright © Rixstep. All rights reserved.