IOSurfaceClientGetPixelFormat 处的 SIGSEGV(SEGV_ACCERR)
Posted
技术标签:
【中文标题】IOSurfaceClientGetPixelFormat 处的 SIGSEGV(SEGV_ACCERR)【英文标题】:SIGSEGV(SEGV_ACCERR) at IOSurfaceClientGetPixelFormat 【发布时间】:2020-04-09 04:30:28 【问题描述】:通过UIActivityViewController
共享文本文件时,我偶尔会遇到SIGSEGV(SEGV_ACCERR) at iosurfaceClientGetPixelFormat
崩溃(文本文件可能有几MB)。完整的堆栈跟踪是:
0 IOSurfaceClientGetPixelFormat + 0
1 CA::CG::IOSurfaceContext::create_delegate(CGIOSurfaceContextInfo const*, __CFDictionary const*) + 536
2 CGIOSurfaceContextCreate + 208
3 BSUISurfaceWithColorSpaceAndDrawBlock + 500
4 SBFCreateIOSurfaceForImage + 1060
5 -[CKRemoteItemForSending _setPreviewUIImage:] + 76
6 __46-[CKRemoteItemForSending beginPreviewCreation]_block_invoke + 204
7 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 12
8 -[NSBlockOperation main] + 80
9 __NSOPERATION_IS_INVOKING_MAIN__ + 16
10 -[NSOperation start] + 736
11 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 16
12 __NSOQSchedule_f + 176
13 _dispatch_block_async_invoke2 + 100
14 _dispatch_client_callout + 12
15 _dispatch_continuation_pop$VARIANT$mp + 408
16 _dispatch_async_redirect_invoke + 652
17 _dispatch_root_queue_drain + 372
18 _dispatch_worker_thread2 + 120
19 _pthread_wqthread + 208
20 start_wqthread + 4
UIActivityViewController
初始化传递了一个 NSURL
并且非常初级:
[[UIActivityViewController alloc] initWithActivityItems:@[[NSURL fileURLWithPath:path]] applicationActivities:nil];
崩溃偶尔会出现,尤其是在尝试通过 iPhone 上的消息应用共享文件时。知道这可能来自哪里吗?
【问题讨论】:
嗨@spassas,我看到崩溃的堆栈跟踪与您的相同。你找到解决办法了吗? 【参考方案1】:我认为你应该打印 URL 并检查它。
【讨论】:
感谢您的回答。 URL 正确 - 文件正确显示在 iOS 共享表上,此问题偶尔会发生,并且对于某些可用的共享选项以上是关于IOSurfaceClientGetPixelFormat 处的 SIGSEGV(SEGV_ACCERR)的主要内容,如果未能解决你的问题,请参考以下文章