在 nib 中加载 IKImageBrowserViews 时,10.5 上偶尔会崩溃

发布于 2024-10-06 22:42:13 字数 8252 浏览 0 评论 0原文

我的应用程序遇到了一个奇怪的崩溃问题,该问题仅发生在 10.5 上。它不会一直发生,但它会在启动时发生,似乎是在笔尖加载时发生。 (BWTransparentScrollView出现在崩溃报告中,但崩溃发生在initWithCoder:中,如果我从项目中删除BWToolkit,我仍然可以触发崩溃。)

事实上,我的笔尖中的两个IKImageBrowserView对象似乎有问题。如果我从笔尖中删除它们,崩溃似乎永远不会发生(尽管我的 UI 很混乱,因为这两个视图对于界面来说是必不可少的)。

Interface Builder 不会通知我 IKImageBrowserViews 的任何问题。

以下是此问题的典型崩溃报告:

    Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  0

Application Specific Information:
objc[22521]: garbage collection is ON
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString objectForKey:]: unrecognized selector sent to instance 0x7fff704d15d0'

Thread 0 Crashed:
0   libSystem.B.dylib               0x00007fff81da5f16 __kill + 10
1   libstdc++.6.dylib               0x00007fff80b82085 dyld_stub__Unwind_DeleteException + 0
2   libobjc.A.dylib                 0x00007fff80a4cadf _objc_terminate + 102
3   libstdc++.6.dylib               0x00007fff80b80425 __gxx_personality_v0 + 1259
4   libstdc++.6.dylib               0x00007fff80b8045b std::terminate() + 19
5   libstdc++.6.dylib               0x00007fff80b8054c __cxa_rethrow + 0
6   libobjc.A.dylib                 0x00007fff80a4c966 objc_exception_rethrow + 0
7   com.apple.CoreFoundation        0x00007fff8218645b -[NSObject doesNotRecognizeSelector:] + 171
8   com.apple.CoreFoundation        0x00007fff82184ae4 ___forwarding___ + 756
9   com.apple.CoreFoundation        0x00007fff82184c38 _CF_forwarding_prep_0 + 232
10  com.apple.CoreText              0x00007fff839f0f43 TDescriptor::CreateMatchingDescriptorInternal(__CFSet const*) const + 237
11  com.apple.CoreText              0x00007fff839f0dd0 TDescriptor::InitBaseFont() + 30
12  com.apple.CoreText              0x00007fff839f0d59 TDescriptor::CreateMatchingDescriptor(__CFSet const*) const + 47
13  com.apple.AppKit                0x00007fff842df2d3 __NSFontFactoryWithName + 412
14  com.apple.AppKit                0x00007fff842df075 +[NSFont fontWithName:size:] + 51
15  com.apple.imageKit              0x00000001000d246b -[IKImageBrowserView _setDefaultTextAttributes] + 288
16  com.apple.imageKit              0x00000001000d2936 -[IKImageBrowserView setAppearanceStyle:] + 42
17  com.apple.imageKit              0x00000001000d0a88 -[IKImageBrowserView _ikCommonInit] + 2122
18  com.apple.imageKit              0x00000001000d1470 -[IKImageBrowserView initWithCoder:] + 76
19  com.apple.AppKit                0x00007fff8423f750 -[NSClassSwapper initWithCoder:] + 483
20  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
21  com.apple.Foundation            0x00007fff80bc7b33 -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1363
22  com.apple.Foundation            0x00007fff80bc7f91 -[NSArray(NSArray) initWithCoder:] + 385
23  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
24  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
25  com.apple.AppKit                0x00007fff841fe77a -[NSView initWithCoder:] + 367
26  com.apple.AppKit                0x00007fff842406a0 -[NSClipView initWithCoder:] + 55
27  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
28  com.apple.Foundation            0x00007fff80bc7b33 -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1363
29  com.apple.Foundation            0x00007fff80bc7f91 -[NSArray(NSArray) initWithCoder:] + 385
30  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
31  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
32  com.apple.AppKit                0x00007fff841fe77a -[NSView initWithCoder:] + 367
33  com.apple.AppKit                0x00007fff84240edd -[NSScrollView initWithCoder:] + 127
34  ...onwalkin.BWToolkitFramework  0x00000001003bcb7d -[BWTransparentScrollView initWithCoder:] + 41
35  com.apple.AppKit                0x00007fff8423f750 -[NSClassSwapper initWithCoder:] + 483
36  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
37  com.apple.Foundation            0x00007fff80bc7b33 -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1363
38  com.apple.Foundation            0x00007fff80bc7f91 -[NSArray(NSArray) initWithCoder:] + 385
39  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
40  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
41  com.apple.AppKit                0x00007fff841fe77a -[NSView initWithCoder:] + 367
42  com.apple.AppKit                0x00007fff841ffc92 -[NSCustomView initWithCoder:] + 651
43  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
44  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
45  com.apple.AppKit                0x00007fff841f8928 -[NSNibConnector initWithCoder:] + 409
46  com.apple.AppKit                0x00007fff841fd404 -[NSNibOutletConnector initWithCoder:] + 350
47  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
48  com.apple.Foundation            0x00007fff80bc7b33 -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1363
49  com.apple.Foundation            0x00007fff80bc7f91 -[NSArray(NSArray) initWithCoder:] + 385
50  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
51  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
52  com.apple.AppKit                0x00007fff841f784c -[NSIBObjectData initWithCoder:] + 2014
53  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
54  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
55  com.apple.AppKit                0x00007fff841f6f55 loadNib + 156
56  com.apple.AppKit                0x00007fff841f698d +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 836
57  com.apple.AppKit                0x00007fff841f6568 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 355
58  com.apple.AppKit                0x00007fff841f6299 NSApplicationMain + 286
59  ...ittleappfactory.Tagalicious  0x00000001000015cc start + 52

Thread 1:
0   libauto.dylib                   0x00007fff83fcfaae Auto::MemoryScanner::scan_range(Auto::Range const&, Auto::WriteBarrier*) + 366
1   libauto.dylib                   0x00007fff83fbe3df Auto::WriteBarrier::scan_ranges(void*, unsigned long, Auto::MemoryScanner&) + 607
2   libauto.dylib                   0x00007fff83fd10c7 bool Auto::visitAllocatedBlocks<Auto::scan_retained_and_old_blocks_visitor>(Auto::Zone*, Auto::scan_retained_and_old_blocks_visitor&) + 343
3   libauto.dylib                   0x00007fff83fd080d Auto::MemoryScanner::scan_retained_and_old_blocks() + 29
4   libauto.dylib                   0x00007fff83fc95d7 Auto::Collector::check_roots() + 23
5   libauto.dylib                   0x00007fff83fd0b0d Auto::MemoryScanner::scan() + 45
6   libauto.dylib                   0x00007fff83fc0a40 Auto::Zone::collect(bool, void*, unsigned long long*) + 496
7   libauto.dylib                   0x00007fff83fae8fd auto_collect_internal(Auto::Zone*, unsigned int) + 381
8   libauto.dylib                   0x00007fff83faf3b0 auto_collection_thread(void*) + 112
9   libSystem.B.dylib               0x00007fff81d6ce8f _pthread_start + 316
10  libSystem.B.dylib               0x00007fff81d6cd51 thread_start + 13

Thread 2:
0   libSystem.B.dylib               0x00007fff81d45da2 __semwait_signal + 10
1   libGLProgrammability.dylib      0x00007fff826d057b glvmDoWork + 155
2   libSystem.B.dylib               0x00007fff81d6ce8f _pthread_start + 316
3   libSystem.B.dylib               0x00007fff81d6cd51 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00007fff702717d8  rcx: 0x00007fff5fbfb628  rdx: 0x0000000000000000
  rdi: 0x00000000000057f9  rsi: 0x0000000000000006  rbp: 0x00007fff5fbfb640  rsp: 0x00007fff5fbfb628
   r8: 0x00007fff5fbfb1b0   r9: 0x0000000000000000  r10: 0x00007fff81d7de36  r11: 0x0000000000000206
  r12: 0x00007fff821aea28  r13: 0x0000000000000000  r14: 0x00007fff80a56d00  r15: 0x00007fff7032d0a0
  rip: 0x00007fff81da5f16  rfl: 0x0000000000000206  cr2: 0x00007fff70093028

知道会发生什么吗?

I'm having a weird crashing problem with my app that only happens on 10.5. It doesn't happen all the time, but it happens on startup, seemingly when the nib is loading. (BWTransparentScrollView appears in the crash report, but the crash there happens in initWithCoder:, and I can still trigger the crash if I remove BWToolkit from my project.)

In fact, it seems there's a problem with the two IKImageBrowserView objects in my nib. If I delete them from the nib, the crash seems to never happen (although my UI is messed up because these two views are essential to the interface).

Interface Builder doesn't notify me of any problems with the IKImageBrowserViews.

Below is a typical crash report for this problem:

    Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  0

Application Specific Information:
objc[22521]: garbage collection is ON
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString objectForKey:]: unrecognized selector sent to instance 0x7fff704d15d0'

Thread 0 Crashed:
0   libSystem.B.dylib               0x00007fff81da5f16 __kill + 10
1   libstdc++.6.dylib               0x00007fff80b82085 dyld_stub__Unwind_DeleteException + 0
2   libobjc.A.dylib                 0x00007fff80a4cadf _objc_terminate + 102
3   libstdc++.6.dylib               0x00007fff80b80425 __gxx_personality_v0 + 1259
4   libstdc++.6.dylib               0x00007fff80b8045b std::terminate() + 19
5   libstdc++.6.dylib               0x00007fff80b8054c __cxa_rethrow + 0
6   libobjc.A.dylib                 0x00007fff80a4c966 objc_exception_rethrow + 0
7   com.apple.CoreFoundation        0x00007fff8218645b -[NSObject doesNotRecognizeSelector:] + 171
8   com.apple.CoreFoundation        0x00007fff82184ae4 ___forwarding___ + 756
9   com.apple.CoreFoundation        0x00007fff82184c38 _CF_forwarding_prep_0 + 232
10  com.apple.CoreText              0x00007fff839f0f43 TDescriptor::CreateMatchingDescriptorInternal(__CFSet const*) const + 237
11  com.apple.CoreText              0x00007fff839f0dd0 TDescriptor::InitBaseFont() + 30
12  com.apple.CoreText              0x00007fff839f0d59 TDescriptor::CreateMatchingDescriptor(__CFSet const*) const + 47
13  com.apple.AppKit                0x00007fff842df2d3 __NSFontFactoryWithName + 412
14  com.apple.AppKit                0x00007fff842df075 +[NSFont fontWithName:size:] + 51
15  com.apple.imageKit              0x00000001000d246b -[IKImageBrowserView _setDefaultTextAttributes] + 288
16  com.apple.imageKit              0x00000001000d2936 -[IKImageBrowserView setAppearanceStyle:] + 42
17  com.apple.imageKit              0x00000001000d0a88 -[IKImageBrowserView _ikCommonInit] + 2122
18  com.apple.imageKit              0x00000001000d1470 -[IKImageBrowserView initWithCoder:] + 76
19  com.apple.AppKit                0x00007fff8423f750 -[NSClassSwapper initWithCoder:] + 483
20  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
21  com.apple.Foundation            0x00007fff80bc7b33 -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1363
22  com.apple.Foundation            0x00007fff80bc7f91 -[NSArray(NSArray) initWithCoder:] + 385
23  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
24  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
25  com.apple.AppKit                0x00007fff841fe77a -[NSView initWithCoder:] + 367
26  com.apple.AppKit                0x00007fff842406a0 -[NSClipView initWithCoder:] + 55
27  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
28  com.apple.Foundation            0x00007fff80bc7b33 -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1363
29  com.apple.Foundation            0x00007fff80bc7f91 -[NSArray(NSArray) initWithCoder:] + 385
30  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
31  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
32  com.apple.AppKit                0x00007fff841fe77a -[NSView initWithCoder:] + 367
33  com.apple.AppKit                0x00007fff84240edd -[NSScrollView initWithCoder:] + 127
34  ...onwalkin.BWToolkitFramework  0x00000001003bcb7d -[BWTransparentScrollView initWithCoder:] + 41
35  com.apple.AppKit                0x00007fff8423f750 -[NSClassSwapper initWithCoder:] + 483
36  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
37  com.apple.Foundation            0x00007fff80bc7b33 -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1363
38  com.apple.Foundation            0x00007fff80bc7f91 -[NSArray(NSArray) initWithCoder:] + 385
39  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
40  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
41  com.apple.AppKit                0x00007fff841fe77a -[NSView initWithCoder:] + 367
42  com.apple.AppKit                0x00007fff841ffc92 -[NSCustomView initWithCoder:] + 651
43  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
44  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
45  com.apple.AppKit                0x00007fff841f8928 -[NSNibConnector initWithCoder:] + 409
46  com.apple.AppKit                0x00007fff841fd404 -[NSNibOutletConnector initWithCoder:] + 350
47  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
48  com.apple.Foundation            0x00007fff80bc7b33 -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1363
49  com.apple.Foundation            0x00007fff80bc7f91 -[NSArray(NSArray) initWithCoder:] + 385
50  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
51  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
52  com.apple.AppKit                0x00007fff841f784c -[NSIBObjectData initWithCoder:] + 2014
53  com.apple.Foundation            0x00007fff80bc631e _decodeObjectBinary + 1214
54  com.apple.Foundation            0x00007fff80bc5de4 _decodeObject + 244
55  com.apple.AppKit                0x00007fff841f6f55 loadNib + 156
56  com.apple.AppKit                0x00007fff841f698d +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 836
57  com.apple.AppKit                0x00007fff841f6568 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 355
58  com.apple.AppKit                0x00007fff841f6299 NSApplicationMain + 286
59  ...ittleappfactory.Tagalicious  0x00000001000015cc start + 52

Thread 1:
0   libauto.dylib                   0x00007fff83fcfaae Auto::MemoryScanner::scan_range(Auto::Range const&, Auto::WriteBarrier*) + 366
1   libauto.dylib                   0x00007fff83fbe3df Auto::WriteBarrier::scan_ranges(void*, unsigned long, Auto::MemoryScanner&) + 607
2   libauto.dylib                   0x00007fff83fd10c7 bool Auto::visitAllocatedBlocks<Auto::scan_retained_and_old_blocks_visitor>(Auto::Zone*, Auto::scan_retained_and_old_blocks_visitor&) + 343
3   libauto.dylib                   0x00007fff83fd080d Auto::MemoryScanner::scan_retained_and_old_blocks() + 29
4   libauto.dylib                   0x00007fff83fc95d7 Auto::Collector::check_roots() + 23
5   libauto.dylib                   0x00007fff83fd0b0d Auto::MemoryScanner::scan() + 45
6   libauto.dylib                   0x00007fff83fc0a40 Auto::Zone::collect(bool, void*, unsigned long long*) + 496
7   libauto.dylib                   0x00007fff83fae8fd auto_collect_internal(Auto::Zone*, unsigned int) + 381
8   libauto.dylib                   0x00007fff83faf3b0 auto_collection_thread(void*) + 112
9   libSystem.B.dylib               0x00007fff81d6ce8f _pthread_start + 316
10  libSystem.B.dylib               0x00007fff81d6cd51 thread_start + 13

Thread 2:
0   libSystem.B.dylib               0x00007fff81d45da2 __semwait_signal + 10
1   libGLProgrammability.dylib      0x00007fff826d057b glvmDoWork + 155
2   libSystem.B.dylib               0x00007fff81d6ce8f _pthread_start + 316
3   libSystem.B.dylib               0x00007fff81d6cd51 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00007fff702717d8  rcx: 0x00007fff5fbfb628  rdx: 0x0000000000000000
  rdi: 0x00000000000057f9  rsi: 0x0000000000000006  rbp: 0x00007fff5fbfb640  rsp: 0x00007fff5fbfb628
   r8: 0x00007fff5fbfb1b0   r9: 0x0000000000000000  r10: 0x00007fff81d7de36  r11: 0x0000000000000206
  r12: 0x00007fff821aea28  r13: 0x0000000000000000  r14: 0x00007fff80a56d00  r15: 0x00007fff7032d0a0
  rip: 0x00007fff81da5f16  rfl: 0x0000000000000206  cr2: 0x00007fff70093028

Any idea what could be happening?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春花秋月 2024-10-13 22:42:14

啊。我尝试了很多方法来尝试解决这个问题。我尝试从头开始重新创建新的 IKImageBrowserViews(以防 xib 文件本身因某种原因损坏)。我尝试确保我的自定义 IKImageBrowserView 类(我在 Interface Builder 中设置了它们的类)不会导致问题。

最后,我从 xib 中删除了 IKImageBrowserViews 并以编程方式创建了它们。 10.5 上的崩溃消失了。这并不是太难,但它似乎是解决启动崩溃的唯一解决方案。

Ugh. I tried a bunch of things to try and fix this problem. I tried recreating new IKImageBrowserViews from scratch (in case the xib file itself was somehow damaged). I tried making sure that my custom IKImageBrowserView classes (I set their classes in Interface Builder) were not causing the problem.

In the end, I deleted the IKImageBrowserViews from the xib and created them both programatically. The crashes on 10.5 disappeared. It wasn't too hard, but it was the only solution that seemed to fix the on-launch crashes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文