Closed Bug 85529 Opened 23 years ago Closed 23 years ago

Some Byte Range Requests are Returning Bad Bytes

Categories

(Core Graveyard :: Plug-ins, defect, P1)

x86
Windows 2000
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.3

People

(Reporter: lmcquarr, Assigned: dougt)

References

()

Details

(Whiteboard: [pdt+])

Attachments

(5 files)

In doing extensive testing of the byte range request support in mozilla,
I ran across some cases where Acrobat had an error, usually when drawing
the page.  I immediately suspected that some bytes returned to us
by Mozilla for the byte range were incorrect.  Since I have been
down this road before with another browser (Mac IE), I knew this
was going to be hard to track down.  

I ended up making a modified
version of our Netscape plug-in that writes the bytes out that
mozilla hands the Acrobat plugin directly into a log file in the position where
they would be in the PDF file  (I am attaching a copy of this plug-in
to this bug).  With my modified Acrobat plug-in, I went to one extremely
reproduceable test case and "captured" in the log what mozilla is sending us
(log file name is dumpdata.txt and it is located in the same directory as
the mozilla executable).

I then ran cmp.exe and compared what mozilla hands us with the original
PDF. From the output of that (which I have attached to this bug), you
can see the bad bytes.  The output format of "cmp -l" is:

<byte number>  <byte in file 1> <byte in file 2>

(Ignore the lines that say the byte in file 2 is 0 -- these are bytes that
we never downloaded because we didn't need them.)

Here is a complete list of attachments to this bug:

nppdf32.dll -- my modified Acrobat plug-in
Wildtype.pdf -- the original PDF file
datadump.txt -- the bytes that mozilla gave us directly written to disk
cmpout  -- output from running "cmp -l "


Here is how to reproduce:  

1 - Install Acrobat 5 and disable background downloading  (Prefs, General,
Options, uncheck check box for background downloading).

2 - Go to the above URL.

3 - After page 1 is drawn, go to page 2.  Usually, this will cause the
page drawing error.  If the page drawing error doesn't happen yet,
go to page 3.



This bug is dependent on 84332.  Once I apply the patch for that
Depends on: 84332
Keywords: acrobat
Blocks: 85547
No longer blocks: 85547
This could also have to do with the overloaded OnDataAvail in
ns4xPluginStreamListener.
Well, bugzilla refuses to create more attachments for me for this bug,
so when you are ready to work on this, I have the other pieces that
I promised (the output of my tool).  I also have some more cases
where I can repo the problem. 
Here are a couple of more cases that produce page errors in Acrobat.
I have not gone to the trouble of running my tool to get
the extact bytes that are incorrect, but I can do that when whoever
is ready to work on it  (or we can save these as test cases
for making sure the fix is complete).

1 - Start Acrobat and turn on "continuous facing pages mode" (View
menu or button on bottom of Acrobat window).

2 - Disable background downloading (prefs, general, options, uncheck
"background downloading").

3 - Browse to any of the following URLs -- you will get page errors
or the pages just won't draw (usually five or six pages will draw
in the Acrobat window at a time for continuous facing pages mode).

http://access.adobe.com/browser/netscape/readtesting/Whamba.pdf
http://access.adobe.com/browser/netscape/readtesting/garden.pdf


http://access.adobe.com/net
av - taking this over.  
Assignee: av → dougt
Priority: -- → P1
Target Milestone: --- → mozilla0.9.3
Just verified that http byte range is returning the expected ranges.  Diggin 
into the plugin code now...
Status: NEW → ASSIGNED
Whiteboard: [pdt+]
I have been working on this bug for the last two days.  I have 
made some progress.  In a nutshell, the multimixed converter has some serious 
problems dealing with data (not text) content and needs to reworked/rewritten.  
Unfortuately, there isn't enough time for this.  I think I have a patch that is 
closer, but until the multimixed converter is given alot of love, there will 
remain issues.

Patch still causes, but closer.  What did I break - I don't know. 
What is wierd is that sometimes (all the time?) my compare log running with this 
patch looks okay, but I still get a warning.

This bug may be related to:
    * Bug 76892 loading of acrobat 5 pdf fails sometimes

ahh... well, that sucks.  :-/

Marking dependent.  Ping me when you have a patch for 76892, or better yet, 
apply my patch and verify that it work for you when you have a fix for 76892.  
:-)
Depends on: 76892
I'm not sure which bug goes first, this one or 76892. I think 76892 is more of a
general bug of Acrobat failing sometimes whereas this one actually has a good
testcase. I'll try some of the testcases in the other bug with the patch in here.
No longer depends on: 76892
Ok, the patch 40649 to necko produces exactly the expected bytes.  However, 
Acrobat still complains that the file is busted.  I think that the patch is the 
right thing to do.  It basically correct linefeeds before we send any data.  
Rick, can you review this patch?  
Attached patch Clearer patch.Splinter Review
r=valeski on the 07/02/01 17:06 patch
Doug, this is PDT+ bug. Tomorrow, on Tuesday, we'll try to build the first RTM
candidate. It would be good, if this could be resolved ASAP.
Rick, Can you sr= this patch?
Blocks: 76892
sr=rpotts
Doug:

Now that I have a workaround for the "failed to load bug" associated
with HTTP 1.0 (76892), I was able to try your second patch and test
out wild type.

I still get a page drawing error on page two.  Using my modified
plug-in that writes the log file, as well as the cmp tool,
I discovered two bad bytes:

Byte    Mozilla      Original File
----    --------     --------------
458753  45           33
458754  120          367

Somehow, we are still getting bad bytes. 

Unfortunately, I am about to leave for the day .. and until
July 11.  I hope my tools will help you proceed without me!


could you try 40649
Patch checked into branch and trunk.

There still may be a problem with prepended EOL chars if the first ODA does not 
have enough data to work with.  This could be the cause of some problems 
reported in 76892.
r=valeski
sr=rpotts
Great! everything is checked into branch and trunk.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
verified fixed on 070904 trunk and branch builds. I get no page load errors with 
backgrnd loading turned off. dougt fixed everything !!!!!
Status: RESOLVED → VERIFIED
Hooray!  Yahoo!  My QA God (Jeff Moran) and I will now take another wack
at testing.


Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: