Bug 161494
Summary: | [GTK][STABLE] REGRESSION(r202939): page loads forever when load fails | ||
---|---|---|---|
Product: | WebKit | Reporter: | Michael Catanzaro <mcatanzaro> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | achristensen, beidson, bugs-noreply, cgarcia, mario, mcatanzaro |
Priority: | P2 | ||
Version: | Other | ||
Hardware: | PC | ||
OS: | Linux | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=159526 |
Michael Catanzaro
WebKitGTK+ 2.12.4 loads forever when attempting to display a customer's internal page. It's a regression from 2.12.3 and I'm bisecting it on the 2.4 branch now.
When running with a debug build, instead of loading forever, we hit this assertion:
ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
../../Source/WTF/wtf/HashTable.h(585) : void WTF::HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::checkKey(const T&) [with HashTranslator = WTF::IdentityHashTranslator<WTF::IntHash<long unsigned int> >; T = long unsigned int; Key = long unsigned int; Value = WTF::KeyValuePair<long unsigned int, WTF::RefPtr<WebKit::WebResourceLoader> >; Extractor = WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<long unsigned int, WTF::RefPtr<WebKit::WebResourceLoader> > >; HashFunctions = WTF::IntHash<long unsigned int>; Traits = WTF::HashMap<long unsigned int, WTF::RefPtr<WebKit::WebResourceLoader> >::KeyValuePairTraits; KeyTraits = WTF::HashTraits<long unsigned int>]
1 0x7f429f149371 /home/mcatanzaro/src/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7f429f149371]
2 0x7f42a47e173c /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF9HashTableImNS_12KeyValuePairImNS_6RefPtrIN6WebKit17WebResourceLoaderEEEEENS_24KeyValuePairKeyExtractorIS6_EENS_7IntHashImEENS_7HashMapImS5_SA_NS_10HashTraitsImEENSC_IS5_EEE18KeyValuePairTraitsESD_E8checkKeyINS_22IdentityHashTranslatorISA_EEmEEvRKT0_+0x54) [0x7f42a47e173c]
3 0x7f42a47e1629 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF9HashTableImNS_12KeyValuePairImNS_6RefPtrIN6WebKit17WebResourceLoaderEEEEENS_24KeyValuePairKeyExtractorIS6_EENS_7IntHashImEENS_7HashMapImS5_SA_NS_10HashTraitsImEENSC_IS5_EEE18KeyValuePairTraitsESD_E12inlineLookupINS_22IdentityHashTranslatorISA_EEmEEPS6_RKT0_+0x23) [0x7f42a47e1629]
4 0x7f42a47e15f1 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF9HashTableImNS_12KeyValuePairImNS_6RefPtrIN6WebKit17WebResourceLoaderEEEEENS_24KeyValuePairKeyExtractorIS6_EENS_7IntHashImEENS_7HashMapImS5_SA_NS_10HashTraitsImEENSC_IS5_EEE18KeyValuePairTraitsESD_E6lookupINS_22IdentityHashTranslatorISA_EEmEEPS6_RKT0_+0x23) [0x7f42a47e15f1]
5 0x7f42a47e1599 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF9HashTableImNS_12KeyValuePairImNS_6RefPtrIN6WebKit17WebResourceLoaderEEEEENS_24KeyValuePairKeyExtractorIS6_EENS_7IntHashImEENS_7HashMapImS5_SA_NS_10HashTraitsImEENSC_IS5_EEE18KeyValuePairTraitsESD_E6lookupERKm+0x23) [0x7f42a47e1599]
6 0x7f42a47e14b3 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNK3WTF7HashMapImNS_6RefPtrIN6WebKit17WebResourceLoaderEEENS_7IntHashImEENS_10HashTraitsImEENS7_IS4_EEE3getERKm+0x23) [0x7f42a47e14b3]
7 0x7f42a47e148d /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNK6WebKit17WebLoaderStrategy30webResourceLoaderForIdentifierEm+0x27) [0x7f42a47e148d]
8 0x7f42a47e120a /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit24NetworkProcessConnection17didReceiveMessageERN3IPC10ConnectionERNS1_14MessageDecoderE+0x74) [0x7f42a47e120a]
9 0x7f42a453fde8 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection15dispatchMessageERNS_14MessageDecoderE+0x3a) [0x7f42a453fde8]
10 0x7f42a453ff4c /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_14MessageDecoderESt14default_deleteIS2_EE+0x160) [0x7f42a453ff4c]
11 0x7f42a454012a /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection18dispatchOneMessageEv+0xc8) [0x7f42a454012a]
12 0x7f42a453fc32 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(+0x42fdc32) [0x7f42a453fc32]
13 0x7f42a4541436 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(+0x42ff436) [0x7f42a4541436]
14 0x7f42a4514ee2 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNKSt8functionIFvvEEclEv+0x32) [0x7f42a4514ee2]
15 0x7f429f163d61 /home/mcatanzaro/src/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF7RunLoop11performWorkEv+0xdb) [0x7f429f163d61]
16 0x7f429f19c85e /home/mcatanzaro/src/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(+0x1f2285e) [0x7f429f19c85e]
17 0x7f429f19c882 /home/mcatanzaro/src/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(+0x1f22882) [0x7f429f19c882]
18 0x7f429f19c7fe /home/mcatanzaro/src/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(+0x1f227fe) [0x7f429f19c7fe]
19 0x7f429f19c82d /home/mcatanzaro/src/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(+0x1f2282d) [0x7f429f19c82d]
20 0x7f42990543ed /home/mcatanzaro/src/jhbuild/install/lib/libglib-2.0.so.0(+0x493ed) [0x7f42990543ed]
21 0x7f4299056d31 /home/mcatanzaro/src/jhbuild/install/lib/libglib-2.0.so.0(g_main_context_dispatch+0x32) [0x7f4299056d31]
22 0x7f4299056e8b /home/mcatanzaro/src/jhbuild/install/lib/libglib-2.0.so.0(+0x4be8b) [0x7f4299056e8b]
23 0x7f429905723f /home/mcatanzaro/src/jhbuild/install/lib/libglib-2.0.so.0(g_main_loop_run+0x18c) [0x7f429905723f]
24 0x7f429f19cdde /home/mcatanzaro/src/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF7RunLoop3runEv+0xac) [0x7f429f19cdde]
25 0x7f42a4a40ac9 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit16ChildProcessMainINS_10WebProcessENS_14WebProcessMainEEEiiPPc+0x82) [0x7f42a4a40ac9]
26 0x7f42a4a40930 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(WebProcessMainUnix+0x20) [0x7f42a4a40930]
27 0x400c0a /home/mcatanzaro/src/jhbuild/install/libexec/webkit2gtk-4.0/WebKitWebProcess(main+0x34) [0x400c0a]
28 0x7f429449f731 /lib64/libc.so.6(__libc_start_main+0xf1) [0x7f429449f731]
29 0x400b09 /home/mcatanzaro/src/jhbuild/install/libexec/webkit2gtk-4.0/WebKitWebProcess(_start+0x29) [0x400b09]
That's not a very good backtrace. I'll try to get a better one, but I have to do it manually as coredumpctl is broken in Fedora ATM.
Another user is complaining that ubuntu.com loads forever. I couldn't reproduce the issue on that page, though.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Michael Catanzaro
(In reply to comment #0)
> WebKitGTK+ 2.12.4 loads forever when attempting to display a customer's
> internal page. It's a regression from 2.12.3 and I'm bisecting it on the 2.4
> branch now.
Er, I meant "2.12 branch" of course.
Michael Catanzaro
(In reply to comment #0)
> Another user is complaining that ubuntu.com loads forever. I couldn't
> reproduce the issue on that page, though.
Confirmed this as a 2.12.4 regression as well, so it's probably the same issue.
Michael Catanzaro
d0896358a290ab2f9ab11b6b4d788d62fc738ac4 is the first bad commit
commit d0896358a290ab2f9ab11b6b4d788d62fc738ac4
Author: carlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Aug 23 11:16:02 2016 +0000
Merge r202939 - Fix crash when sending failure message to closed WebProcess
https://bugs.webkit.org/show_bug.cgi?id=159526
<rdar://problem/26767037>
Reviewed by Brady Eidson.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFailLoading):
Check to see if there is a connection before using it to send a message.
Sometimes it was null.
I think this could be tested if we had real network loading from TestWebKitAPI
by cancelling slow loads and closing WebProcesses around the same time, but no such infrastructure exists yet.
git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-1 268f45cc-cd09-0410-ab3c-d52691b4dbfc
:040000 040000 205aecbb5ee69adfdaa7e995f9c18cb4ed156f4d 54738d451ff116c923e99e6258635120ed1438b2 M Source
Michael Catanzaro
I talked to Alex Christensen. We need to backport r202940 to the 2.12 branch.
Michael Catanzaro
Turns out it's an page with a TLS certificate error (i.e. the ubuntu.com issue is something different). I thought I tested this yesterday to rule that out, but I must have messed up my testing somehow.
Michael Catanzaro
(In reply to comment #5)
> Turns out it's an page with a TLS certificate error
(any page with any network error)
Carlos Garcia Campos
Oh, I'm sorry, I usually check the revision number is not mentioned in other commits before merging it to ensure it hasn't been rolled out or to catch follow ups, but it seems I made this release too quickly. I'll fix it and make a new release.
Michael Catanzaro
Hm, it's not just when load fails. It also broke patch preview with 'webkit-patch upload'. (It's fixed by r202940.)
Michael Catanzaro
Also it's worth mentioning that Alex said this broke hundreds of tests. We didn't notice because bots don't run on the stable branch. It would probably be worth running tests manually before making a release and looking for large unexpected changes; I know that would take a while, but that would have caught this.
Carlos Garcia Campos
Merged in r205432