<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>34485</bug_id>
          
          <creation_ts>2010-02-02 09:00:33 -0800</creation_ts>
          <short_desc>xmlhttprequest does not free finished loading slots</short_desc>
          <delta_ts>2010-02-02 10:30:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jurek R.">jurekraben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>186990</commentid>
    <comment_count>0</comment_count>
      <attachid>47939</attachid>
    <who name="Jurek R.">jurekraben</who>
    <bug_when>2010-02-02 09:00:33 -0800</bug_when>
    <thetext>Created attachment 47939
Zip containing all needed files for reproduce this bug

If you start 4 xmlhttprequests with javascript in Safari, finished requests will not free up a connection slot for the next xmlrequest.

In the example .zip you will find a &quot;index.html&quot; containing a javascript that loads X times a xmlhttprequest targeting the file &quot;ajax_response.php&quot;. There will be also a flash movie &quot;loader.swf&quot; started that starts to stream a large .mp3 file. The .mp3 file has to be named &quot;large_testfile.mp3&quot; and placed to the bug dir. 20mb size for the mp3 worked great for me. 

You can change the timeout until the xmlhttprequests start, to ensure that the flash streaming starts before. Also the number of xmlhttprequests can be 1-12. You have to calibrate these settings.

If you call index.html, the following will happen in Safari:
- the flash movie starts to stream  the large mp3 and takes one (or more??) download slots
- after 3 seconds the xmlrequests start. In my tests sometimes none, sometimes 2 xmlrequests start and finish.
- The finished request do not cause a newly free download slot. So the rest of the xmlhttprequests have to wait until the flash movie has finished streaming.

Expected behaviour:
- flash movie starts stream
- some xmlhttprequest start and finish
- now again some xmlhttprequests start and finish until all are loaded, because finished requests should free up a download slot on readystate==4...

If you try it in another browser, none of these will wait until flash streaming has finished.


Here is a 20mb mp3 file: http://www.archive.org/download/FredrikAndersson-NetlabelSession001/FredrikAndersson-NetlabelSession001_64kb.mp3

All sources are included.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186993</commentid>
    <comment_count>1</comment_count>
    <who name="Jurek R.">jurekraben</who>
    <bug_when>2010-02-02 09:04:05 -0800</bug_when>
    <thetext>*** Bug 32945 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186998</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-02 09:14:51 -0800</bug_when>
    <thetext>I suspect this is a bug beneath WebKit.

Precisely what version of Safari and OS X are you using?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187008</commentid>
    <comment_count>3</comment_count>
    <who name="Jurek R.">jurekraben</who>
    <bug_when>2010-02-02 09:44:43 -0800</bug_when>
    <thetext>It&apos;s Safari/Webkit Version 4.0.4 (5531.21.10, r54108) and Leopard OSX 10.5.7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187011</commentid>
    <comment_count>4</comment_count>
    <who name="Jurek R.">jurekraben</who>
    <bug_when>2010-02-02 09:48:58 -0800</bug_when>
    <thetext>Updated to recent Webkit. Still appears.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187016</commentid>
    <comment_count>5</comment_count>
    <who name="Jurek R.">jurekraben</who>
    <bug_when>2010-02-02 09:55:04 -0800</bug_when>
    <thetext>Btw. there is a workaround: Moving all media streaming files to a another subdomain/c-name will result in a normal loading behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187026</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-02 10:05:18 -0800</bug_when>
    <thetext>You&apos;re absolutely right about that work around.

This is a problem in a system component underneath WebKit, so unfortunately we can&apos;t do anything about it here.

(&lt;rdar://problem/7069233&gt; for more info)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187029</commentid>
    <comment_count>7</comment_count>
    <who name="Jurek R.">jurekraben</who>
    <bug_when>2010-02-02 10:07:36 -0800</bug_when>
    <thetext>Hm, but why then Firefox OSX behaves normally?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187037</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-02 10:30:09 -0800</bug_when>
    <thetext>WebKit uses CFNetwork for networking.  Firefox does not.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>47939</attachid>
            <date>2010-02-02 09:00:33 -0800</date>
            <delta_ts>2010-02-02 09:00:33 -0800</delta_ts>
            <desc>Zip containing all needed files for reproduce this bug</desc>
            <filename>safari_bug.zip</filename>
            <type>application/zip</type>
            <size>3451</size>
            <attacher name="Jurek R.">jurekraben</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
      

    </bug>

</bugzilla>