Trace methods in mulle-gdb

· nat's blog

If you want to always see the backtrace for -release on your class. Create methods that override these basic NSObject methods:

1#import "Foo.h"
2
3@implementation Foo
4
5- (void) release
6{
7   [super release];
8}

Start mulle-gdb on your test executable with some debugging flags:

1MULLE_TESTALLOCATOR=YES \
2MULLE_OBJC_TRACE_INSTANCE=YES \
3MULLE_OBJC_DEBUG_ENABLED=YES \
4MULLE_OBJC_EPHEMERAL_SINGLETON=YES \
5MULLE_OBJC_PEDANTIC_EXIT=YES \
6MULLE_OBJC_TRACE_THREAD=YES \
7MULLE_OBJC_WARN_ENABLED=YES \
8/usr/local/bin/mulle-gdb foo-test.exe

In mulle-gdb (or just gdb) say:

1(gdb) break -[Foo release]
2Breakpoint 1 at -[Foo release]: file Foo.m, line 5.
3(gdb) commands 1
4Type commands for breakpoint(s) 1, one per line.
5End with a line saying just "end".
6>silent
7>backtrace
8>continue
9>end

Now run your code and see the backtrace interspersed with the mulle-objc method trace.


Here is an example trace on a similiar project, with breakpoints set to -retain, -release, -autorelease, -dealloc:

  1Starting program: /home/src/srcO/mulle-objc/MulleObjC/test/NSThread/a-one-thread-noleak.exe 
  2[Thread debugging using libthread_db enabled]
  3Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  4    : setup threadinfo 0x55555555cca0 of thread 0x7ffff7d70740
  5mulle_objc_universe 0x7ffff7eb2b60 warning: class "NSObject" matches a protocol but also inherits from other protocolclasses (so it is not functioning as a protocol class)
  6[::] +[NSAutoreleasePool load] @0x7ffff7f57400 NSAutoreleasePool (0x555555571ab0, #60759e9e, 0x555555571c90)
  7[::] +[MulleObjCThreadSafe initialize] @0x7ffff7f842a0 NSThread (0x555555572000, #e92964bc, (nil))
  8[::] +[MulleObjCThreadSafe initialize] @0x7ffff7f842a0 NSThread (0x555555572000, #e92964bc, 0x555555572000)
  9[::] +[NSThread load] @0x7ffff7f6b780 NSThread (0x555555572000, #60759e9e, 0x5555555721e0)
 10[::] +[MulleObjCRootObject new] @0x7ffff7f853d0 NSThread (0x555555572000, #89996112, (nil))
 11[==] 0x555555573440 instance 0x555555573460 allocated ("NSThread" (c81b9c22)) 
 12[::] -[?NSThread init] @0x7ffff7e75e9e NSThread (0x555555573460, #6b1d3731, 0xffffffff)
 13[::] -[NSThread init] @0x7ffff7f6ba60 NSThread (0x555555573460, #6b1d3731, 0xffffffff)
 14[::] +[NSAutoreleasePool class] @0x7ffff7f595d0 NSAutoreleasePool (0x555555571ab0, #b3e0bffa, (nil))
 15    : add threadObject 0x555555573460 for thread 0x7ffff7d70740
 16[::] -[NSThread mulleSetNameUTF8String:] @0x7ffff7f6d5b0 NSThread (0x555555573460, #89286fba, 0x7ffff7f96b6f)
 17[::] +[MulleObjCThreadSafe initialize] @0x7ffff7f842a0 _MulleObjCAutoreleaseAllocation (0x5555555725d0, #e92964bc, (nil))
 18[::] +[MulleObjCThreadSafe initialize] @0x7ffff7f842a0 _MulleObjCAutoreleaseAllocation (0x5555555725d0, #e92964bc, 0x5555555725d0)
 19[::] +[_MulleObjCAutoreleaseAllocation load] @0x7ffff7f59c00 _MulleObjCAutoreleaseAllocation (0x5555555725d0, #60759e9e, 0x5555555727b0)
 20[::] +[MulleObjCThreadSafe initialize] @0x7ffff7f842a0 Foo (0x55555556e410, #e92964bc, (nil))
 21[::] +[MulleObjCThreadSafe initialize] @0x7ffff7f842a0 Foo (0x55555556e410, #e92964bc, 0x55555556e410)
 22[::] +[?Foo object] @0x7ffff7e75f31 Foo (0x55555556e410, #8c60cbab, (nil))
 23[::] +[NSObject object] @0x7ffff7f68bb0 Foo (0x55555556e410, #8c60cbab, (nil))
 24[::] +[NSObject instantiate] @0x7ffff7f68930 Foo (0x55555556e410, #51e64db8, (nil))
 25[::] +[NSObject __instantiateClass] @0x7ffff7f68900 Foo (0x55555556e410, #e44981b4, (nil))
 26[::] +[_MulleObjCInstantiatePlaceholder class] @0x7ffff7f680e0 _MulleObjCInstantiatePlaceholder (0x55555556d670, #b3e0bffa, (nil))
 27[==] 0x55555555c700 instance 0x55555555c720 allocated ("_MulleObjCInstantiatePlaceholder" (45dab2c5)) 
 28[::] -[?_MulleObjCInstantiatePlaceholder init] @0x7ffff7e75e9e _MulleObjCInstantiatePlaceholder (0x55555555c720, #6b1d3731, (nil))
 29[::] -[_MulleObjCInstantiatePlaceholder forward:] @0x7ffff7f68100 _MulleObjCInstantiatePlaceholder (0x55555555c720, #6b1d3731, (nil))
 30[::] +[?Foo alloc] @0x7ffff7e75e6d Foo (0x55555556e410, #ab1bb16b, (nil))
 31[::] +[MulleObjCRootObject alloc] @0x7ffff7f85330 Foo (0x55555556e410, #ab1bb16b, (nil))
 32[==] 0x55555555c730 instance 0x55555555c750 allocated ("Foo" (c7e16770)) 
 33[::] -[NSObject init] @0x7ffff7f68d20 Foo (0x55555555c750, #6b1d3731, (nil))
 34[::] -[?Foo autorelease] @0x7ffff7e75fc4 Foo (0x55555555c750, #8c9fa1fc, (nil))
 35[::] -[Foo autorelease] @0x555555556310 Foo (0x55555555c750, #8c9fa1fc, (nil))
 36#0  -[Foo autorelease] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:31
 37#9  0x00007ffff7f6850a in -[_MulleObjCInstantiatePlaceholder forward:] (self=0x55555555c720, _cmd=<unvollständiger Typ>, _param=0x0)
 38    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSObject.m:128
 39#18 0x00007ffff7f68be1 in +[NSObject object] (self=0x55555556e410, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSObject.m:419
 40#27 0x00005555555563c5 in main () at a-one-thread-noleak.m:55
 41[::] -[MulleObjCRootObject autorelease] @0x7ffff7f85b50 Foo (0x55555555c750, #8c9fa1fc, 0x55555555c750)
 42[::] +[?NSThread alloc] @0x7ffff7e75e6d NSThread (0x555555572000, #ab1bb16b, (nil))
 43[::] +[MulleObjCRootObject alloc] @0x7ffff7f85330 NSThread (0x555555572000, #ab1bb16b, (nil))
 44[==] 0x55555555c760 instance 0x55555555c780 allocated ("NSThread" (c81b9c22)) 
 45[::] -[NSThread initWithTarget:selector:object:] @0x7ffff7f6bc60 NSThread (0x55555555c780, #096b4545, 0x7fffffffd580)
 46[::] +[NSInvocation initialize] @0x7ffff7f60d90 NSInvocation (0x555555570680, #e92964bc, (nil))
 47[::] +[NSInvocation initialize] @0x7ffff7f60d90 NSInvocation (0x555555570680, #e92964bc, 0x555555570680)
 48[::] +[NSInvocation mulleInvocationWithTarget:selector:object:] @0x7ffff7f61630 NSInvocation (0x555555570680, #7f5d8c14, 0x7fffffffd2c8)
 49[::] -[MulleObjCRootObject methodSignatureForSelector:] @0x7ffff7f87570 Foo (0x55555555c750, #aa748a69, 0xffffffffe4a9b097)
 50[::] +[MulleObjCThreadSafe initialize] @0x7ffff7f842a0 NSMethodSignature (0x55555556f5f0, #e92964bc, (nil))
 51[::] +[MulleObjCThreadSafe initialize] @0x7ffff7f842a0 NSMethodSignature (0x55555556f5f0, #e92964bc, 0x55555556f5f0)
 52[::] +[NSMethodSignature _signatureWithObjCTypes:descriptorBits:] @0x7ffff7f65a70 NSMethodSignature (0x55555556f5f0, #6defe6c4, 0x7fffffffcc18)
 53[==] 0x555555584520 instance 0x555555584540 allocated ("NSMethodSignature" (523989f9))  (+267)
 54[::] -[?NSMethodSignature autorelease] @0x7ffff7e75fc4 NSMethodSignature (0x555555584540, #8c9fa1fc, 0xb)
 55[::] -[MulleObjCRootObject autorelease] @0x7ffff7f85b50 NSMethodSignature (0x555555584540, #8c9fa1fc, 0xb)
 56[::] -[NSMethodSignature numberOfArguments] @0x7ffff7f65ec0 NSMethodSignature (0x555555584540, #d098c334, (nil))
 57[::] -[NSMethodSignature isVariadic] @0x7ffff7f65e50 NSMethodSignature (0x555555584540, #61b07e0a, (nil))
 58[::] +[NSInvocation invocationWithMethodSignature:] @0x7ffff7f60ea0 NSInvocation (0x555555570680, #ec8093ef, 0x555555584540)
 59[::] -[NSMethodSignature mulleInvocationSize] @0x7ffff7f66610 NSMethodSignature (0x555555584540, #60bd16d4, 0x555555584540)
 60[==] 0x555555584780 instance 0x5555555847a0 allocated ("NSInvocation" (c089c043))  (+128)
 61[::] -[?NSMethodSignature retain] @0x7ffff7e75f62 NSMethodSignature (0x555555584540, #8bcc57c8, (nil))
 62[::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 NSMethodSignature (0x555555584540, #8bcc57c8, (nil))
 63[::] -[?NSInvocation autorelease] @0x7ffff7e75fc4 NSInvocation (0x5555555847a0, #8c9fa1fc, (nil))
 64[::] -[MulleObjCRootObject autorelease] @0x7ffff7f85b50 NSInvocation (0x5555555847a0, #8c9fa1fc, (nil))
 65[::] -[NSInvocation setTarget:] @0x7ffff7f62e50 NSInvocation (0x5555555847a0, #c5543148, 0x55555555c750)
 66[::] -[MulleObjCRootObject mulleIsAccessible] @0x7ffff7f85d70 Foo (0x55555555c750, #17aea6c5, 0x55555555c750)
 67[::] -[NSInvocation setArgument:atIndex:] @0x7ffff7f627a0 NSInvocation (0x5555555847a0, #a55a841a, 0x7fffffffcc70)
 68[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x1)
 69[::] -[NSInvocation setSelector:] @0x7ffff7f62dc0 NSInvocation (0x5555555847a0, #13377581, 0xffffffffe4a9b097)
 70[::] -[NSInvocation setArgument:atIndex:] @0x7ffff7f627a0 NSInvocation (0x5555555847a0, #a55a841a, 0x7fffffffcc70)
 71[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x2)
 72[::] -[NSInvocation setArgument:atIndex:] @0x7ffff7f627a0 NSInvocation (0x5555555847a0, #a55a841a, 0x7fffffffcf18)
 73[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x3)
 74[::] -[NSInvocation retainArguments] @0x7ffff7f62820 NSInvocation (0x5555555847a0, #b80ad187, (nil))
 75[::] -[NSMethodSignature isVariadic] @0x7ffff7f65e50 NSMethodSignature (0x555555584540, #61b07e0a, (nil))
 76[::] -[NSMethodSignature numberOfArguments] @0x7ffff7f65ec0 NSMethodSignature (0x555555584540, #d098c334, (nil))
 77[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, (nil))
 78[::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7fffffffcfb0)
 79[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x1)
 80[::] -[?Foo retain] @0x7ffff7e75f62 Foo (0x55555555c750, #8bcc57c8, (nil))
 81[::] -[Foo retain] @0x5555555562e0 Foo (0x55555555c750, #8bcc57c8, (nil))
 82#0  -[Foo retain] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:25
 83#9  0x00007ffff7f62a78 in -[NSInvocation retainArguments] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
 84    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:524
 85#14 0x00007ffff7f6bcc6 in -[NSThread initWithTarget:selector:object:] (self=0x55555555c780, _cmd=<unvollständiger Typ>, _param=0x7fffffffd580)
 86    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:143
 87#19 0x0000555555556418 in main () at a-one-thread-noleak.m:62
 88[::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 Foo (0x55555555c750, #8bcc57c8, 0x55555555c750)
 89[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x1)
 90[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x2)
 91[::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7fffffffcfb0)
 92[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x3)
 93[::] -[?Foo retain] @0x7ffff7e75f62 Foo (0x55555555c750, #8bcc57c8, (nil))
 94[::] -[Foo retain] @0x5555555562e0 Foo (0x55555555c750, #8bcc57c8, (nil))
 95#0  -[Foo retain] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:25
 96#9  0x00007ffff7f62a78 in -[NSInvocation retainArguments] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
 97    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:524
 98#14 0x00007ffff7f6bcc6 in -[NSThread initWithTarget:selector:object:] (self=0x55555555c780, _cmd=<unvollständiger Typ>, _param=0x7fffffffd580)
 99    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:143
100#19 0x0000555555556418 in main () at a-one-thread-noleak.m:62
101[::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 Foo (0x55555555c750, #8bcc57c8, 0x55555555c750)
102[::] -[NSThread mulleInitWithInvocation:] @0x7ffff7f6bce0 NSThread (0x55555555c780, #57a96c06, 0x5555555847a0)
103[::] -[?NSThread init] @0x7ffff7e75e9e NSThread (0x55555555c780, #6b1d3731, 0x5555555847a0)
104[::] -[NSThread init] @0x7ffff7f6ba60 NSThread (0x55555555c780, #6b1d3731, 0x5555555847a0)
105[::] -[?NSInvocation retain] @0x7ffff7e75f62 NSInvocation (0x5555555847a0, #8bcc57c8, (nil))
106[::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 NSInvocation (0x5555555847a0, #8bcc57c8, (nil))
107[::] -[?NSThread autorelease] @0x7ffff7e75fc4 NSThread (0x55555555c780, #8c9fa1fc, (nil))
108[::] -[MulleObjCRootObject autorelease] @0x7ffff7f85b50 NSThread (0x55555555c780, #8c9fa1fc, (nil))
109[::] -[NSThread mulleStartUndetached] @0x7ffff7f6c9e0 NSThread (0x55555555c780, #ccb4ef3d, (nil))
110[::] -[NSThread __isGoingMultiThreaded] @0x7ffff7f6d170 NSThread (0x55555555c780, #082251d4, (nil))
111[::] -[NSThread _isGoingMultiThreaded] @0x7ffff7f6d160 NSThread (0x55555555c780, #618e3002, (nil))
112[::] -[?NSThread retain] @0x7ffff7e75f62 NSThread (0x55555555c780, #8bcc57c8, (nil))
113[::] -[NSThread retain] @0x7ffff7f6e4b0 NSThread (0x55555555c780, #8bcc57c8, (nil))
114[::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 NSThread (0x55555555c780, #8bcc57c8, 0x55555555c780)
115[::] -[NSInvocation mulleRelinquishAccess] @0x7ffff7f623e0 NSInvocation (0x5555555847a0, #08108bae, (nil))
116[::] -[NSMethodSignature methodReturnType] @0x7ffff7f662e0 NSMethodSignature (0x555555584540, #c0241a69, (nil))
117[::] -[NSMethodSignature numberOfArguments] @0x7ffff7f65ec0 NSMethodSignature (0x555555584540, #d098c334, (nil))
118[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, (nil))
119[::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7fffffffcf98)
120[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x1)
121[::] -[MulleObjCRootObject performSelector:] @0x7ffff7f87880 Foo (0x55555555c750, #69460a72, 0x8108bae)
122[::] -[MulleObjCRootObject mulleRelinquishAccess] @0x7ffff7f86620 Foo (0x55555555c750, #08108bae, 0x55555555c750)
123[::] -[MulleObjCRootObject mulleTAOStrategy] @0x7ffff7f86610 Foo (0x55555555c750, #2ed93c7e, 0x55555555c750)
124[::] -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] @0x7ffff7f862a0 Foo (0x55555555c750, #b04ded71, (nil))
125[::] -[?Foo retain] @0x7ffff7e75f62 Foo (0x55555555c750, #8bcc57c8, (nil))
126[::] -[Foo retain] @0x5555555562e0 Foo (0x55555555c750, #8bcc57c8, (nil))
127#0  -[Foo retain] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:25
128#9  0x00007ffff7f862d9 in -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, strategy=0)
129    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:276
130#14 0x00007ffff7f86655 in -[MulleObjCRootObject mulleRelinquishAccess] (self=0x55555555c750, _cmd=<unvollständiger Typ>)
131    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:369
132#17 -[MulleObjCRootObject performSelector:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, sel=<unvollständiger Typ>)
133    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:575
134#22 0x00007ffff7f623c0 in NSInvocationMakeObjectArgumentsPerformSelector (self=0x5555555847a0, sel=<unvollständiger Typ>)
135    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:415
136#23 0x00007ffff7f623fb in -[NSInvocation mulleRelinquishAccess] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
137    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:432
138#28 0x00007ffff7f6cbd5 in -[NSThread mulleStartUndetached] (self=0x55555555c780, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:597
139#33 0x0000555555556439 in main () at a-one-thread-noleak.m:65
140[::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 Foo (0x55555555c750, #8bcc57c8, 0x55555555c750)
141[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x1)
142[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x2)
143[::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7fffffffcf98)
144[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x3)
145[::] -[MulleObjCRootObject performSelector:] @0x7ffff7f87880 Foo (0x55555555c750, #69460a72, 0x8108bae)
146[::] -[MulleObjCRootObject mulleRelinquishAccess] @0x7ffff7f86620 Foo (0x55555555c750, #08108bae, 0x55555555c750)
147[::] -[MulleObjCRootObject mulleTAOStrategy] @0x7ffff7f86610 Foo (0x55555555c750, #2ed93c7e, 0x55555555c750)
148[::] -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] @0x7ffff7f862a0 Foo (0x55555555c750, #b04ded71, (nil))
149[::] -[?Foo retain] @0x7ffff7e75f62 Foo (0x55555555c750, #8bcc57c8, (nil))
150[::] -[Foo retain] @0x5555555562e0 Foo (0x55555555c750, #8bcc57c8, (nil))
151#0  -[Foo retain] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:25
152#9  0x00007ffff7f862d9 in -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, strategy=0)
153    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:276
154#14 0x00007ffff7f86655 in -[MulleObjCRootObject mulleRelinquishAccess] (self=0x55555555c750, _cmd=<unvollständiger Typ>)
155    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:369
156#17 -[MulleObjCRootObject performSelector:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, sel=<unvollständiger Typ>)
157    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:575
158#22 0x00007ffff7f623c0 in NSInvocationMakeObjectArgumentsPerformSelector (self=0x5555555847a0, sel=<unvollständiger Typ>)
159    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:415
160#23 0x00007ffff7f623fb in -[NSInvocation mulleRelinquishAccess] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
161    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:432
162#28 0x00007ffff7f6cbd5 in -[NSThread mulleStartUndetached] (self=0x55555555c780, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:597
163#33 0x0000555555556439 in main () at a-one-thread-noleak.m:65
164[::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 Foo (0x55555555c750, #8bcc57c8, 0x55555555c750)
165[::] -[MulleObjCRootObject mulleRelinquishAccess] @0x7ffff7f86620 NSInvocation (0x5555555847a0, #08108bae, 0x5555555847a0)
166[::] -[MulleObjCRootObject mulleTAOStrategy] @0x7ffff7f86610 NSInvocation (0x5555555847a0, #2ed93c7e, 0x5555555847a0)
167[::] -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] @0x7ffff7f862a0 NSInvocation (0x5555555847a0, #b04ded71, (nil))
168[::] -[?NSInvocation retain] @0x7ffff7e75f62 NSInvocation (0x5555555847a0, #8bcc57c8, (nil))
169[::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 NSInvocation (0x5555555847a0, #8bcc57c8, (nil))
170[::] +[NSAutoreleasePool mulleDefaultAutoreleasePool] @0x7ffff7f57fb0 NSAutoreleasePool (0x555555571ab0, #019a60b0, (nil))
171[::] -[NSAutoreleasePool mulleReleaseObjects:count:] @0x7ffff7f59150 NSAutoreleasePool (0x555555582180, #e16b6aaa, 0x7fffffffcad8)
172[::] +[NSAutoreleasePool mulleContainsObject:] @0x7ffff7f587a0 NSAutoreleasePool (0x555555571ab0, #f7276664, 0x5555555847a0)
173[New Thread 0x7ffff79ff640 (LWP 211865)]
174    : 0x7ffff7d70740 started thread 0x7ffff79ff640
175[::] -[NSThread mulleJoin] @0x7ffff7f6dda0 NSThread (0x55555555c780, #fc769621, (nil))
176t:# 1     : setup threadinfo 0x7ffff0000b70 of thread 0x7ffff79ff640
177t:# 1 [::] +[NSAutoreleasePool class] @0x7ffff7f595d0 NSAutoreleasePool (0x555555571ab0, #b3e0bffa, (nil))
178t:# 1     : add threadObject 0x55555555c780 for thread 0x7ffff79ff640
179t:# 1 [::] -[NSInvocation mulleGainAccess] @0x7ffff7f62210 NSInvocation (0x5555555847a0, #1b2de37c, (nil))
180t:# 1 [::] -[MulleObjCRootObject mulleGainAccess] @0x7ffff7f86070 NSInvocation (0x5555555847a0, #1b2de37c, 0x5555555847a0)
181t:# 1 [::] -[?NSInvocation autorelease] @0x7ffff7e75fc4 NSInvocation (0x5555555847a0, #8c9fa1fc, 0x5555555847a0)
182t:# 1 [::] -[MulleObjCRootObject autorelease] @0x7ffff7f85b50 NSInvocation (0x5555555847a0, #8c9fa1fc, 0x5555555847a0)
183t:# 1 [::] -[NSMethodSignature methodReturnType] @0x7ffff7f662e0 NSMethodSignature (0x555555584540, #c0241a69, (nil))
184t:# 1 [::] -[NSMethodSignature numberOfArguments] @0x7ffff7f65ec0 NSMethodSignature (0x555555584540, #d098c334, (nil))
185t:# 1 [::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, (nil))
186t:# 1 [::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7ffff79feb08)
187t:# 1 [::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x1)
188t:# 1 [::] -[MulleObjCRootObject performSelector:] @0x7ffff7f87880 Foo (0x55555555c750, #69460a72, 0x1b2de37c)
189t:# 1 [::] -[MulleObjCRootObject mulleGainAccess] @0x7ffff7f86070 Foo (0x55555555c750, #1b2de37c, 0x55555555c750)
190t:# 1 [::] -[?Foo autorelease] @0x7ffff7e75fc4 Foo (0x55555555c750, #8c9fa1fc, 0x55555555c750)
191t:# 1 [::] -[Foo autorelease] @0x555555556310 Foo (0x55555555c750, #8c9fa1fc, 0x55555555c750)
192[Switching to Thread 0x7ffff79ff640 (LWP 211865)]
193#0  -[Foo autorelease] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:31
194#9  0x00007ffff7f86288 in -[MulleObjCRootObject mulleGainAccess] (self=0x55555555c750, _cmd=<unvollständiger Typ>)
195    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:267
196#12 -[MulleObjCRootObject performSelector:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, sel=<unvollständiger Typ>)
197    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:575
198#17 0x00007ffff7f623c0 in NSInvocationMakeObjectArgumentsPerformSelector (self=0x5555555847a0, sel=<unvollständiger Typ>)
199    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:415
200#18 0x00007ffff7f62246 in -[NSInvocation mulleGainAccess] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
201    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:425
202#23 0x00007ffff7f6cee7 in bouncyBounce (arg=0x55555555c780) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:562
203#24 0x00007ffff7a94935 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:439
204#25 0x00007ffff7b26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
205t:# 1 [::] -[MulleObjCRootObject autorelease] @0x7ffff7f85b50 Foo (0x55555555c750, #8c9fa1fc, 0x55555555c750)
206t:# 1 [::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x1)
207t:# 1 [::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x2)
208t:# 1 [::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7ffff79feb08)
209t:# 1 [::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x3)
210t:# 1 [::] -[MulleObjCRootObject performSelector:] @0x7ffff7f87880 Foo (0x55555555c750, #69460a72, 0x1b2de37c)
211t:# 1 [::] -[MulleObjCRootObject mulleGainAccess] @0x7ffff7f86070 Foo (0x55555555c750, #1b2de37c, 0x55555555c750)
212t:# 1 [::] -[?Foo autorelease] @0x7ffff7e75fc4 Foo (0x55555555c750, #8c9fa1fc, 0x55555555c750)
213t:# 1 [::] -[Foo autorelease] @0x555555556310 Foo (0x55555555c750, #8c9fa1fc, 0x55555555c750)
214#0  -[Foo autorelease] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:31
215#9  0x00007ffff7f86288 in -[MulleObjCRootObject mulleGainAccess] (self=0x55555555c750, _cmd=<unvollständiger Typ>)
216    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:267
217#12 -[MulleObjCRootObject performSelector:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, sel=<unvollständiger Typ>)
218    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:575
219#17 0x00007ffff7f623c0 in NSInvocationMakeObjectArgumentsPerformSelector (self=0x5555555847a0, sel=<unvollständiger Typ>)
220    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:415
221#18 0x00007ffff7f62246 in -[NSInvocation mulleGainAccess] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
222    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:425
223#23 0x00007ffff7f6cee7 in bouncyBounce (arg=0x55555555c780) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:562
224#24 0x00007ffff7a94935 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:439
225#25 0x00007ffff7b26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
226t:# 1 [::] -[MulleObjCRootObject autorelease] @0x7ffff7f85b50 Foo (0x55555555c750, #8c9fa1fc, 0x55555555c750)
227t:# 1 [::] -[NSThread main] @0x7ffff7f6c970 NSThread (0x55555555c780, #a90e208e, (nil))
228t:# 1 [::] -[NSInvocation invoke] @0x7ffff7f62ee0 NSInvocation (0x5555555847a0, #2f7980db, (nil))
229t:# 1 [::] -[NSInvocation target] @0x7ffff7f62e10 NSInvocation (0x5555555847a0, #26088483, (nil))
230t:# 1 [::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7ffff79fe650)
231t:# 1 [::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x1)
232t:# 1 [::] -[NSInvocation invokeWithTarget:] @0x7ffff7f62f20 NSInvocation (0x5555555847a0, #145437a5, 0x55555555c750)
233t:# 1 [::] -[NSInvocation selector] @0x7ffff7f62d70 NSInvocation (0x5555555847a0, #3fae3fc3, 0x55555555c750)
234t:# 1 [::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7ffff79fdfa0)
235t:# 1 [::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x2)
236t:# 1 [::] -[NSMethodSignature _methodMetaABIParameterType] @0x7ffff7f664b0 NSMethodSignature (0x555555584540, #b30c7dbe, (nil))
237t:# 1 [::] -[NSMethodSignature _methodMetaABIReturnType] @0x7ffff7f66550 NSMethodSignature (0x555555584540, #28253527, (nil))
238t:# 1 [::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x3)
239t:# 1 [::] -[Foo function:] @0x555555556370 Foo (0x55555555c750, #e4a9b097, 0x55555555c750)
240t:# 1 [::] +[NSThread exit] @0x7ffff7f6e1d0 NSThread (0x555555572000, #ded1a85c, (nil))
241t:# 1 [::] +[NSThread currentThread] @0x7ffff7f6dc20 NSThread (0x555555572000, #d36267e6, (nil))
242t:# 1 [::] +[NSThread mainThread] @0x7ffff7f6db60 NSThread (0x555555572000, #1785f08f, (nil))
243t:# 1 [::] -[NSThread _threadWillExit] @0x7ffff7f6d1d0 NSThread (0x55555555c780, #33dd4c2e, (nil))
244t:# 1 [::] -[NSThread __isProbablyGoingSingleThreaded] @0x7ffff7f6d100 NSThread (0x55555555c780, #8a89ba7e, (nil))
245t:# 1 [::] -[NSThread _isProbablyGoingSingleThreaded] @0x7ffff7f6d0f0 NSThread (0x55555555c780, #5c48eecc, (nil))
246t:# 1 [::] -[MulleObjCRootObject mullePerformFinalize] @0x7ffff7f855e0 NSThread (0x55555555c780, #1b27b85a, (nil))
247t:# 1 [::] -[?NSThread finalize] @0x7ffff7e75ecf NSThread (0x55555555c780, #9de99ffa, 0x55555555c780)
248t:# 1 [::] -[NSThread finalize] @0x7ffff7f6bee0 NSThread (0x55555555c780, #9de99ffa, 0x55555555c780)
249t:# 1 [::] -[NSThread mulleRunLoop] @0x7ffff7f6d200 NSThread (0x55555555c780, #bf465a53, 0x55555555c780)
250t:# 1 [::] -[NSInvocation mulleRelinquishAccess] @0x7ffff7f623e0 NSInvocation (0x5555555847a0, #08108bae, (nil))
251t:# 1 [::] -[NSMethodSignature methodReturnType] @0x7ffff7f662e0 NSMethodSignature (0x555555584540, #c0241a69, (nil))
252t:# 1 [::] -[NSMethodSignature numberOfArguments] @0x7ffff7f65ec0 NSMethodSignature (0x555555584540, #d098c334, (nil))
253t:# 1 [::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, (nil))
254t:# 1 [::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7ffff79fe1b8)
255t:# 1 [::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x1)
256t:# 1 [::] -[MulleObjCRootObject performSelector:] @0x7ffff7f87880 Foo (0x55555555c750, #69460a72, 0x8108bae)
257t:# 1 [::] -[MulleObjCRootObject mulleRelinquishAccess] @0x7ffff7f86620 Foo (0x55555555c750, #08108bae, 0x55555555c750)
258t:# 1 [::] -[MulleObjCRootObject mulleTAOStrategy] @0x7ffff7f86610 Foo (0x55555555c750, #2ed93c7e, 0x55555555c750)
259t:# 1 [::] -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] @0x7ffff7f862a0 Foo (0x55555555c750, #b04ded71, (nil))
260t:# 1 [::] -[?Foo retain] @0x7ffff7e75f62 Foo (0x55555555c750, #8bcc57c8, (nil))
261t:# 1 [::] -[Foo retain] @0x5555555562e0 Foo (0x55555555c750, #8bcc57c8, (nil))
262#0  -[Foo retain] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:25
263#9  0x00007ffff7f862d9 in -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, strategy=0)
264    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:276
265#14 0x00007ffff7f86655 in -[MulleObjCRootObject mulleRelinquishAccess] (self=0x55555555c750, _cmd=<unvollständiger Typ>)
266    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:369
267#17 -[MulleObjCRootObject performSelector:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, sel=<unvollständiger Typ>)
268    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:575
269#22 0x00007ffff7f623c0 in NSInvocationMakeObjectArgumentsPerformSelector (self=0x5555555847a0, sel=<unvollständiger Typ>)
270    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:415
271#23 0x00007ffff7f623fb in -[NSInvocation mulleRelinquishAccess] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
272    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:432
273#28 0x00007ffff7f6bf8c in -[NSThread finalize] (self=0x55555555c780, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:203
274#37 0x00007ffff7f855f8 in -[MulleObjCRootObject mullePerformFinalize] (self=0x55555555c780, _cmd=<unvollständiger Typ>)
275    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:60
276#42 0x00007ffff7f6e401 in +[NSThread exit] (self=0x555555572000, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:1018
277#47 0x00007ffff7f6cf19 in bouncyBounce (arg=0x55555555c780) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:567
278#48 0x00007ffff7a94935 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:439
279#49 0x00007ffff7b26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
280t:# 1 [::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 Foo (0x55555555c750, #8bcc57c8, 0x55555555c750)
281t:# 1 [::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x1)
282t:# 1 [::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x2)
283t:# 1 [::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7ffff79fe1b8)
284t:# 1 [::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x3)
285t:# 1 [::] -[MulleObjCRootObject performSelector:] @0x7ffff7f87880 Foo (0x55555555c750, #69460a72, 0x8108bae)
286t:# 1 [::] -[MulleObjCRootObject mulleRelinquishAccess] @0x7ffff7f86620 Foo (0x55555555c750, #08108bae, 0x55555555c750)
287t:# 1 [::] -[MulleObjCRootObject mulleTAOStrategy] @0x7ffff7f86610 Foo (0x55555555c750, #2ed93c7e, 0x55555555c750)
288t:# 1 [::] -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] @0x7ffff7f862a0 Foo (0x55555555c750, #b04ded71, (nil))
289t:# 1 [::] -[?Foo retain] @0x7ffff7e75f62 Foo (0x55555555c750, #8bcc57c8, (nil))
290t:# 1 [::] -[Foo retain] @0x5555555562e0 Foo (0x55555555c750, #8bcc57c8, (nil))
291#0  -[Foo retain] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:25
292#9  0x00007ffff7f862d9 in -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, strategy=0)
293    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:276
294#14 0x00007ffff7f86655 in -[MulleObjCRootObject mulleRelinquishAccess] (self=0x55555555c750, _cmd=<unvollständiger Typ>)
295    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:369
296#17 -[MulleObjCRootObject performSelector:] (self=0x55555555c750, _cmd=<unvollständiger Typ>, sel=<unvollständiger Typ>)
297    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:575
298#22 0x00007ffff7f623c0 in NSInvocationMakeObjectArgumentsPerformSelector (self=0x5555555847a0, sel=<unvollständiger Typ>)
299    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:415
300#23 0x00007ffff7f623fb in -[NSInvocation mulleRelinquishAccess] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
301    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:432
302#28 0x00007ffff7f6bf8c in -[NSThread finalize] (self=0x55555555c780, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:203
303#37 0x00007ffff7f855f8 in -[MulleObjCRootObject mullePerformFinalize] (self=0x55555555c780, _cmd=<unvollständiger Typ>)
304    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:60
305#42 0x00007ffff7f6e401 in +[NSThread exit] (self=0x555555572000, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:1018
306#47 0x00007ffff7f6cf19 in bouncyBounce (arg=0x55555555c780) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:567
307#48 0x00007ffff7a94935 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:439
308#49 0x00007ffff7b26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
309t:# 1 [::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 Foo (0x55555555c750, #8bcc57c8, 0x55555555c750)
310t:# 1 [::] -[MulleObjCRootObject mulleRelinquishAccess] @0x7ffff7f86620 NSInvocation (0x5555555847a0, #08108bae, 0x5555555847a0)
311t:# 1 [::] -[MulleObjCRootObject mulleTAOStrategy] @0x7ffff7f86610 NSInvocation (0x5555555847a0, #2ed93c7e, 0x5555555847a0)
312t:# 1 [::] -[MulleObjCRootObject mulleRelinquishAccessWithTAOStrategy:] @0x7ffff7f862a0 NSInvocation (0x5555555847a0, #b04ded71, (nil))
313t:# 1 [::] -[?NSInvocation retain] @0x7ffff7e75f62 NSInvocation (0x5555555847a0, #8bcc57c8, (nil))
314t:# 1 [::] -[MulleObjCRootObject retain] @0x7ffff7f85d00 NSInvocation (0x5555555847a0, #8bcc57c8, (nil))
315t:# 1 [::] +[NSAutoreleasePool mulleDefaultAutoreleasePool] @0x7ffff7f57fb0 NSAutoreleasePool (0x555555571ab0, #019a60b0, (nil))
316t:# 1 [::] -[NSAutoreleasePool mulleReleaseObjects:count:] @0x7ffff7f59150 NSAutoreleasePool (0x7ffff0009340, #e16b6aaa, 0x7ffff79fdcf8)
317t:# 1 [::] +[NSAutoreleasePool mulleContainsObject:] @0x7ffff7f587a0 NSAutoreleasePool (0x555555571ab0, #f7276664, 0x5555555847a0)
318t:# 1 [::] -[MulleObjCRootObject finalize] @0x7ffff7f856f0 NSThread (0x55555555c780, #9de99ffa, 0x55555555c780)
319t:# 1 [::] -[NSThread mulleSetNameUTF8String:] @0x7ffff7f6d5b0 NSThread (0x55555555c780, #89286fba, (nil))
320t:0x7ffff79ff640     : call threadinfo 0x7ffff0000b70 of thread 0x7ffff79ff640 foundation destructor
321t:# 1     : remove threadObject 0x55555555c780 for thread 0x7ffff79ff640
322t:# 1 [::] -[?NSThread release] @0x7ffff7e75f93 NSThread (0x55555555c780, #036ae7e1, 0x7ffff7c1cae0)
323t:# 1 [::] -[MulleObjCRootObject release] @0x7ffff7f85900 NSThread (0x55555555c780, #036ae7e1, 0x7ffff7c1cae0)
324t:0x7ffff79ff640     : free threadinfo 0x7ffff0000b70 of thread 0x7ffff79ff640 (#1)
325[::] -[?NSAutoreleasePool release] @0x7ffff7e75f93 NSAutoreleasePool (0x555555582180, #036ae7e1, (nil))
326[::] [Thread 0x7ffff79ff640 (LWP 211865) exited]
327-[NSAutoreleasePool release] @0x7ffff7f599f0 NSAutoreleasePool (0x555555582180, #036ae7e1, (nil))
328[::] -[?NSAutoreleasePool finalize] @0x7ffff7e75ecf NSAutoreleasePool (0x555555582180, #9de99ffa, 0x555555582180)
329[::] -[NSAutoreleasePool finalize] @0x7ffff7f59a40 NSAutoreleasePool (0x555555582180, #9de99ffa, 0x555555582180)
330[::] -[?NSAutoreleasePool dealloc] @0x7ffff7e75f00 NSAutoreleasePool (0x555555582180, #9929eb3d, 0x555555582180)
331[::] -[NSAutoreleasePool dealloc] @0x7ffff7f59a50 NSAutoreleasePool (0x555555582180, #9929eb3d, 0x555555582180)
332[::] -[?NSThread dealloc] @0x7ffff7e75f00 NSThread (0x55555555c780, #9929eb3d, 0x55555555c780)
333[::] -[NSThread dealloc] @0x7ffff7f6bfe0 NSThread (0x55555555c780, #9929eb3d, 0x55555555c780)
334[::] -[NSThread mulleRunLoop] @0x7ffff7f6d200 NSThread (0x55555555c780, #bf465a53, 0x55555555c780)
335[::] -[?NSInvocation release] @0x7ffff7e75f93 NSInvocation (0x5555555847a0, #036ae7e1, (nil))
336[::] -[MulleObjCRootObject release] @0x7ffff7f85900 NSInvocation (0x5555555847a0, #036ae7e1, (nil))
337[::] -[?NSInvocation release] @0x7ffff7e75f93 NSInvocation (0x5555555847a0, #036ae7e1, (nil))
338[::] -[MulleObjCRootObject release] @0x7ffff7f85900 NSInvocation (0x5555555847a0, #036ae7e1, (nil))
339[::] -[?NSInvocation finalize] @0x7ffff7e75ecf NSInvocation (0x5555555847a0, #9de99ffa, 0x5555555847a0)
340[::] -[NSInvocation finalize] @0x7ffff7f61ba0 NSInvocation (0x5555555847a0, #9de99ffa, 0x5555555847a0)
341[::] -[?NSInvocation dealloc] @0x7ffff7e75f00 NSInvocation (0x5555555847a0, #9929eb3d, 0x5555555847a0)
342[::] -[NSInvocation dealloc] @0x7ffff7f61bb0 NSInvocation (0x5555555847a0, #9929eb3d, 0x5555555847a0)
343[::] -[NSInvocation _releaseArguments] @0x7ffff7f61e00 NSInvocation (0x5555555847a0, #26d4a05d, 0x5555555847a0)
344[::] -[NSMethodSignature numberOfArguments] @0x7ffff7f65ec0 NSMethodSignature (0x555555584540, #d098c334, 0x5555555847a0)
345[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, (nil))
346[::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7fffffffbe80)
347[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x1)
348[::] -[?Foo release] @0x7ffff7e75f93 Foo (0x55555555c750, #036ae7e1, (nil))
349[::] -[Foo release] @0x5555555562b0 Foo (0x55555555c750, #036ae7e1, (nil))
350[Switching to Thread 0x7ffff7d70740 (LWP 211862)]
351#0  -[Foo release] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:19
352#9  0x00007ffff7f61ed0 in -[NSInvocation _releaseArguments] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
353    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:340
354#14 0x00007ffff7f61bdc in -[NSInvocation dealloc] (self=0x5555555847a0, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:304
355#24 0x00007ffff7f85921 in -[MulleObjCRootObject release] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
356    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:139
357#33 0x00007ffff7f6c096 in -[NSThread dealloc] (self=0x55555555c780, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:216
358#43 0x00007ffff7f5c3aa in _mulle_autoreleasepointerarray_release_and_free (end=0x5555555821b0, staticStorage=0x5555555821b0, object_map=0x55555555cd38)
359    at /home/src/srcO/mulle-objc/MulleObjC/src/mulle-objc-autoreleasepointerarray-private.h:187
360#44 0x00007ffff7f59986 in releaseAllObjectsInPool (config=0x55555555ccf0, pool=0x555555582180) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSAutoreleasePool.m:860
361#45 0x00007ffff7f57bd9 in popAutoreleasePool (config=0x55555555ccf0, aPool=0x555555582180) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSAutoreleasePool.m:897
362#46 0x00007ffff7f59bd3 in -[NSAutoreleasePool dealloc] (self=0x555555582180, _cmd=<unvollständiger Typ>)
363    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSAutoreleasePool.m:999
364#56 0x00007ffff7f59a08 in -[NSAutoreleasePool release] (self=0x555555582180, _cmd=<unvollständiger Typ>)
365    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSAutoreleasePool.m:979
366#65 0x0000555555556457 in main () at a-one-thread-noleak.m:67
367[::] -[MulleObjCRootObject release] @0x7ffff7f85900 Foo (0x55555555c750, #036ae7e1, 0x55555555c750)
368[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x1)
369[::] -[NSMethodSignature getArgumentTypeAtIndex:] @0x7ffff7f65ee0 NSMethodSignature (0x555555584540, #a61a7bfc, 0x2)
370[::] -[NSInvocation getArgument:atIndex:] @0x7ffff7f62720 NSInvocation (0x5555555847a0, #5b1056d9, 0x7fffffffbe80)
371[::] -[NSMethodSignature mulleSignatureTypeInfoAtIndex:] @0x7ffff7f66310 NSMethodSignature (0x555555584540, #2a7e44b7, 0x3)
372[::] -[?Foo release] @0x7ffff7e75f93 Foo (0x55555555c750, #036ae7e1, (nil))
373[::] -[Foo release] @0x5555555562b0 Foo (0x55555555c750, #036ae7e1, (nil))
374#0  -[Foo release] (self=0x55555555c750, _cmd=<unvollständiger Typ>) at a-one-thread-noleak.m:19
375#9  0x00007ffff7f61ed0 in -[NSInvocation _releaseArguments] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
376    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:340
377#14 0x00007ffff7f61bdc in -[NSInvocation dealloc] (self=0x5555555847a0, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSInvocation.m:304
378#24 0x00007ffff7f85921 in -[MulleObjCRootObject release] (self=0x5555555847a0, _cmd=<unvollständiger Typ>)
379    at /home/src/srcO/mulle-objc/MulleObjC/src/protocol/MulleObjCRootObject.m:139
380#33 0x00007ffff7f6c096 in -[NSThread dealloc] (self=0x55555555c780, _cmd=<unvollständiger Typ>) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSThread.m:216
381#43 0x00007ffff7f5c3aa in _mulle_autoreleasepointerarray_release_and_free (end=0x5555555821b0, staticStorage=0x5555555821b0, object_map=0x55555555cd38)
382    at /home/src/srcO/mulle-objc/MulleObjC/src/mulle-objc-autoreleasepointerarray-private.h:187
383#44 0x00007ffff7f59986 in releaseAllObjectsInPool (config=0x55555555ccf0, pool=0x555555582180) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSAutoreleasePool.m:860
384#45 0x00007ffff7f57bd9 in popAutoreleasePool (config=0x55555555ccf0, aPool=0x555555582180) at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSAutoreleasePool.m:897
385#46 0x00007ffff7f59bd3 in -[NSAutoreleasePool dealloc] (self=0x555555582180, _cmd=<unvollständiger Typ>)
386    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSAutoreleasePool.m:999
387#56 0x00007ffff7f59a08 in -[NSAutoreleasePool release] (self=0x555555582180, _cmd=<unvollständiger Typ>)
388    at /home/src/srcO/mulle-objc/MulleObjC/src/class/NSAutoreleasePool.m:979
389#65 0x0000555555556457 in main () at a-one-thread-noleak.m:67
390[::] -[MulleObjCRootObject release] @0x7ffff7f85900 Foo (0x55555555c750, #036ae7e1, 0x55555555c750)
391[::] -[?NSMethodSignature release] @0x7ffff7e75f93 NSMethodSignature (0x555555584540, #036ae7e1, (nil))
392[::] -[MulleObjCRootObject release] @0x7ffff7f85900 NSMethodSignature (0x555555584540, #036ae7e1, (nil))
393[==] 0x55555555c760 instance 0x55555555c780 freed ("NSThread" (c81b9c22))
394[::] -[?NSMethodSignature finalize] @0x7ffff7e75ecf NSMethodSignature (0x555555584540, #9de99ffa, 0x555555584540)
395[::] -[MulleObjCRootObject finalize] @0x7ffff7f856f0 NSMethodSignature (0x555555584540, #9de99ffa, 0x555555584540)
396[::] -[?NSMethodSignature dealloc] @0x7ffff7e75f00 NSMethodSignature (0x555555584540, #9929eb3d, 0x555555584540)
397[::] -[NSMethodSignature dealloc] @0x7ffff7f65c60 NSMethodSignature (0x555555584540, #9929eb3d, 0x555555584540)
398[==] 0x555555584520 instance 0x555555584540 freed ("NSMethodSignature" (523989f9))
399[::] -[?NSAutoreleasePool release] @0x7ffff7e75f93 NSAutoreleasePool (0x555555580140, #036ae7e1, (nil))
400[::] -[NSAutoreleasePool release] @0x7ffff7f599f0 NSAutoreleasePool (0x555555580140, #036ae7e1, (nil))
401[::] -[?NSAutoreleasePool finalize] @0x7ffff7e75ecf NSAutoreleasePool (0x555555580140, #9de99ffa, 0x555555580140)
402[::] -[NSAutoreleasePool finalize] @0x7ffff7f59a40 NSAutoreleasePool (0x555555580140, #9de99ffa, 0x555555580140)
403[::] -[?NSAutoreleasePool dealloc] @0x7ffff7e75f00 NSAutoreleasePool (0x555555580140, #9929eb3d, 0x555555580140)
404[::] -[NSAutoreleasePool dealloc] @0x7ffff7f59a50 NSAutoreleasePool (0x555555580140, #9929eb3d, 0x555555580140)
405[::] +[NSThread mulleIsMultiThreaded] @0x7ffff7f6e440 NSThread (0x555555572000, #e147c325, (nil))
406[::] -[MulleObjCRootObject mullePerformFinalize] @0x7ffff7f855e0 NSThread (0x555555573460, #1b27b85a, (nil))
407[::] -[?NSThread finalize] @0x7ffff7e75ecf NSThread (0x555555573460, #9de99ffa, 0x555555573460)
408[::] -[NSThread finalize] @0x7ffff7f6bee0 NSThread (0x555555573460, #9de99ffa, 0x555555573460)
409[::] -[NSThread mulleRunLoop] @0x7ffff7f6d200 NSThread (0x555555573460, #bf465a53, 0x555555573460)
410[::] -[MulleObjCRootObject finalize] @0x7ffff7f856f0 NSThread (0x555555573460, #9de99ffa, 0x555555573460)
411[::] -[NSThread mulleSetNameUTF8String:] @0x7ffff7f6d5b0 NSThread (0x555555573460, #89286fba, (nil))
412[::] +[NSInvocation deinitialize] @0x7ffff7f60e20 NSInvocation (0x555555570680, #62098d89, (nil))
413[::] +[NSInvocation deinitialize] @0x7ffff7f60e20 NSInvocation (0x555555570680, #62098d89, 0x555555570680)
414[==] 0x555555584780 instance 0x5555555847a0 freed ("NSInvocation" (c089c043))
415[::] +[NSThread unload] @0x7ffff7f6b930 NSThread (0x555555572000, #b6a58d22, 0x555555572000)
416[::] +[MulleObjCSingleton unload] @0x7ffff7f8b150 MulleObjCSingleton (0x555555569d10, #b6a58d22, 0x555555569d10)
417[::] -[?_MulleObjCInstantiatePlaceholder dealloc] @0x7ffff7e75f00 _MulleObjCInstantiatePlaceholder (0x55555555c720, #9929eb3d, (nil))
418[::] -[_MulleObjCInstantiatePlaceholder dealloc] @0x7ffff7f685c0 _MulleObjCInstantiatePlaceholder (0x55555555c720, #9929eb3d, (nil))
419[==] 0x55555555c700 instance 0x55555555c720 freed ("_MulleObjCInstantiatePlaceholder" (45dab2c5))
420[::] +[NSThread mulleIsMultiThreaded] @0x7ffff7f6e440 NSThread (0x555555572000, #e147c325, (nil))
421[::] -[MulleObjCRootObject retainCount] @0x7ffff7f85d20 NSThread (0x555555573460, #67a90e37, (nil))
422    : remove threadObject 0x555555573460 for thread 0x7ffff7d70740
423[::] -[?NSThread release] @0x7ffff7e75f93 NSThread (0x555555573460, #036ae7e1, 0x7ffff7c1cae0)
424[::] -[MulleObjCRootObject release] @0x7ffff7f85900 NSThread (0x555555573460, #036ae7e1, 0x7ffff7c1cae0)
425[::] -[?NSThread dealloc] @0x7ffff7e75f00 NSThread (0x555555573460, #9929eb3d, 0x555555573460)
426[::] -[NSThread dealloc] @0x7ffff7f6bfe0 NSThread (0x555555573460, #9929eb3d, 0x555555573460)
427[::] -[NSThread mulleRunLoop] @0x7ffff7f6d200 NSThread (0x555555573460, #bf465a53, 0x555555573460)
428[==] 0x555555573440 instance 0x555555573460 freed ("NSThread" (c81b9c22))
429    : free threadinfo 0x55555555cca0 of thread 0x7ffff7d70740 (#0)
430    : unset threadinfo 0x55555555cca0 of thread 0x7ffff7d70740
431### leak 0x55555555c730
432

Unfortunately gdbs commands entry is fucking clumsy, you can't copy/paste the commands in :/

 1(gdb) b -[Foo release]
 2Haltepunkt 1 at 0x22bf: file a-one-thread-noleak.m, line 19.
 3(gdb) commands 1
 4Type commands for breakpoint(s) 1, one per line.
 5End with a line saying just "end".
 6>silent
 7>backtrace
 8>continue
 9>end
10(gdb) b -[Foo autorelease]
11Haltepunkt 2 at 0x231f: file a-one-thread-noleak.m, line 31.
12(gdb) commands 2
13Type commands for breakpoint(s) 2, one per line.
14End with a line saying just "end".
15>silent
16>backtrace
17>continue
18>end
19(gdb) b -[Foo retain]
20Haltepunkt 3 at 0x22ef: file a-one-thread-noleak.m, line 25.
21(gdb) commands 3
22Type commands for breakpoint(s) 3, one per line.
23End with a line saying just "end".
24>silent
25>backtrace
26>continue
27>end
28(gdb) b -[Foo dealloc]
29Haltepunkt 4 at 0x234f: file a-one-thread-noleak.m, line 37.
30(gdb) commands 4
31Type commands for breakpoint(s) 4, one per line.
32End with a line saying just "end".
33>silent
34>backtrace
35>continue
36>end