Bug 247658 - [WinCairo] ASSERTION FAILED: result in WebKit::NetworkProcess::allowsFirstPartyForCookies
Summary: [WinCairo] ASSERTION FAILED: result in WebKit::NetworkProcess::allowsFirstPar...
Status: RESOLVED DUPLICATE of bug 247582
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-08 17:22 PST by Fujii Hironori
Modified: 2022-11-09 20:57 PST (History)
2 users (show)

See Also:


Attachments
Patch (3.69 KB, patch)
2022-11-08 23:51 PST, Fujii Hironori
ews-feeder: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2022-11-08 17:22:41 PST
WinCairo WK2 Debug layout test are observing random crashes for http tests these days.

ASSERTION FAILED: result
C:\jenkins_slave\wincairo-main\Source\WebKit\NetworkProcess/NetworkProcess.cpp(435) : WebKit::NetworkProcess::allowsFirstPartyForCookies

Backtrace:

 # Child-SP          RetAddr           Call Site
00 0000002c`1ebad8e0 00007fff`3f3c35de WTF!WTFCrash(void)+0x10 [C:\jenkins_slave\wincairo-main\Source\WTF\wtf\Assertions.cpp @ 327]
01 0000002c`1ebad910 00007fff`400a23fc WebKit2!WTFCrashWithInfo(int __formal = 0n435, char * __formal = 0x00007fff`4838a9e0 "C:\jenkins_slave\wincairo-main\Source\WebKit\NetworkProcess/NetworkProcess.cpp", char * __formal = 0x00007fff`48387f28 "WebKit::NetworkProcess::allowsFirstPartyForCookies", int __formal = 0n1699)+0x1e [C:\jenkins_slave\wincairo-main\WebKitBuild\Debug\WTF\Headers\wtf\Assertions.h @ 755]
02 0000002c`1ebad940 00007fff`400aae4e WebKit2!WebKit::NetworkProcess::allowsFirstPartyForCookies(class WTF::ObjectIdentifier<enum WebCore::ProcessIdentifierType> processIdentifier = class WTF::ObjectIdentifier<enum WebCore::ProcessIdentifierType>, class WTF::URL * firstParty = 0x0000002c`1ebae2b8)+0x30c [C:\jenkins_slave\wincairo-main\Source\WebKit\NetworkProcess\NetworkProcess.cpp @ 435]
03 0000002c`1ebada30 00007fff`3f6cf858 WebKit2!WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad(class WebKit::NetworkResourceLoadParameters * loadParameters = 0x0000002c`1ebae250, class std::optional<WTF::ObjectIdentifier<enum WebKit::NetworkResourceLoadIdentifierType> > * existingLoaderToResume = 0x0000002c`1ebae140 nullopt)+0xbe [C:\jenkins_slave\wincairo-main\Source\WebKit\NetworkProcess\NetworkConnectionToWebProcess.cpp @ 556]
04 0000002c`1ebae0f0 00007fff`3f6cd44b WebKit2!IPC::callMemberFunctionImpl<WebKit::NetworkConnectionToWebProcess,void (class WebKit::NetworkConnectionToWebProcess * object = 0x00000172`e8c99540, <function> * function = 0x0000002c`1ebae1d0, class std::tuple<WebKit::NetworkResourceLoadParameters,std::optional<WTF::ObjectIdentifier<enum WebKit::NetworkResourceLoadIdentifierType> > > * args = 0x0000002c`1ebae240, struct std::integer_sequence<unsigned __int64,0,1> __formal = struct std::integer_sequence<unsigned __int64,0,1>)+0xd8 [C:\jenkins_slave\wincairo-main\Source\WebKit\Platform\IPC\HandleMessage.h @ 132]
05 0000002c`1ebae190 00007fff`3f6f31bc WebKit2!IPC::callMemberFunction<WebKit::NetworkConnectionToWebProcess,void (class std::tuple<WebKit::NetworkResourceLoadParameters,std::optional<WTF::ObjectIdentifier<enum WebKit::NetworkResourceLoadIdentifierType> > > * args = 0x0000002c`1ebae240, class WebKit::NetworkConnectionToWebProcess * object = 0x00000172`e8c99540, <function> * function = 0x0000002c`1ebae6a0)+0x7b [C:\jenkins_slave\wincairo-main\Source\WebKit\Platform\IPC\HandleMessage.h @ 138]
06 0000002c`1ebae210 00007fff`3f6ac99f WebKit2!IPC::handleMessage<Messages::NetworkConnectionToWebProcess::ScheduleResourceLoad,WebKit::NetworkConnectionToWebProcess,void (class IPC::Connection * connection = 0x00000172`e8e8df90, class IPC::Decoder * decoder = 0x00000172`e8d44cf0, class WebKit::NetworkConnectionToWebProcess * object = 0x00000172`e8c99540, <function> * function = 0x0000002c`1ebaeab0)+0x12c [C:\jenkins_slave\wincairo-main\Source\WebKit\Platform\IPC\HandleMessage.h @ 260]
07 0000002c`1ebae6f0 00007fff`400a9f6d WebKit2!WebKit::NetworkConnectionToWebProcess::didReceiveNetworkConnectionToWebProcessMessage(class IPC::Connection * connection = 0x00000172`e8e8df90, class IPC::Decoder * decoder = 0x00000172`e8d44cf0)+0xcf [C:\jenkins_slave\wincairo-main\WebKitBuild\Debug\WebKit\DerivedSources\NetworkConnectionToWebProcessMessageReceiver.cpp @ 345]
08 0000002c`1ebaeec0 00007fff`4044c260 WebKit2!WebKit::NetworkConnectionToWebProcess::didReceiveMessage(class IPC::Connection * connection = 0x00000172`e8e8df90, class IPC::Decoder * decoder = 0x00000172`e8d44cf0)+0x10d [C:\jenkins_slave\wincairo-main\Source\WebKit\NetworkProcess\NetworkConnectionToWebProcess.cpp @ 218]
09 0000002c`1ebaf010 00007fff`4044bef9 WebKit2!IPC::Connection::dispatchMessage(class IPC::Decoder * decoder = 0x00000172`e8d44cf0)+0x1c0 [C:\jenkins_slave\wincairo-main\Source\WebKit\Platform\IPC\Connection.cpp @ 1199]
0a 0000002c`1ebaf090 00007fff`4044b78d WebKit2!IPC::Connection::dispatchMessage(class std::unique_ptr<IPC::Decoder,std::default_delete<IPC::Decoder> > * message = 0x0000002c`1ebaf1d8 unique_ptr {...})+0x2f9 [C:\jenkins_slave\wincairo-main\Source\WebKit\Platform\IPC\Connection.cpp @ 1244]
0b 0000002c`1ebaf160 00007fff`4044ebef WebKit2!IPC::Connection::dispatchOneIncomingMessage(void)+0x10d [C:\jenkins_slave\wincairo-main\Source\WebKit\Platform\IPC\Connection.cpp @ 1304]
0c 0000002c`1ebaf210 00007fff`40451b8b WebKit2!`IPC::Connection::enqueueIncomingMessage'::`19'::<lambda_2>::operator()(void)+0x1f [C:\jenkins_slave\wincairo-main\Source\WebKit\Platform\IPC\Connection.cpp @ 1161]
0d 0000002c`1ebaf240 00007fff`9ecca503 WebKit2!WTF::Detail::CallableWrapper<`IPC::Connection::enqueueIncomingMessage'::`19'::<lambda_2>,void>::call(void)+0x1b [C:\jenkins_slave\wincairo-main\WebKitBuild\Debug\WTF\Headers\wtf\Function.h @ 53]
0e 0000002c`1ebaf270 00007fff`9ed58f88 WTF!WTF::Function<void __cdecl(void)+0x93 [C:\jenkins_slave\wincairo-main\Source\WTF\wtf\Function.h @ 83]
0f 0000002c`1ebaf2b0 00007fff`9ee41df1 WTF!WTF::RunLoop::performWork(void)+0x198 [C:\jenkins_slave\wincairo-main\Source\WTF\wtf\RunLoop.cpp @ 147]
10 0000002c`1ebaf3c0 00007fff`9ee41d54 WTF!WTF::RunLoop::wndProc(struct HWND__ * hWnd = 0x00000000`3f001fae, unsigned int message = 0x401, unsigned int64 wParam = 0x00000172`e5064100, int64 lParam = 0n0)+0x41 [C:\jenkins_slave\wincairo-main\Source\WTF\wtf\win\RunLoopWin.cpp @ 57]
11 0000002c`1ebaf400 00007fff`bdede858 WTF!WTF::RunLoop::RunLoopWndProc(struct HWND__ * hWnd = 0x00000000`3f001fae, unsigned int message = 0x401, unsigned int64 wParam = 0x00000172`e5064100, int64 lParam = 0n0)+0x54 [C:\jenkins_slave\wincairo-main\Source\WTF\wtf\win\RunLoopWin.cpp @ 39]
12 0000002c`1ebaf450 00007fff`bdede299 USER32!UserCallWinProcCheckWow+0x2f8
13 0000002c`1ebaf5e0 00007fff`9ee412d6 USER32!DispatchMessageWorker+0x249
14 0000002c`1ebaf660 00007fff`3f4fa64b WTF!WTF::RunLoop::run(void)+0x66 [C:\jenkins_slave\wincairo-main\Source\WTF\wtf\win\RunLoopWin.cpp @ 74]
15 0000002c`1ebaf6f0 00007fff`3f4f9ec3 WebKit2!WebKit::AuxiliaryProcessMainBase<WebKit::NetworkProcess,0>::run(int argc = 0n7, char ** argv = 0x00000172`e50481f0)+0xab [C:\jenkins_slave\wincairo-main\Source\WebKit\Shared\AuxiliaryProcessMain.h @ 72]
16 0000002c`1ebaf740 00007fff`3f4f9ddc WebKit2!WebKit::AuxiliaryProcessMain<WebKit::NetworkProcessMainCurl>(int argc = 0n7, char ** argv = 0x00000172`e50481f0)+0x73 [C:\jenkins_slave\wincairo-main\Source\WebKit\Shared\AuxiliaryProcessMain.h @ 98]
17 0000002c`1ebaf800 00007ff7`e084101d WebKit2!WebKit::NetworkProcessMain(int argc = 0n7, char ** argv = 0x00000172`e50481f0)+0x1c [C:\jenkins_slave\wincairo-main\Source\WebKit\NetworkProcess\curl\NetworkProcessMainCurl.cpp @ 45]
18 0000002c`1ebaf830 00007ff7`e084125c WebKitNetworkProcess!main(int argc = 0n7, char ** argv = 0x00000172`e50481f0)+0x1d [C:\jenkins_slave\wincairo-main\Source\WebKit\NetworkProcess\EntryPoint\win\NetworkProcessMain.cpp @ 35]
19 (Inline Function) --------`-------- WebKitNetworkProcess!invoke_main(void)+0x22 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78]
1a 0000002c`1ebaf860 00007fff`bd2b7034 WebKitNetworkProcess!__scrt_common_main_seh(void)+0x10c [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
1b 0000002c`1ebaf8a0 00007fff`be2e26a1 KERNEL32!BaseThreadInitThunk+0x14
1c 0000002c`1ebaf8d0 00000000`00000000 ntdll!RtlUserThreadStart+0x21

256080@main is the first internal jenkins job reported this crash.
256065@main (bug#246504) modified NetworkProcess::allowsFirstPartyForCookies.
It's suspicious.
Comment 1 Fujii Hironori 2022-11-08 23:05:20 PST
This seems a race condition between UI process sending Messages::NetworkProcess::AddAllowedFirstPartyForCookies and web process requesting a request.
Comment 2 Fujii Hironori 2022-11-08 23:21:22 PST
In debug build, the network process will crash. However, in release build, it terminates the web process.
I'm observing the web process termination in WinCairo Release http layout tests.
This is a critical regression.
We should disable allowsFirstPartyForCookies check soon until the problem solved.
Comment 3 Fujii Hironori 2022-11-08 23:51:36 PST
Created attachment 463464 [details]
Patch
Comment 4 Fujii Hironori 2022-11-09 04:03:00 PST
Bug 247582 is going to fix the bug.
Comment 5 Fujii Hironori 2022-11-09 20:57:32 PST

*** This bug has been marked as a duplicate of bug 247582 ***