Bug 174205 - Crash under WebResourceLoadStatisticsStore::persistentStoragePath(WTF::String const&)
Summary: Crash under WebResourceLoadStatisticsStore::persistentStoragePath(WTF::String...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-07-06 09:52 PDT by Chris Dumez
Modified: 2017-07-06 12:22 PDT (History)
6 users (show)

See Also:


Attachments
Patch (6.63 KB, patch)
2017-07-06 09:54 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (6.63 KB, patch)
2017-07-06 10:00 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (6.63 KB, patch)
2017-07-06 10:07 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (6.66 KB, patch)
2017-07-06 11:31 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2017-07-06 09:52:51 PDT
Crash under WebResourceLoadStatisticsStore::persistentStoragePath(WTF::String const&):
27 WebKit: WebKit::WebResourceLoadStatisticsStore::persistentStoragePath(WTF::String const&) const <==
        27 WebKit: WebKit::WebResourceLoadStatisticsStore::createDecoderFromDisk(WTF::String const&) const
          27 WebKit: WebKit::WebResourceLoadStatisticsStore::createDecoderFromDisk(WTF::String const&) const
            27 WebKit: WebKit::WebResourceLoadStatisticsStore::refreshFromDisk()
              27 libdispatch.dylib: _dispatch_client_callout
                24 libdispatch.dylib: _dispatch_continuation_pop$VARIANT$mp
                | 24 libdispatch.dylib: _dispatch_source_invoke$VARIANT$mp
                |   24 libdispatch.dylib: _dispatch_queue_serial_drain$VARIANT$mp
                |     24 libdispatch.dylib: _dispatch_queue_invoke$VARIANT$mp
                |       24 libdispatch.dylib: _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp
                |         24 libdispatch.dylib: _dispatch_workloop_worker_thread$VARIANT$mp
                |           24 libsystem_pthread.dylib: _pthread_wqthread
                |             24 libsystem_pthread.dylib: 
                pruning: 3 libdispatch.dylib: _dispatch_continuation_pop$VARIANT$armv81
Comment 1 Chris Dumez 2017-07-06 09:53:08 PDT
<rdar://problem/33093552>
Comment 2 Chris Dumez 2017-07-06 09:54:18 PDT
Created attachment 314727 [details]
Patch
Comment 3 Chris Dumez 2017-07-06 10:00:11 PDT
Created attachment 314729 [details]
Patch
Comment 4 Brent Fulgham 2017-07-06 10:01:02 PDT
Comment on attachment 314729 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=314729&action=review

> Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:289
> +        String resourceLog = resourceLogFilePath();

This is a good chance. We originally thought we might want multiple files, so the label made sense, but it's just been added complexity. Good riddance!
Comment 5 Chris Dumez 2017-07-06 10:02:07 PDT
(In reply to Brent Fulgham from comment #4)
> Comment on attachment 314729 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=314729&action=review
> 
> > Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:289
> > +        String resourceLog = resourceLogFilePath();
> 
> This is a good chance. We originally thought we might want multiple files,
> so the label made sense, but it's just been added complexity. Good riddance!

Yes, we can introduce the label back when we actually need it.
Comment 6 Chris Dumez 2017-07-06 10:07:01 PDT
Created attachment 314730 [details]
Patch
Comment 7 Brent Fulgham 2017-07-06 10:21:13 PDT
Comment on attachment 314730 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=314730&action=review

r=me

> Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:364
> +    return m_statisticsStoragePath.isolatedCopy();

I have to admit I'm shocked that this was necessary -- I guess it's because we might call this method on the work queue?
Comment 8 Chris Dumez 2017-07-06 10:29:08 PDT
Comment on attachment 314730 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=314730&action=review

>> Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:364
>> +    return m_statisticsStoragePath.isolatedCopy();
> 
> I have to admit I'm shocked that this was necessary -- I guess it's because we might call this method on the work queue?

This is definitely called from the background work queue.
Comment 9 Chris Dumez 2017-07-06 11:31:31 PDT
Created attachment 314738 [details]
Patch
Comment 10 WebKit Commit Bot 2017-07-06 12:22:39 PDT
Comment on attachment 314738 [details]
Patch

Clearing flags on attachment: 314738

Committed r219211: <http://trac.webkit.org/changeset/219211>
Comment 11 WebKit Commit Bot 2017-07-06 12:22:40 PDT
All reviewed patches have been landed.  Closing bug.