{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/xctool/issues/596","labels_url":"https://api.github.com/repos/facebook/xctool/issues/596/labels{/name}","comments_url":"https://api.github.com/repos/facebook/xctool/issues/596/comments","events_url":"https://api.github.com/repos/facebook/xctool/issues/596/events","html_url":"https://github.com/facebook/xctool/issues/596","id":108317754,"number":596,"title":"Recursive call to ProcessTestOutputWriteBytes causes eventual crash","user":{"login":"jimix","id":727026,"avatar_url":"https://avatars.githubusercontent.com/u/727026?v=3","gravatar_id":"","url":"https://api.github.com/users/jimix","html_url":"https://github.com/jimix","followers_url":"https://api.github.com/users/jimix/followers","following_url":"https://api.github.com/users/jimix/following{/other_user}","gists_url":"https://api.github.com/users/jimix/gists{/gist_id}","starred_url":"https://api.github.com/users/jimix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jimix/subscriptions","organizations_url":"https://api.github.com/users/jimix/orgs","repos_url":"https://api.github.com/users/jimix/repos","events_url":"https://api.github.com/users/jimix/events{/privacy}","received_events_url":"https://api.github.com/users/jimix/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/facebook/xctool/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-09-25T12:38:22Z","updated_at":"2015-10-26T14:27:44Z","closed_at":null,"body":"Thread 0 appears to be stuck in some recursion ultimately causing the crash.\r\n\r\nxctool version: master (99282fee)\r\nxcode version: Version 7.0 (7A220)\r\noutput:\r\n```\r\nTest crashed while running.\r\n\r\nCRASH REPORT: xctest_2015-09-25-072405_freakazoid.crash\r\n\r\nProcess:               xctest [23642]\r\nPath:                  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Developer/usr/bin/xctest\r\nIdentifier:            xctest\r\nVersion:               8151.8\r\nCode Type:             X86-64 (Native)\r\nParent Process:        simctl [23641]\r\nResponsible:           Emacs-x86_64-10_9 [4216]\r\nUser ID:               2027645976\r\n\r\nDate/Time:             2015-09-25 07:24:03.651 -0500\r\nOS Version:            Mac OS X 10.10.5 (14F27)\r\nReport Version:        11\r\nAnonymous UUID:        E33D424A-F482-3ED6-3E25-57AD8263A618\r\n\r\nSleep/Wake UUID:       87FE5AB8-CF9E-4410-9332-341F652F1DD0\r\n\r\nTime Awake Since Boot: 2200000 seconds\r\nTime Since Wake:       2900 seconds\r\n\r\nCrashed Thread:        1  Dispatch queue: com.apple.libdispatch-manager\r\n\r\nException Type:        EXC_CRASH (SIGSEGV)\r\nException Codes:       0x0000000000000000, 0x0000000000000000\r\n\r\nApplication Specific Information:\r\nCoreSimulator 179 - Device: iPhone 5s - Runtime: iOS 9.0 (13A340) - DeviceType: iPhone 5s\r\n\r\nThread 0:: Dispatch queue: com.apple.main-thread\r\n0   libsystem_c.dylib             \t0x000000010a85fca5 __sfvwrite + 459\r\n1   libsystem_c.dylib             \t0x000000010a86a573 __vfprintf + 16984\r\n2   libsystem_c.dylib             \t0x000000010a88f49d __v2printf + 609\r\n3   libsystem_c.dylib             \t0x000000010a865e40 _vasprintf + 569\r\n4   libsystem_c.dylib             \t0x000000010a85ceff asprintf + 201\r\n5   libobjc.A.dylib               \t0x0000000108434884 _objc_fatal(char const*, ...) + 172\r\n6   libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n7   libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n8   libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n9   otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n10  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n11  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n12  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n13  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n14  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n15  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n16  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n17  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n18  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n19  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n20  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n21  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n22  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n23  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n24  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n25  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n26  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n27  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n28  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n29  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n30  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n31  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n32  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n33  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n34  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n35  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n36  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n37  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n38  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n39  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n40  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n41  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n42  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n43  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n44  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n45  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n46  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n47  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n48  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n49  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n50  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n51  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n52  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n53  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n54  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n55  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n56  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n57  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n58  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n59  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n60  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n61  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n62  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n63  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n64  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n65  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n66  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n67  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n68  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n69  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n70  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n71  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n72  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n73  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n74  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n75  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n76  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n77  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n78  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n79  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n80  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n81  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n82  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n83  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n84  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n85  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n86  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n87  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n88  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n89  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n90  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n91  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n92  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n93  otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n94  otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n95  libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n96  libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n97  libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n98  libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n99  libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n100 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n101 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n102 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n103 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n104 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n105 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n106 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n107 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n108 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n109 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n110 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n111 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n112 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n113 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n114 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n115 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n116 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n117 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n118 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n119 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n120 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n121 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n122 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n123 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n124 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n125 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n126 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n127 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n128 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n129 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n130 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n131 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n132 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n133 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n134 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n135 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n136 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n137 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n138 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n139 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n140 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n141 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n142 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n143 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n144 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n145 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n146 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n147 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n148 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n149 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n150 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n151 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n152 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n153 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n154 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n155 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n156 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n157 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n158 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n159 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n160 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n161 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n162 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n163 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n164 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n165 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n166 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n167 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n168 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n169 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n170 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n171 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n172 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n173 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n174 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n175 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n176 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n177 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n178 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n179 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n180 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n181 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n182 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n183 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n184 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n185 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n186 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n187 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n188 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n189 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n190 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n191 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n192 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n193 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n194 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n195 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n196 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n197 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n198 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n199 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n200 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n201 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n202 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n203 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n204 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n205 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n206 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n207 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n208 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n209 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n210 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n211 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n212 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n213 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n214 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n215 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n216 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n217 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n218 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n219 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n220 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n221 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n222 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n223 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n224 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n225 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n226 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n227 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n228 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n229 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n230 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n231 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n232 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n233 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n234 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n235 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n236 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n237 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n238 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n239 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n240 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n241 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n242 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n243 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n244 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n245 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n246 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n247 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n248 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n249 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n250 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n251 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n252 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n253 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n254 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n255 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n256 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n257 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n258 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n259 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n260 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n261 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n262 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n263 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n264 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n265 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n266 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n267 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n268 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n269 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n270 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n271 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n272 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n273 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n274 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n275 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n276 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n277 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n278 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n279 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n280 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n281 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n282 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n283 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n284 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n285 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n286 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n287 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n288 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n289 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n290 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n291 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n292 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n293 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n294 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n295 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n296 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n297 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n298 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n299 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n300 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n301 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n302 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n303 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n304 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n305 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n306 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n307 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n308 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n309 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n310 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n311 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n312 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n313 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n314 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n315 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n316 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n317 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n318 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n319 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n320 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n321 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n322 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n323 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n324 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n325 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n326 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n327 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n328 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n329 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n330 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n331 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n332 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n333 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n334 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n335 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n336 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n337 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n338 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n339 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n340 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n341 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n342 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n343 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n344 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n345 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n346 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n347 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n348 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n349 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n350 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n351 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n352 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n353 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n354 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n355 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n356 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n357 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n358 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n359 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n360 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n361 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n362 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n363 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n364 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n365 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n366 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n367 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n368 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n369 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n370 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n371 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n372 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n373 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n374 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n375 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n376 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n377 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n378 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n379 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n380 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n381 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n382 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n383 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n384 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n385 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n386 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n387 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n388 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n389 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n390 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n391 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n392 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n393 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n394 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n395 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n396 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n397 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n398 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n399 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n400 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n401 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n402 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n403 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n404 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n405 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n406 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n407 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n408 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n409 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n410 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n411 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n412 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n413 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n414 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n415 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n416 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n417 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n418 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n419 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n420 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n421 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n422 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n423 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n424 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n425 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n426 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n427 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n428 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n429 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n430 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n431 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n432 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n433 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n434 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n435 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n436 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n437 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n438 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n439 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n440 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n441 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n442 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n443 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n444 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n445 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n446 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n447 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n448 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n449 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n450 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n451 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n452 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n453 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n454 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n455 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n456 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n457 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n458 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n459 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n460 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n461 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n462 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n463 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n464 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n465 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n466 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n467 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n468 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n469 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n470 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n471 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n472 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n473 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n474 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n475 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n476 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n477 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n478 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n479 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n480 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n481 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n482 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n483 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n484 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n485 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n486 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n487 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n488 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n489 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n490 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n491 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n492 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n493 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n494 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n495 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n496 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n497 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n498 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n499 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n500 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n501 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n502 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n503 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n504 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n505 libobjc.A.dylib               \t0x000000010844a8bb objc_msgSend + 187\r\n506 otest-shim-ios.dylib          \t0x00000001079f7b8a ProcessTestOutputWriteBytes + 102 (otest-shim.m:486)\r\n507 otest-shim-ios.dylib          \t0x00000001079f71b5 __write + 51 (otest-shim.m:545)\r\n508 libobjc.A.dylib               \t0x00000001084345f4 _objc_syslog(char const*) + 131\r\n509 libobjc.A.dylib               \t0x000000010843488d _objc_fatal(char const*, ...) + 181\r\n510 libobjc.A.dylib               \t0x000000010843f6a3 rwlock_tt<false>::read() + 141\r\n511 libobjc.A.dylib               \t0x000000010843bd2f lookUpImpOrForward + 188\r\n\r\nThread 1 Crashed:: Dispatch queue: com.apple.libdispatch-manager\r\n0   libsystem_kernel.dylib        \t0x000000010ab0e232 kevent64 + 10\r\n1   libdispatch.dylib             \t0x000000010a79865a _dispatch_mgr_thread + 54\r\n\r\nThread 2:\r\n0   libsystem_kernel.dylib        \t0x000000010ab0d94a __workq_kernreturn + 10\r\n1   libsystem_pthread.dylib       \t0x000000010aad23dd start_wqthread + 13\r\n\r\nThread 3:\r\n0   libsystem_kernel.dylib        \t0x000000010ab0d94a __workq_kernreturn + 10\r\n1   libsystem_pthread.dylib       \t0x000000010aad23dd start_wqthread + 13\r\n\r\nThread 4:\r\n0   libsystem_kernel.dylib        \t0x000000010ab0d94a __workq_kernreturn + 10\r\n1   libsystem_pthread.dylib       \t0x000000010aad23dd start_wqthread + 13\r\n\r\nThread 5:\r\n0   libsystem_kernel.dylib        \t0x000000010ab0d94a __workq_kernreturn + 10\r\n1   libsystem_pthread.dylib       \t0x000000010aad23dd start_wqthread + 13\r\n\r\nThread 1 crashed with X86 Thread State (64-bit):\r\n  rax: 0x0000000000000004  rbx: 0x0000000000000000  rcx: 0x0000000111dac5b8  rdx: 0x0000000000000000\r\n  rdi: 0x0000000000000005  rsi: 0x0000000000000000  rbp: 0x0000000111dac640  rsp: 0x0000000111dac5b8\r\n   r8: 0x0000000000000001   r9: 0x0000000000000000  r10: 0x0000000111dac5d0  r11: 0x0000000000000246\r\n  r12: 0x000000010a7b1400  r13: 0x000000010a7a9a28  r14: 0x0000000111dac5d0  r15: 0x0000000111dac600\r\n  rip: 0x000000010ab0e232  rfl: 0x0000000000000247  cr2: 0x000000010a9f9190\r\n  \r\nLogical CPU:     0\r\nError Code:      0x02000171\r\nTrap Number:     133\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/facebook/xctool/issues/comments/151155003","html_url":"https://github.com/facebook/xctool/issues/596#issuecomment-151155003","issue_url":"https://api.github.com/repos/facebook/xctool/issues/596","id":151155003,"user":{"login":"jimix","id":727026,"avatar_url":"https://avatars.githubusercontent.com/u/727026?v=3","gravatar_id":"","url":"https://api.github.com/users/jimix","html_url":"https://github.com/jimix","followers_url":"https://api.github.com/users/jimix/followers","following_url":"https://api.github.com/users/jimix/following{/other_user}","gists_url":"https://api.github.com/users/jimix/gists{/gist_id}","starred_url":"https://api.github.com/users/jimix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jimix/subscriptions","organizations_url":"https://api.github.com/users/jimix/orgs","repos_url":"https://api.github.com/users/jimix/repos","events_url":"https://api.github.com/users/jimix/events{/privacy}","received_events_url":"https://api.github.com/users/jimix/received_events","type":"User","site_admin":false},"created_at":"2015-10-26T14:27:44Z","updated_at":"2015-10-26T14:27:44Z","body":"Here is test code that reproduces my specific scenario:\r\n```objc\r\n#import <objc/runtime.h>\r\n- (void)testCauseObjCInternalWarning\r\n{\r\n    const IMP BaseClass_1 = (IMP) 1;\r\n    const IMP BaseClass_2 = (IMP) 2;\r\n    const IMP BaseClass_3 = (IMP) 3;\r\n    const IMP BaseClass_4 = (IMP) 4;\r\n    const IMP SubClass_5 = (IMP) 5;\r\n    const IMP SubClass_6 = (IMP) 6;\r\n    Class baseClass;\r\n    Class subClass;\r\n\r\n    // The `nil` in this call will cause the ObjC runtime to emit a warning message.\r\n    // Changing the `nil` to `[NSObject class]` fixes things and stops the warning\r\n    baseClass = objc_allocateClassPair(nil, \"TestBaseClass\", 0);\r\n    class_addMethod(baseClass, @selector(method_1), BaseClass_1, \"v@:\");\r\n    class_addMethod(object_getClass(baseClass), @selector(method_2), BaseClass_2, \"v@:\");\r\n    class_addMethod(baseClass, @selector(method_3), BaseClass_3, \"v@:\");\r\n    class_addMethod(object_getClass(baseClass), @selector(method_4), BaseClass_4, \"v@:\");\r\n    objc_registerClassPair(baseClass);\r\n\r\n    subClass = objc_allocateClassPair(baseClass, \"TestSubclass\", 0);\r\n    class_addMethod(subClass, @selector(method_5), SubClass_5, \"v@:\");\r\n    class_addMethod(object_getClass(subClass), @selector(method_6), SubClass_6, \"v@:\");\r\n    objc_registerClassPair(subClass);\r\n\r\n    objc_disposeClassPair(subClass);\r\n    objc_disposeClassPair(baseClass);\r\n}\r\n```\r\nShould see the following in output:\r\n```\r\nobjc[72932]: objc_disposeClassPair: class 'TestBaseClass' still has subclasses, including 'TestBaseClass'!\r\n```\r\n\r\nSadly, adding this as a formal test case looks like a little more work then I'm able to do at the moment.\r\n\r\n"}}