RESOLVED FIXED 126258
Crash when starting a download before the network process has been launched
https://bugs.webkit.org/show_bug.cgi?id=126258
Summary Crash when starting a download before the network process has been launched
Carlos Garcia Campos
Reported 2013-12-27 01:15:23 PST
We need to ensure there's a network process running before starting a new download like we do when using the web process. This makes all WebKit2GTK+ download unit tests to crash.
Attachments
Patch (2.25 KB, patch)
2013-12-27 01:19 PST, Carlos Garcia Campos
andersca: review+
Carlos Garcia Campos
Comment 1 2013-12-27 01:19:50 PST
Sergio Villar Senin
Comment 2 2013-12-27 01:30:55 PST
Comment on attachment 220054 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=220054&action=review Good job! > Source/WebKit2/UIProcess/WebContext.cpp:766 > + networkProcess()->send(Messages::NetworkProcess::DownloadRequest(downloadProxy->downloadID(), request), 0); I guess this is totally unrelated and just to keep consistency with the rest of the file > Source/WebKit2/UIProcess/WebContext.cpp:946 > #endif Looks correct. I understand that this might be difficult to reproduce in real life situations (as a webprocess should have been spawned and a networkprocess with it) but easily in the unit tests.
Carlos Garcia Campos
Comment 3 2013-12-27 01:35:02 PST
(In reply to comment #2) > (From update of attachment 220054 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=220054&action=review > > Good job! > > > Source/WebKit2/UIProcess/WebContext.cpp:766 > > + networkProcess()->send(Messages::NetworkProcess::DownloadRequest(downloadProxy->downloadID(), request), 0); > > I guess this is totally unrelated and just to keep consistency with the rest of the file No, it's not, see the ChageLog. "Use ChildProcessProxy::send() instead of using the connection to make sure messages are queued" > > Source/WebKit2/UIProcess/WebContext.cpp:946 > > #endif > > Looks correct. I understand that this might be difficult to reproduce in real life situations (as a webprocess should have been spawned and a networkprocess with it) but easily in the unit tests. It's difficult to happen in a web browser, yes, but our API allows to start a download from a WebContext without any web page involved.
Sergio Villar Senin
Comment 4 2013-12-27 01:37:08 PST
Comment on attachment 220054 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=220054&action=review >>> Source/WebKit2/UIProcess/WebContext.cpp:766 >>> + networkProcess()->send(Messages::NetworkProcess::DownloadRequest(downloadProxy->downloadID(), request), 0); >> >> I guess this is totally unrelated and just to keep consistency with the rest of the file > > No, it's not, see the ChageLog. > > "Use ChildProcessProxy::send() instead of using the connection to make sure messages are queued" Oh yeah I totally overlooked it
Carlos Garcia Campos
Comment 5 2014-01-09 09:51:48 PST
Note You need to log in before you can comment on or make changes to this bug.