Closed Bug 615223 Opened 14 years ago Closed 13 years ago

Webpages loaded in the parent process (about:credits and UI-based iframes) fail to load [JavaScript component does not have a method named: 'available' when calling method: nsIInputStream::available]

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(firefox7 affected, firefox8 fixed, fennec8+)

VERIFIED FIXED
Firefox 8
Tracking Status
firefox7 --- affected
firefox8 --- fixed
fennec 8+ ---

People

(Reporter: anamaria.moldovan, Assigned: vingtetun)

References

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows NT 6.1; rv:2.0b8pre) Gecko/20101119 Firefox/4.0b8pre
Build Identifier: Mozilla /5.0 (Android;Linux armv7l;rv:2.0b8pre) Gecko/20101129 Firefox/4.0b8pre Fennec /4.0b3pre

Open remote page from another remote page with Browser.tabs.remote set to false fails

Reproducible: Always

Steps to Reproduce:
1. go to about:config
2. find browser.tabs.remote
3. set the browser.tabs.remote to false
4. restart the web browser
5. go to url: http://www.google.com


Actual Results:  
The webpage doesn't load.

Expected Results:  
The webpage should load.

Note: 

TC in Litmus: https://litmus.mozilla.org/show_test.cgi?id=12961

Please also have a look at: https://litmus.mozilla.org/show_test.cgi?id=12960
OS: Other → Android
Hardware: Other → ARM
Summary: Open remote page from another remote page with Browser.tabs.remote set to false fails → Webpages won't load when browser.tabs.remote is set to false
Using a Linux desktop debug build, I see:

[Exception... "'JavaScript component does not have a method named: "available"' when calling method: [nsIInputStream::available]"  nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)"  location: "<unknown>"  data: no]

Which happens here:

http://mxr.mozilla.org/mozilla-central/source/xpcom/io/nsMultiplexInputStream.cpp#199
tracking-fennec: --- → ?
Breakpoint 2, nsMultiplexInputStream::AppendStream (this=0x7fffd423fa00, aStream=0x7fffd41fdd80) at /home/mfinkle/source/mozilla-trunk/mozilla/xpcom io/nsMultiplexInputStream.cpp:128

#0  nsMultiplexInputStream::AppendStream (this=0x7fffd423fa00, aStream=0x7fffd41fdd80)
    at /home/mfinkle/source/mozilla-trunk/mozilla/xpcom/io/nsMultiplexInputStream.cpp:128
#1  0x00007ffff402514c in nsHttpTransaction::Init (this=0x7fffd424a400, caps=1 '\001', cinfo=0x7fffd423f640, requestHead=0x7fffd69484e0, 
    requestBody=0x7fffd41fdd80, requestBodyHasHeaders=1, target=0x7fffeb0e88c0, callbacks=0x7fffd42552b0, eventsink=0x7fffd69485a0, 
    responseBody=0x7fffffffd430) at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpTransaction.cpp:295
#2  0x00007ffff403a666 in nsHttpChannel::SetupTransaction (this=0x7fffd6948400)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpChannel.cpp:667
#3  0x00007ffff4038db8 in nsHttpChannel::Connect (this=0x7fffd6948400, firstTime=0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpChannel.cpp:318
#4  0x00007ffff4040bf2 in nsHttpChannel::OnNormalCacheEntryAvailable (this=0x7fffd6948400, aEntry=0x7fffd423fac0, aAccess=2, aEntryStatus=0, 
    aIsSync=0) at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpChannel.cpp:2275
#5  0x00007ffff40495d2 in nsHttpChannel::OnCacheEntryAvailable (this=0x7fffd6948400, entry=0x7fffd423fac0, access=2, status=0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpChannel.cpp:4471
#6  0x00007ffff3fc9602 in nsCacheListenerEvent::Run (this=0x7fffd4255820)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/cache/nsCacheService.cpp:1441
#7  0x00007ffff571ff21 in nsThread::ProcessNextEvent (this=0x7fffeb0e88c0, mayWait=0, result=0x7fffffffd87c)
    at /home/mfinkle/source/mozilla-trunk/mozilla/xpcom/threads/nsThread.cpp:626
#8  0x00007ffff56a2fc8 in NS_ProcessNextEvent_P (thread=0x7fffeb0e88c0, mayWait=0) at nsThreadUtils.cpp:250
#9  0x00007ffff54d8214 in mozilla::ipc::MessagePump::Run (this=0x7fffe5a23900, aDelegate=0x7fffe5a0f6a0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/ipc/glue/MessagePump.cpp:110
#10 0x00007ffff578efcd in MessageLoop::RunInternal (this=0x7fffe5a0f6a0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/ipc/chromium/src/base/message_loop.cc:219
#11 0x00007ffff578ef52 in MessageLoop::RunHandler (this=0x7fffe5a0f6a0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/ipc/chromium/src/base/message_loop.cc:202
#12 0x00007ffff578eee3 in MessageLoop::Run (this=0x7fffe5a0f6a0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/ipc/chromium/src/base/message_loop.cc:176
#13 0x00007ffff5357c1b in nsBaseAppShell::Run (this=0x7fffe24a1800)
    at /home/mfinkle/source/mozilla-trunk/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:181
#14 0x00007ffff5097519 in nsAppStartup::Run (this=0x7fffe25b90b0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/toolkit/components/startup/src/nsAppStartup.cpp:191
#15 0x00007ffff3ee6269 in XRE_main (argc=1, argv=0x7fffffffe348, aAppData=0x7fffeb029080)
    at /home/mfinkle/source/mozilla-trunk/mozilla/toolkit/xre/nsAppRunner.cpp:3691
#16 0x0000000000401ea2 in main (argc=1, argv=0x7fffffffe348) at /home/mfinkle/source/mozilla-trunk/mozilla/mobile/app/nsBrowserApp.cpp:155
Breakpoint 1, nsMultiplexInputStream::Available (this=0x7fffd423fa00, _retval=0x7fffd424a480) at /home/mfinkle/source/mozilla-trunk/mozilla/xpcom/io/nsMultiplexInputStream.cpp:190

#0  nsMultiplexInputStream::Available (this=0x7fffd423fa00, _retval=0x7fffd424a480)
    at /home/mfinkle/source/mozilla-trunk/mozilla/xpcom/io/nsMultiplexInputStream.cpp:190
#1  0x00007ffff3f2d6ed in nsBufferedInputStream::Available (this=0x7fffd42aae60, result=0x7fffd424a480)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/base/src/nsBufferedStreams.cpp:316
#2  0x00007ffff4025256 in nsHttpTransaction::Init (this=0x7fffd424a400, caps=1 '\001', cinfo=0x7fffd423f640, requestHead=0x7fffd69484e0, 
    requestBody=0x7fffd41fdd80, requestBodyHasHeaders=1, target=0x7fffeb0e88c0, callbacks=0x7fffd42552b0, eventsink=0x7fffd69485a0, 
    responseBody=0x7fffffffd430) at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpTransaction.cpp:308
#3  0x00007ffff403a666 in nsHttpChannel::SetupTransaction (this=0x7fffd6948400)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpChannel.cpp:667
#4  0x00007ffff4038db8 in nsHttpChannel::Connect (this=0x7fffd6948400, firstTime=0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpChannel.cpp:318
#5  0x00007ffff4040bf2 in nsHttpChannel::OnNormalCacheEntryAvailable (this=0x7fffd6948400, aEntry=0x7fffd423fac0, aAccess=2, aEntryStatus=0, 
    aIsSync=0) at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpChannel.cpp:2275
#6  0x00007ffff40495d2 in nsHttpChannel::OnCacheEntryAvailable (this=0x7fffd6948400, entry=0x7fffd423fac0, access=2, status=0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/protocol/http/nsHttpChannel.cpp:4471
#7  0x00007ffff3fc9602 in nsCacheListenerEvent::Run (this=0x7fffd4255820)
    at /home/mfinkle/source/mozilla-trunk/mozilla/netwerk/cache/nsCacheService.cpp:1441
#8  0x00007ffff571ff21 in nsThread::ProcessNextEvent (this=0x7fffeb0e88c0, mayWait=0, result=0x7fffffffd87c)
    at /home/mfinkle/source/mozilla-trunk/mozilla/xpcom/threads/nsThread.cpp:626
#9  0x00007ffff56a2fc8 in NS_ProcessNextEvent_P (thread=0x7fffeb0e88c0, mayWait=0) at nsThreadUtils.cpp:250
#10 0x00007ffff54d8214 in mozilla::ipc::MessagePump::Run (this=0x7fffe5a23900, aDelegate=0x7fffe5a0f6a0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/ipc/glue/MessagePump.cpp:110
#11 0x00007ffff578efcd in MessageLoop::RunInternal (this=0x7fffe5a0f6a0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/ipc/chromium/src/base/message_loop.cc:219
#12 0x00007ffff578ef52 in MessageLoop::RunHandler (this=0x7fffe5a0f6a0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/ipc/chromium/src/base/message_loop.cc:202
#13 0x00007ffff578eee3 in MessageLoop::Run (this=0x7fffe5a0f6a0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/ipc/chromium/src/base/message_loop.cc:176
---Type <return> to continue, or q <return> to quit---
#14 0x00007ffff5357c1b in nsBaseAppShell::Run (this=0x7fffe24a1800)
    at /home/mfinkle/source/mozilla-trunk/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:181
#15 0x00007ffff5097519 in nsAppStartup::Run (this=0x7fffe25b90b0)
    at /home/mfinkle/source/mozilla-trunk/mozilla/toolkit/components/startup/src/nsAppStartup.cpp:191
#16 0x00007ffff3ee6269 in XRE_main (argc=1, argv=0x7fffffffe348, aAppData=0x7fffeb029080)
    at /home/mfinkle/source/mozilla-trunk/mozilla/toolkit/xre/nsAppRunner.cpp:3691
#17 0x0000000000401ea2 in main (argc=1, argv=0x7fffffffe348) at /home/mfinkle/source/mozilla-trunk/mozilla/mobile/app/nsBrowserApp.cpp:155
jason, this sounds wrong.  I do not think this should block (cause we aren't shipping that way), but is this something you want to look at?
tracking-fennec: ? → 2.0-
Summary: Webpages won't load when browser.tabs.remote is set to false → Webpages won't load when browser.tabs.remote is set to false [Exception... "'JavaScript component does not have a method named: "available"' when calling method: [nsIInputStream::available]"
This is affecting some pages, like about:credits, which load web pages into local tabs. see bug 624345.
Whiteboard: [fennec-4.1?]
Are we still supporting browser.tabs.remote?  Is that some single process version of fennec I haven't heard about?

Also, comment 7 implies browser.tabs.remove is set to 0 for about:credits?  I thought it was a global setting.
"browser.tabs.remote" is a global setting and is set to true, but since "about:credits" is an "about:" page it is loaded into a non-e10s browser. Also, "about:credits" opens http;// content, not chrome:// content, so the error occurs.
We need this for about:credits type pages and UI-base iframes (UI loaded from the Web)
tracking-fennec: - → 7+
Summary: Webpages won't load when browser.tabs.remote is set to false [Exception... "'JavaScript component does not have a method named: "available"' when calling method: [nsIInputStream::available]" → Webpages loaded in the parent process (about:credits and UI-based iframes) fail to load [JavaScript component does not have a method named: 'available' when calling method: nsIInputStream::available]
Whiteboard: [fennec-4.1?]
Attached patch PatchSplinter Review
One liner
Assignee: nobody → 21
Attachment #536680 - Flags: review?(mark.finkle)
Comment on attachment 536680 [details] [diff] [review]
Patch

Ugh!
Attachment #536680 - Flags: review?(mark.finkle) → review+
try for aurora too
tracking-fennec: 7+ → 6+
m-c changeset:
http://hg.mozilla.org/mozilla-central/rev/e36cf5419cbf

Still need to push it to aurora but need approval first.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 7
Verified fixed on Nightly: Mozilla /5.0 (Android;Linux armv7l;rv:8.0a1) Gecko/20110713 Firefox/8.0a1 Fennec/8.0a1 

still reproducible on Aurora: Mozilla /5.0 (Android;Linux armv7l;rv:7.0a2) Gecko/20110713 Firefox/7.0a2 Fennec/7.0a2

Which Firefox is tracking?
(In reply to comment #16)
> Verified fixed on Nightly: Mozilla /5.0 (Android;Linux armv7l;rv:8.0a1)
> Gecko/20110713 Firefox/8.0a1 Fennec/8.0a1 
> 
> still reproducible on Aurora: Mozilla /5.0 (Android;Linux armv7l;rv:7.0a2)
> Gecko/20110713 Firefox/7.0a2 Fennec/7.0a2
> 
> Which Firefox is tracking?

The same fix is in Fx7, so I am worried that you can't verify there
tracking-fennec: 6+ → 7+
This is tracking Firefox 7, I verified again on today's build: Mozilla /5.0 (Android;Linux armv7l;rv:7.0a2) Gecko/20110720 Firefox/7.0a2 Fennec/7.0a2. Since I can still reproduce it I'm reopening it.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Fixed on Fx8. Set flags to track for fx7
Status: REOPENED → RESOLVED
Closed: 13 years ago13 years ago
Resolution: --- → FIXED
Verified fixed on Nightly: Mozilla /5.0 (Android;Linux armv7l;rv:8.0a1) Gecko/20110721 Firefox/8.0a1 Fennec/8.0a1 
Device: LG Optimus 2X
Status: RESOLVED → VERIFIED
tracking-fennec: 7+ → 8+
Target Milestone: Firefox 7 → Firefox 8
Since there is no real need to have this fixed on fx7 and it is fixed on fx8, I am changing the flags and we can move on.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: