We are currently asserting in that case, but it can happen that we fail to create the stream. It happened to me after r184690, that changed the NetworkCache::Key hashes. (process:11766): GLib-GIO-CRITICAL **: g_input_stream_read_async: assertion 'G_IS_INPUT_STREAM (stream)' failed (process:11766): GLib-GIO-CRITICAL **: g_input_stream_read_async: assertion 'G_IS_INPUT_STREAM (stream)' failed (process:11766): GLib-GIO-CRITICAL **: g_input_stream_read_async: assertion 'G_IS_INPUT_STREAM (stream)' failed (process:11766): GLib-GIO-CRITICAL **: g_input_stream_read_async: assertion 'G_IS_INPUT_STREAM (stream)' failed (process:11766): GLib-GIO-CRITICAL **: g_input_stream_read_async: assertion 'G_IS_INPUT_STREAM (stream)' failed (process:11766): GLib-GIO-CRITICAL **: g_input_stream_read_async: assertion 'G_IS_INPUT_STREAM (stream)' failed Since this was not expected to happen, the async operation never finished and then the completion handler never called, leaving those resources loading forever. We should make sure we call the completion handler with an error code, so that the load finishes and the entry is silently removed from the cache.
Created attachment 253787 [details] Patch
Committed r184901: <http://trac.webkit.org/changeset/184901>