Closed Bug 26582 Opened 25 years ago Closed 24 years ago

nsImageRequest isn't being notified of abort on missing disk based images

Categories

(Core :: Graphics: ImageLib, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED DUPLICATE of bug 35506

People

(Reporter: rods, Assigned: jud)

References

Details

(Whiteboard: [PDT-])

Attachments

(2 files)

no "aborted" notification come in callback.
Blocks: 24778
Status: NEW → ASSIGNED
Target Milestone: M14
Place a break point in the reflow of nsImageControlFrame. When it breaks 
there, then put a break point  at the top of ns_observer_proc in nsImageRequest 
and note that an abort doesn't come in.
Severity: normal → critical
Attached file Simple testcase
Rod,

When you say that  "nsImageRequest isn't being notified of abort on missing disk 
based images", does it mean that 
http://jazz/users/pnunn/publish/badimg.html is getting the abort and displaying 
the alternate text and if I load the same badimg.html locally from my disk

file:///E|/docs/imglib/badimg.html, the abort is not showing up and thus we 
cannot display the alternate text.

Is this correct? 

Thanks,
Neeti
What I am seeing in the attached test case, is when it goes to load 
"raptor2.jpg" which does NOT exist on disk (I am loading the page from disk), an 
abort never hits the nsImageRequest's call back method, and there no one else 
gets notified, so the alt text never gets created.
Rod:
I think I see the problem you describe. 
But there are a few confusing points in the
test sample.
The example given is the form for an image within
in a form, but no form tags surround it.

When I write the test url like this, its a little
easier to isolate the problem:
<body bgcolor="#FFFFFF" text="#000000">
<img src="raptor2.jpg" alt="gecko,too">
<form>
<input type=image src="raptor2.jpg" alt=Gecko>
</form>
</body>

In this case, I get an IL_ERROR_IMAGE_DATA_TRUNCATED for
the nonexistant image in the <img> tag, but none for the
nonexistant image within the form.

If I view the page from a server or from
a file, When I view the page from a file the notification
doesn't come up for the <img> tag or the image within
the form.

-Pamela
Attached file "<img src" testcase
Pamm, I am just not getting any notifications in nsImageRequest for raptor2.jpg 
in this small simeple testcase. Also, the form tags aren't requireed for image 
buttons.
changing to blocker
Severity: critical → blocker
Rod,

I am getting an IL_ERROR_IMAGE_DATA_TRUNCATED in the nsImageRequest method 
ns_observer_proc when I load 
the attached test 
case from a server 
http://bugzilla.mozilla.org/showattachment.cgi?attach_id=5062. 
and the alternate test "gecko" shows up.

However, when I copied your attached test case to a file locally on my harddrive 
and try to load it, I do not get any notifications in nsImageRequest.

Do you get any notifications when you run your test case from a server?

Neeti
Judson, Warren,

Imglib is not getting an OnStopRequest notification when there is a missing disk 
based img file. We are getting an nsFileChannel::OnStopRequest(). This is 
calling

nsDocumentOpenInfo::OnStopRequest()
{
  nsresult rv = NS_OK;
  if (m_targetStreamListener)
    m_targetStreamListener->OnStopRequest(aChannel, aCtxt, aStatus, errorMsg);

  m_targetStreamListener = 0;

  return rv;
}
In the above method m_targetStreamListener is null and it does not call 

m_targetStreamListener->OnStopRequest(..)

If I view a page from the server with a missing image file, the 
ImageConsumer::OnStopRequest(..) gets called.

Any clues on why this happening?

Thanks,
Neeti
Could this be another case of the stray OnStopRequest from http because of the 
load group problems with the cache transport? Cc'ing rpotts. (Neeti: You might 
want to go and talk to Rick about this.)
I haven't tried my example from a server, but other missing images from 
different web pages "appear" to working ok.
Blocks: 18267
Keywords: beta1
Warren, is this more your bug. Do you need help from us to deal with this. Looks
like from what I hear from neeti and pam, this is more that imglib doesn't get
notified even.
let's make sure there aren't any missing local disk based image files in beta 1
Whiteboard: [PDT-]
reassigning to warren
Assignee: pnunn → warren
Status: ASSIGNED → NEW
*** Bug 20188 has been marked as a duplicate of this bug. ***
Target Milestone: M14 → M15
[note to self: please verify duplicates of this bug upon its verification.]
Blocks: 32379
Blocks: 27388
Jud, can you look into this one? Thanks,
Assignee: warren → valeski
Moving to M16.
Target Milestone: M15 → M16
The socket and file transports are handling non-existant files inconsistently.

Socket transport: fire's an OnStart *and* OnStop when an img DNE.
File transport  : fire's an OnStop when an img DNE.

The URI loader sets up the target listener in it's OnStart callback (which it 
never gets in the DNE disk file case, thus the target listener is null and no 
callback perculates.
Status: NEW → ASSIGNED
Depends on: 35506
this will be fixed when we start firing onstarts from the file transport.


*** This bug has been marked as a duplicate of 35506 ***
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Rubber-stamping as verified; code-level issue. Rod/et al, please re-open if 
there's reason to.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: