<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [SOUP] Network Cache: Handle the case when we fail to create the IO stream"
   href="https://bugs.webkit.org/show_bug.cgi?id=145406">145406</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[SOUP] Network Cache: Handle the case when we fail to create the IO stream
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>528+ (Nightly build)
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Keywords</th>
          <td>Gtk, Soup
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>WebKit2
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>cgarcia&#64;igalia.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>koivisto&#64;iki.fi, svillar&#64;igalia.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>