All users were logged out of Bugzilla on October 13th, 2018

multipart/x-mixed-replace with 1ms intervals hangs Firefox

NEW
Unassigned

Status

()

P2
critical
13 years ago
3 years ago

People

(Reporter: lars, Unassigned)

Tracking

({hang, testcase})

Trunk
mozilla1.9alpha1
x86
Windows XP
hang, testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

13 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1

When loading a multipart/x-mixed-replace server method with quick refresh firefox stops responding.

Reproducible: Always

Steps to Reproduce:
1. Have firefox connect to a server with output similar to:
[HTTP HEADER]
Content-type: multipart/x-mixed-replace;boundary=438e635eab93d28d03183b7e8368da01

--438e635eab93d28d03183b7e8368da01
Content-type: text/plain

1 [WAIT 1 MS]

--438e635eab93d28d03183b7e8368da01
Content-type: text/plain 

2 [WAIT 1 MS]

--438e635eab93d28d03183b7e8368da01
Content-type: text/plain

3 [WAIT 1 MS]

...

Actual Results:  
Firefox does not respond properly and even after pressing the cancel button does not come back to normal state.

Expected Results:  
Firefox would respond again.

Php code to reproduce:
<?php

$random = md5 ( rand () . microtime () );


header( 'Content-type: multipart/x-mixed-replace;boundary=' . $random );

echo "\n--$random\n";

$i = 1;



while ( $i ++ ){
     usleep(1);
     echo "Content-type: text/plain\n\n";
     echo "$i";
     echo "--$random\n";
     do_output ();
  }

//  echo "Content-type: text/plain\n\n";
//  echo "The end\n";
//  echo "--$random--\n";


function do_output ()
{
	flush();
	ob_flush();
}

?>
Testcase from reporter available at: http://wargers.org/mozilla/329681_multi_replaced.php
Indeed, the testcase freezes Mozilla, this isn't the case with IE6.
Component: General → Networking: HTTP
Keywords: testcase
Product: Firefox → Core
QA Contact: general → networking.http
Version: unspecified → Trunk

Comment 2

13 years ago
Martijn, keep in mind that IE6 does not understand the multipart/x-mixed-replace mime type! ;)

-> me
Assignee: nobody → darin
Severity: normal → critical
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: crash
Priority: -- → P1
Target Milestone: --- → mozilla1.9alpha

Updated

13 years ago
Status: NEW → ASSIGNED

Comment 3

13 years ago
I can reproduce this using FF 1.5.0.1 under Windows XP.  Investigating...

Comment 4

13 years ago
I think the problem here is really just that the browser keeps rendering each document in the multipart payloads.  It never stops to "breathe" (to give the UI a chance to refresh).  I suspect that this happens in large part because of the DocShell's code that suppresses UI event prioritization during page load:
http://lxr.mozilla.org/mozilla/search?string=PL_FavorPerformanceHint

As a result, UI events starve.  My work on the Thread Manager should solve this class of bugs and others like it.
Depends on: 326273

Updated

13 years ago
Priority: P1 → P2
I still get a freeze with the testcase, with the 2006-05-11 build (after the fix from bug 326273).

Comment 6

13 years ago
(In reply to comment #5)
> I still get a freeze with the testcase, with the 2006-05-11 build (after the
> fix from bug 326273).
> 

Confirmed
(Reporter)

Comment 7

12 years ago
After testing with v2RC2 the problem has changed. Now the functionality (Count up) is actually given, although numbers are obviously omitted in the test case.

It is still impossible to cancel the loading process, with the browser rendered unresponsive to any user interaction.

Comment 8

12 years ago
-> reassign to default owner
Assignee: darin.moz → nobody
Status: ASSIGNED → NEW
Keywords: crash → hang
Summary: multipart/x-mixed-replace with 1ms intervals crashes firefox → multipart/x-mixed-replace with 1ms intervals hangs Firefox
Component: Networking: HTTP → DOM
You need to log in before you can comment on or make changes to this bug.