Bug 17948
Summary: | Exception in -[WebDataSource webArchive] | ||
---|---|---|---|
Product: | WebKit | Reporter: | Michael Tsai <mjt> |
Component: | WebKit API | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | beidson, ddkilzer |
Priority: | P2 | ||
Version: | 523.x (Safari 3) | ||
Hardware: | Mac | ||
OS: | OS X 10.5 |
Michael Tsai
I've seen several cases where WebKit raises an exception:
-[NSCFArray insertObject:atIndex:]: attempt to insert nil
when my code calls [[[webView mainFrame] dataSource] webArchive]. I've been able to reproduce this only rarely on my Mac, but I have a customer for whom it happens 100% of the time, no matter the page.
As far as I can tell, the exception is being raised in -[WebDataSource subresources]. It looks like the WebResource that's being created in the loop is returning nil from its -init method. While there may be an interesting and significant reason for that, I suggest that -subresources refrain from adding nil objects to the array so that at least a partial Web archive can be returned.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
David Kilzer (:ddkilzer)
Does your customer have any third-party "extensions" (haxies, input managers, etc.) installed for Safari?
Michael Tsai
No.
David Kilzer (:ddkilzer)
Could you have the customer recreate the crash and post a crash log to this bug? If you would prefer not to post a crash log of your application here, please create a bug using <https://bugreport.apple.com/> and report the 7-digit bug number here.
Michael Tsai
It's not crashing for the customer, just raising an exception that's caught in my code.
David Kilzer (:ddkilzer)
(In reply to comment #4)
> It's not crashing for the customer, just raising an exception that's caught in
> my code.
Is there any way you could provide a stack trace when the exception is caught? Can you provide a reproducible test case using a local copy of the customer's web page?
BTW, what revision(s) of WebKit are you using? Does this work on a nightly WebKit build?
After re-reading the description, this sounds related to Bug 22466. I think the code in WebKit -[WebDataSource subresources] has moved to DocumentLoader::subresources() in tip-of-tree (ToT) WebKit, though.
Michael Tsai
One of the problem Web pages was:
http://www.faqts.com/knowledge_base/index.phtml/fid/199/
I am no longer able to reproduce the problem using the WebKit from Safari 3.2.1.
David Kilzer (:ddkilzer)
(In reply to comment #6)
> One of the problem Web pages was:
>
> http://www.faqts.com/knowledge_base/index.phtml/fid/199/
>
> I am no longer able to reproduce the problem using the WebKit from Safari
> 3.2.1.
Can this bug be closed then?
Michael Tsai
Yes.
David Kilzer (:ddkilzer)
See also Bug 17151.
Closing per Comment #8.