Crash WKWebView startURLSchemeTask

When I use - webView: startURLSchemeTask: , I had some crash with iOS 14(14.1, 14.2, 14.3, 14.4).

There is the code:

- (void)webView:(WKWebView *)webView startURLSchemeTask:(id<WKURLSchemeTask>)urlSchemeTask  API_AVAILABLE(ios(11.0)){
    /// iOS 13可能有崩溃
    NSString *version = [[UIDevice currentDevice] systemVersion];
    if ([version containsString:@"13."]) {
        SEL sel = sel_registerName("_setLoadResourcesSerially:");
        id webViewClass = NSClassFromString(@"WebView");
        if ([webViewClass respondsToSelector:sel]) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
            [webViewClass performSelector:sel withObject:@(FALSE)];
#pragma clang diagnostic pop
        }
    }//fi
    
    self.holdUrlSchemeTasks[urlSchemeTask.description] = @(TRUE);
    
    SCNADHtmlPreloadContext *context = [[SCNADHtmlPreloadContext alloc] init];
    context.requestURL = [urlSchemeTask.request.URL.absoluteString copy]; // line 50
    context.request = [urlSchemeTask.request copy];
    
   // todo with context
  ......
}

- (void)webView:(WKWebView *)webView stopURLSchemeTask:(id<WKURLSchemeTask>)urlSchemeTask  API_AVAILABLE(ios(11.0)){
    dispatch_async(dispatch_get_main_queue(), ^{
        self.holdUrlSchemeTasks[urlSchemeTask.description] = @(FALSE);
    });
}

There is the crash info:

#0 Thread
SIGSEGV
SEGV_ACCERR



WebCore
void ***::__visitor_table<***::Visitor<WebCore::FormData::resolveBlobReferences(WebCore::BlobRegistryImpl*)::$_8, WebCore::FormData::resolveBlobReferences(WebCore::BlobRegistryImpl*)::$_9, WebCore::FormData::resolveBlobReferences(WebCore::BlobRegistryImpl*)::$_10>, ***::Vector<char, 0ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>, WebCore::FormDataElement::EncodedFileData, WebCore::FormDataElement::EncodedBlobData>::__trampoline_func<WebCore::FormDataElement::EncodedBlobData>(***::Visitor<WebCore::FormData::resolveBlobReferences(WebCore::BlobRegistryImpl*)::$_8, WebCore::FormData::resolveBlobReferences(WebCore::BlobRegistryImpl*)::$_9, WebCore::FormData::resolveBlobReferences(WebCore::BlobRegistryImpl*)::$_10>&, ***::Variant<***::Vector<char, 0ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>, WebCore::FormDataElement::EncodedFileData, WebCore::FormDataElement::EncodedBlobData>&) + 68

WebKit::WebURLSchemeTask::nsRequest() const + 68

-[SNADURLSchemeHandler webView:startURLSchemeTask:] (SNADURLSchemeHandler.m:50)

Who knows the reason, please help me, thanks!

Crash WKWebView startURLSchemeTask
 
 
Q