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.
(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.
(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.
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
I talked to Alex Christensen. We need to backport r202940 to the 2.12 branch.
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.
(In reply to comment #5) > Turns out it's an page with a TLS certificate error (any page with any network error)
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.
Hm, it's not just when load fails. It also broke patch preview with 'webkit-patch upload'. (It's fixed by r202940.)
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.
Merged in r205432