If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

ASSERTION: "We must be allowed to sample *some* source pixels" [@ nsThebesImage::Draw]

VERIFIED WORKSFORME

Status

()

Core
Graphics
VERIFIED WORKSFORME
8 years ago
6 years ago

People

(Reporter: aakashd, Unassigned)

Tracking

({assertion})

1.9.1 Branch
x86
Mac OS X
assertion
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

8 years ago
This is only being seen on 1.9.1 branch:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1pre) Gecko/20090608 Shiretoko/3.5pre ID:20090608122057

with the following assertion using the test case in https://bugzilla.mozilla.org/show_bug.cgi?id=463307


###!!! ASSERTION: We must be allowed to sample *some* source pixels!: '!sourceRect.Intersect(subimage).IsEmpty()', file /Users/adesai/debug/shiretoko/mozilla-1.9.1/gfx/src/thebes/nsThebesImage.cpp, line 497
Please reference attachment 346545 [details] directly. This makes it easier to access from within this bug.

I tried to reproduce this assertion but I'm not able. Somehow the page doesn't finish loading. Looks like only with the background image loaded the assertion occurs.
Keywords: assertion
Created attachment 382479 [details]
stack

Ok, got it. The assertion is visible when I blur the browser window and switch to another application.
(gdb) f 5 
#5  0x1308f65a in nsThebesImage::Draw (this=0x20c5fde0, aContext=0x1f0d2470, aUserSpaceToImageSpace=@0xbfff9fa0, aFill=@0xbfff9fd0, aPadding=@0xbfffa070, aSubimage=@0xbfffa0a0) at /data/build/shiretoko/gfx/src/thebes/nsThebesImage.cpp:496
496	    NS_ASSERTION(!sourceRect.Intersect(subimage).IsEmpty(),
(gdb) l
491	    gfxRect subimage(aSubimage.x, aSubimage.y, aSubimage.width, aSubimage.height);
492	    gfxRect fill = aFill;
493	    nsRefPtr<gfxASurface> surface;
494	    gfxImageSurface::gfxImageFormat format;
495	
496	    NS_ASSERTION(!sourceRect.Intersect(subimage).IsEmpty(),
497	                 "We must be allowed to sample *some* source pixels!");
498	
499	    PRBool doTile = !imageRect.Contains(sourceRect);
500	    if (doPadding || doPartialDecode) {
(gdb) p sourceRect.Intersect(subimage) 
$1 = {
  pos = {
    x = 0, 
    y = 0
  }, 
  size = {
    width = 0, 
    height = 0
  }
}
(gdb) p subimage
$2 = {
  pos = {
    x = -200, 
    y = 35791196
  }, 
  size = {
    width = 864, 
    height = 700
  }
}
(gdb) p sourceRect
$3 = {
  pos = {
    x = -200, 
    y = 35791194
  }, 
  size = {
    width = 864, 
    height = 1
  }
}
Summary: ASSERTION: We must be allowed to sample *some* source pixels! → ASSERTION: "We must be allowed to sample *some* source pixels" [@ nsThebesImage::Draw]
This is an old assertion bug. We should file a new bug if it reappears as all info on this bug is likely dated.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → INVALID
No more assertion for me when repeating the steps with a current Nightly debug build.
Status: RESOLVED → VERIFIED
Resolution: INVALID → WORKSFORME
You need to log in before you can comment on or make changes to this bug.