WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
113256
Crashes in NetworkProcess due to threading issues
https://bugs.webkit.org/show_bug.cgi?id=113256
Summary
Crashes in NetworkProcess due to threading issues
Alexey Proskuryakov
Reported
2013-03-25 17:14:01 PDT
NetworkProcess happily uses WebCore code from secondary threads. A few examples I found: 1. WebCoreCredentialStorage is now used from secondary threads, and has no locking whatsoever. 2. AuthenticaitonManager is now used from secondary threads, and m_challenges set is not protected. 3. ResourceRequests are used from multiple threads, and they contain AtomicStrings. ResourceHandle code in general was never expected ot run fom non-main threads, so there can be more issues. <
rdar://problem/13194263
>
Attachments
try EWS
(83.39 KB, patch)
2013-03-25 17:14 PDT
,
Alexey Proskuryakov
webkit-ews
: commit-queue-
Details
Formatted Diff
Diff
more EWS testing
(83.43 KB, patch)
2013-03-25 17:57 PDT
,
Alexey Proskuryakov
peter+ews
: commit-queue-
Details
Formatted Diff
Diff
proposed fix
(94.21 KB, patch)
2013-03-26 10:31 PDT
,
Alexey Proskuryakov
beidson
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Alexey Proskuryakov
Comment 1
2013-03-25 17:14:48 PDT
Created
attachment 194956
[details]
try EWS
WebKit Review Bot
Comment 2
2013-03-25 17:18:02 PDT
Attachment 194956
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/platform/network/CredentialStorage.cpp', u'Source/WebCore/platform/network/ResourceHandle.cpp', u'Source/WebCore/platform/network/ResourceHandle.h', u'Source/WebCore/platform/network/ResourceHandleClient.cpp', u'Source/WebCore/platform/network/ResourceHandleClient.h', u'Source/WebCore/platform/network/ResourceHandleInternal.h', u'Source/WebCore/platform/network/mac/ResourceHandleMac.mm', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm', u'Source/WebKit2/DerivedSources.make', u'Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.h', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.messages.in', u'Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp', u'Source/WebKit2/WebKit2.xcodeproj/project.pbxproj', u'Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.h', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in']" exit_code: 1 Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:31: Alphabetical sorting problem. [build/include_order] [4] Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:35: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 2 in 22 files If any of these errors are false positives, please file a bug against check-webkit-style.
Early Warning System Bot
Comment 3
2013-03-25 17:40:40 PDT
Comment on
attachment 194956
[details]
try EWS
Attachment 194956
[details]
did not pass qt-ews (qt): Output:
http://webkit-commit-queue.appspot.com/results/17319102
EFL EWS Bot
Comment 4
2013-03-25 17:48:37 PDT
Comment on
attachment 194956
[details]
try EWS
Attachment 194956
[details]
did not pass efl-ews (efl): Output:
http://webkit-commit-queue.appspot.com/results/17325104
Early Warning System Bot
Comment 5
2013-03-25 17:51:35 PDT
Comment on
attachment 194956
[details]
try EWS
Attachment 194956
[details]
did not pass qt-wk2-ews (qt): Output:
http://webkit-commit-queue.appspot.com/results/17297306
kov's GTK+ EWS bot
Comment 6
2013-03-25 17:54:56 PDT
Comment on
attachment 194956
[details]
try EWS
Attachment 194956
[details]
did not pass gtk-ews (gtk): Output:
http://webkit-commit-queue.appspot.com/results/17297308
Alexey Proskuryakov
Comment 7
2013-03-25 17:57:17 PDT
Created
attachment 194966
[details]
more EWS testing
WebKit Review Bot
Comment 8
2013-03-25 18:01:21 PDT
Attachment 194966
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/platform/network/CredentialStorage.cpp', u'Source/WebCore/platform/network/ResourceHandle.cpp', u'Source/WebCore/platform/network/ResourceHandle.h', u'Source/WebCore/platform/network/ResourceHandleClient.cpp', u'Source/WebCore/platform/network/ResourceHandleClient.h', u'Source/WebCore/platform/network/ResourceHandleInternal.h', u'Source/WebCore/platform/network/mac/ResourceHandleMac.mm', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm', u'Source/WebKit2/DerivedSources.make', u'Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.h', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.messages.in', u'Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp', u'Source/WebKit2/WebKit2.xcodeproj/project.pbxproj', u'Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.h', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in']" exit_code: 1 Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:35: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 22 files If any of these errors are false positives, please file a bug against check-webkit-style.
Peter Beverloo (cr-android ews)
Comment 9
2013-03-25 19:20:00 PDT
Comment on
attachment 194966
[details]
more EWS testing
Attachment 194966
[details]
did not pass cr-android-ews (chromium-android): Output:
http://webkit-commit-queue.appspot.com/results/17227574
WebKit Review Bot
Comment 10
2013-03-25 19:29:47 PDT
Comment on
attachment 194966
[details]
more EWS testing
Attachment 194966
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://webkit-commit-queue.appspot.com/results/17328153
WebKit Review Bot
Comment 11
2013-03-25 19:30:22 PDT
Comment on
attachment 194966
[details]
more EWS testing
Attachment 194966
[details]
did not pass cr-linux-debug-ews (chromium-xvfb): Output:
http://webkit-commit-queue.appspot.com/results/17255432
Alexey Proskuryakov
Comment 12
2013-03-26 10:31:56 PDT
Created
attachment 195111
[details]
proposed fix
WebKit Review Bot
Comment 13
2013-03-26 10:35:09 PDT
Attachment 195111
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/platform/network/CredentialStorage.cpp', u'Source/WebCore/platform/network/ResourceHandle.cpp', u'Source/WebCore/platform/network/ResourceHandle.h', u'Source/WebCore/platform/network/ResourceHandleClient.cpp', u'Source/WebCore/platform/network/ResourceHandleClient.h', u'Source/WebCore/platform/network/ResourceHandleInternal.h', u'Source/WebCore/platform/network/chromium/ResourceHandle.cpp', u'Source/WebCore/platform/network/mac/ResourceHandleMac.mm', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h', u'Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/DerivedSources.make', u'Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.h', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.messages.in', u'Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp', u'Source/WebKit2/WebKit2.xcodeproj/project.pbxproj', u'Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.h', u'Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in']" exit_code: 1 Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:35: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 25 files If any of these errors are false positives, please file a bug against check-webkit-style.
Brady Eidson
Comment 14
2013-03-26 14:03:21 PDT
Comment on
attachment 195111
[details]
proposed fix View in context:
https://bugs.webkit.org/attachment.cgi?id=195111&action=review
Scary
> Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:36 > namespace WebCore { > class ResourceHandle; > }
Indeed! Don't care that it's old code, either. #petpeeve
Alexey Proskuryakov
Comment 15
2013-03-26 14:30:24 PDT
Committed <
http://trac.webkit.org/r146929
>.
Alexey Proskuryakov
Comment 16
2013-03-26 14:45:25 PDT
Some inconsequential cleanup in
r146931
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug