nondeterministic gif spacer detection

VERIFIED FIXED in mozilla0.9.2



17 years ago
17 years ago


(Reporter: martin.macok, Assigned: tor)



Firefox Tracking Flags

(Not tracked)


(Whiteboard: critical to 0.9.2, have patch, need r and sr, URL)


(3 attachments)



17 years ago
When I visit above URL I see all gifs for the first time.
But after repeatedly hitting Reload button the bottom lines (gifs) are sometimes
not displayed (non deterministic ... looks like 1/3 of cases).

The bug there was fixed by bug 74313 (bottom lines were not shown at all) but
now they are not shown everytime.

I use 20010619xx (with XIE/gdkpixbuf) removed by Bug 83920.
Red Hat Rawhide Linux

Comment 1

17 years ago
sorry, I mean WITHOUT XIE/gdpixbuf (not WITH)

Comment 2

17 years ago
Confirming, ccing tor, blizzard.
Ever confirmed: true

Comment 3

17 years ago
WFM in linux 2001061821
Reloaded 10 times, while reloading the vertical lines of the boxes were not
filled in completely, but after it finished reloading it always drawed them fine

Comment 4

17 years ago
Saw this on Linux 2001061914 once, but can't repeat at will.
I can verify that this does happen sometimes.  Come to think of it, I think I've
seen this on other sites, too.  It's the last scan line that is sometimes not
painted properly.

Comment 6

17 years ago
I have a much better testcase this time.
Go to:

There should be dark blue images in the top and left part of the page with round
The bottom image (scaled) is missing. 
Try reload, it never appears.
Then go to Pictures or Links and back - the image is now there.
Try reload -> it disappears.
Summary: some scaled GIFs are not always displayed → some scaled images are not always displayed

Comment 7

17 years ago
Confirming tom's testcase
Why would the last part of the image be scaled?

Comment 8

17 years ago
Actually 2 images on the page aren't displayed. The leftmiddle.gif and
leftbottom.gif. Anyone of them isn't scaled but the leftmiddle is repeated since
this is background image of a table cell.
So changing a summary a little bit.

Summary: some scaled images are not always displayed → images on bottom of tables are not always displayed

Comment 9

17 years ago
Are you sure the summary of this bug should be more specific?
Also make sure that the problem happens with something more than gifs as both
testcases are gif related

Why do i think this problem is not imagelib related but rather cache related?

Comment 10

17 years ago
nsImageGTK:ImageUpdated inspects the alpha channel information to see whether
an image is a spacer gif, since we don't want to spend the time scaling and
drawing them.  ImageUpdated gets called from SetImageData, which all the
decoders were calling right before SetAlphaData.  Thus we were looking at
garbage information.  The following patch flips the order of SetAlphaData
and SetImageData in the decoders.

This fixes the first testcase.  I think the second is a different problem.
Whiteboard: critical to 0.9.2
Target Milestone: --- → mozilla0.9.2

Comment 11

17 years ago
Created attachment 39681 [details] [diff] [review]
flip SetImageData/SetAlphaData


17 years ago
Whiteboard: critical to 0.9.2 → critical to 0.9.2, have patch r and sr

Comment 13

17 years ago
In a related problem, some animated gifs weren't showing up during their first
cycle because they were tagged as spacers.  Their contents were filled in with
DrawToImage, which wasn't setting the flags properly.  This new patch modifies
DrawToImage to use ImageUpdated.

Comment 14

17 years ago
Created attachment 39690 [details] [diff] [review]
same + drawtoimage modification

Comment 15

17 years ago
Slightly different strategy for DrawToImage() - preserve being able to do
just server side pixmap copies and just fiddle with the flags.

Comment 16

17 years ago
Created attachment 39700 [details] [diff] [review]
flip SetImageData/SetAlphaData + DrawToImage flag mod


17 years ago
Whiteboard: critical to 0.9.2, have patch r and sr → critical to 0.9.2, have patch, need r and sr

Comment 17

17 years ago
This bug is likely the cause of a problem I've seen occasionally were ui
elements such as cascade arrows and radio button dots aren't drawn.

BTW: I think the DrawToImage thing might be the cause of the second testcase.
leftdown.gif and leftmiddle.gif are one-frame animations.
Assignee: pavlov → tor
Summary: images on bottom of tables are not always displayed → nondeterministic gif spacer detection
r/sr=blizzard ( again )

Comment 19

17 years ago
a=dbaron for 0.9.2 checkin (on behalf of drivers)

Comment 21

17 years ago
Checked in on branch and trunk.
Last Resolved: 17 years ago
Resolution: --- → FIXED

Comment 22

17 years ago
Verified. What kind of bug is the one on the second testcase? Cache related maybe?

Comment 23

17 years ago
I've entered a new bug 87579 and cced some people from this bug there.

Comment 24

17 years ago
Verified fixed linux build 2001062506
You need to log in before you can comment on or make changes to this bug.