Closed Bug 46147 Opened 24 years ago Closed 24 years ago

Assertion failure/cache problem - very fast animation

Categories

(Core :: Networking: Cache, defect, P1)

x86
All
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: jesup, Assigned: neeti)

References

()

Details

(Whiteboard: [nsbeta3+][pdtp4])

Attachments

(3 files)

I was sitting looking at this page (fully loaded), and noticed that the anim was
running fast and flickering.  After sitting there a while, suddenly I got the
following assertion failures and warnings.  Build is from a fresh checkout/build
as of yesterday (7/19/2000)


Enabling Quirk StyleSheet
Document: Done (8.75 secs)
*** check number of frames in content area 
Error getting url widget service: TypeError: Components.classes[progid] has no
properties
Document http://www.hometheaterforum.com/uub/Forum22/HTML/000749.html loaded
successfully
###!!! ASSERTION: QueryInterface needed: 'query_result.get() == mRawPtr', file
nsCOMPtr.h, line 500
###!!! Break: at file nsCOMPtr.h, line 500
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
###!!! ASSERTION: QueryInterface needed: 'query_result.get() == mRawPtr', file
nsCOMPtr.h, line 500
###!!! Break: at file nsCOMPtr.h, line 500
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
###!!! ASSERTION: QueryInterface needed: 'query_result.get() == mRawPtr', file
nsCOMPtr.h, line 500
###!!! Break: at file nsCOMPtr.h, line 500
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
###!!! ASSERTION: QueryInterface needed: 'query_result.get() == mRawPtr', file
nsCOMPtr.h, line 500
###!!! Break: at file nsCOMPtr.h, line 500
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
###!!! ASSERTION: QueryInterface needed: 'query_result.get() == mRawPtr', file
nsCOMPtr.h, line 500
###!!! Break: at file nsCOMPtr.h, line 500
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
Note: after a few dozen of these, the anim disappeared and was replaced with a
simple link ("htf2"), and the warnings stopped.

It is repeatable, at least within the same run.  Quitting and restarting caused
the assertion and warnings to go away, but the image still appears and then
disappears and is replaced with "htf2".  I assume it's an issue with the cache.

Also note that I think the image is NOT an anim.  It's just an image, and was
flashing in time with the warnings.
I don't see anything strange here on mac.  on win32 the progress bar flashes
between 98% and 100% very quickly but doesn't seem to create any problems for
teh content.  Over to Networking Cache.  the asserts are in code that scc wrote.
Assignee: asa → neeti
Component: Browser-General → Networking: Cache
QA Contact: doronr → tever
works for me FreeBSD -current
BuildID: 2000072406 - CVS pull PDT

I see no flashing/animated images and get no assertions even on reloads
"Page Info" in mozilla seems not to work, so it's hard to see what mozilla
thinks about this image.  Selecting "Save Image As..." before the image loads
allowed me to save it, but it appears to save from the net, not from the cache. 
When I display the saved image, it's fine.

Note: on all subsequent runs, I see no assertions.  The image loads and appears,
then immediately disappears and is replaced by the text "htf2".  I assume the
problem is that somehow (when the assertions occurred) the cache got some bad
data in it for the image (though it does decode and display before
disappearing), or some bad meta-data for the cached image.  I've been avoiding
clearing the cache; if someone can tell me how to extract any information about
the cached image's meta-data (or the cached image itself), I'll do so.  "Page
Info" not working makes this tough.

Here's what Netscape 4.7 says about htf2 (note: it doesn't have this problem):
Location:
           http://www.hometheaterforum.com/uub/htf2.gif
 File MIME Type:
           image/gif
     Source:
           Currently in disk cache
 Local cache file:
           17/cache397DA49704242AD.gif
  Last Modified:
           Sunday, 16-Jan-00 13:51:43 Local time
  Last Modified:
           Sunday, 16-Jan-00 18:51:43 GMT
 Content Length:
           6108
     Expires:
           No date given
     Charset:
           Unknown
     Security:
           This is an insecure document that is not encrypted and offers no
security protection.
I suspect the problem is with the cache database - a snippet of which I've
uploaded.  Loading the GIF stored in my cache gives no problems.  Referencing it
via it's original location on www.hometheaterforum.com causes a series of:
WARNING: Error: RecordID not in DB
, file nsNetDiskCache.cpp, line 430
with the image flashing each time, then the image disappears and is replaced by
"htf2" and the warnings stop.
setting bug status to New
Status: UNCONFIRMED → NEW
Ever confirmed: true
Status: NEW → ASSIGNED
Keywords: nsbeta3
Good test case for cache corruption. Thanks.
Priority: P3 → P1
Whiteboard: [nsbeta3+]
Changing to priority of P4 given that this appears from the comments in the bug
to only happen in FreeBSD.
Priority: P1 → P4
Whiteboard: [nsbeta3+] → [nsbeta3+][pdtp4]
Hey, this is P1. The cache DB get corrupted on all platforms. This can be caused
by any error page not just fast animations. And the corruptions causes us to
delete entire cache once it has filled up. And the corrupted entry always stays
in memory. We dont delete it at all. That is the analysis after we looked at the
bug.

BTW, please talk to us before changing priority, esp downgrading P1s. Thanks.

Changing it back to P1. Platform to ALL.
OS: FreeBSD → All
Priority: P4 → P1
dp checked in the fix
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: