Closed
Bug 849589
Opened 12 years ago
Closed 12 years ago
Intermittent robocop PROCESS-CRASH | java-exception | java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java:32)
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox21 unaffected, firefox22- wontfix, firefox23- wontfix, firefox24 fixed, fennec-)
RESOLVED
FIXED
Firefox 24
People
(Reporter: RyanVM, Assigned: cpeterson)
References
Details
(Keywords: crash, intermittent-failure, regression, Whiteboard: [native-crash][startupcrash])
Crash Data
Attachments
(3 files)
3.21 KB,
patch
|
glandium
:
review+
|
Details | Diff | Splinter Review |
3.21 KB,
patch
|
glandium
:
review+
lsblakk
:
approval-mozilla-aurora+
lsblakk
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
1.45 KB,
patch
|
glandium
:
review+
|
Details | Diff | Splinter Review |
https://tbpl.mozilla.org/php/getParsedLog.php?id=20496559&tree=Mozilla-Inbound
Android 4.0 Panda mozilla-inbound opt test robocop-2 on 2013-03-09 15:10:16 PST for push 80f3b6ae39bb
slave: panda-0563
0 INFO SimpleTest START
1 INFO TEST-START | testAddonManager
waitForText timeout on ^Add-ons$
2 INFO TEST-PASS | testAddonManager | Page title is correct - Add-ons should equal Add-ons
3 INFO TEST-PASS | testAddonManager | Awesomebar URL typed properly - about:addons should equal about:addons
4 INFO TEST-PASS | testAddonManager | Page title is correct - Add-ons should equal Add-ons
5 INFO TEST-PASS | testAddonManager | The correct number of tabs are opened - 2 should equal 2
6 INFO TEST-PASS | testAddonManager | Page title is correct - Browser Blank Page 01 should equal Browser Blank Page 01
waitForText timeout on ^Add-ons$
7 INFO TEST-PASS | testAddonManager | The correct number of tabs are opened - 2 should equal 2
8 INFO TEST-END | testAddonManager | finished in 66096ms
9 INFO TEST-START | Shutdown
10 INFO Passed: 6
11 INFO Failed: 0
12 INFO Todo: 0
13 INFO SimpleTest FINISHED
INFO | automation.py | Application ran for: 0:01:11.338057
INFO | automation.py | Reading PID log: /tmp/tmpMqgf0ypidlog
PROCESS-CRASH | java-exception | java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java:32)
WARNING | automationutils.processLeakLog() | refcount logging is off, so leaks can't be detected!
INFO | runtests.py | Running tests: end.
Updated•12 years ago
|
status-firefox21:
--- → unaffected
status-firefox22:
--- → affected
OS: Windows 7 → Android
Hardware: x86_64 → All
Version: Trunk → Firefox 22
Updated•12 years ago
|
Severity: normal → critical
Crash Signature: [@ java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java) ]
Keywords: crash,
regression
Hardware: All → ARM
![]() |
||
Updated•12 years ago
|
Whiteboard: [native-crash]
Comment 2•12 years ago
|
||
This doesn't make much sense.
Comment 3•12 years ago
|
||
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Updated•12 years ago
|
status-firefox23:
--- → affected
Comment hidden (Legacy TBPL/Treeherder Robot) |
Assignee | ||
Comment 11•12 years ago
|
||
glandium, I think this NativeZip exception might be caused when NativeZip.createInputStream() returns an InflaterInputStream instead of ByteBufferInputStream here:
https://hg.mozilla.org/mozilla-central/file/b0d842380959/mobile/android/base/mozglue/NativeZip.java#l76
InflaterInputStream is not an instance of ByteBufferInputStream.
Comment hidden (Legacy TBPL/Treeherder Robot) |
Assignee | ||
Comment 13•12 years ago
|
||
glandium, why does the NativeZip reject InputStreams that are not ByteBufferInputStream instances when NativeZip.createInputStream() can return an InflaterInputStream? Please see comment 11.
Flags: needinfo?(mh+mozilla)
Comment 14•12 years ago
|
||
(In reply to Chris Peterson (:cpeterson) from comment #13)
> glandium, why does the NativeZip reject InputStreams that are not
> ByteBufferInputStream instances when NativeZip.createInputStream() can
> return an InflaterInputStream? Please see comment 11.
Because while it can theoretically be supported, it's not necessary. Which is why I wrote comment 2. This error can theoretically not happen, because it would require the omni.ja to be deflated which it is not.
Flags: needinfo?(mh+mozilla)
Assignee | ||
Comment 15•12 years ago
|
||
Add more descriptive error messages to NativeZip exceptions. This patch does not fix the crash, but it adds more details about what's going wrong to the exception description that is logged.
I also removed the InflaterInputStream code because you said it should never happen (and if it *did*, the NativeZip constructor's `instanceof ByteBufferInputStream` would fail like it is now).
Here is an Android try build with these exceptions:
https://tbpl.mozilla.org/?tree=Try&rev=6442a9d8f192
Attachment #739333 -
Flags: review?(mh+mozilla)
Updated•12 years ago
|
Whiteboard: [native-crash] → [native-crash][leave open]
Updated•12 years ago
|
Attachment #739333 -
Flags: review?(mh+mozilla) → review+
Assignee | ||
Comment 16•12 years ago
|
||
Comment 17•12 years ago
|
||
Comment 19•12 years ago
|
||
STR: Open a 'New Private Tab'
bp-9c146cdd-fcac-4ec7-8b64-a31422130422
--
Nightly (04/22)
LG Nexus 4 (Android 4.2.2)
Updated•12 years ago
|
Assignee: nobody → cpeterson
Comment 20•12 years ago
|
||
Crash Signature: [@ java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java) ] → [@ java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java) ]
[@ java.lang.IllegalArgumentException: Got class java.util.zip.InflaterInputStream, but expected ByteBufferInputStream!…
Updated•12 years ago
|
Crash Signature: , but expected ByteBufferInputStream! at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java) ] → , but expected ByteBufferInputStream! at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java) ]
[@ java.lang.IllegalArgumentException: Invalid path or invalid zip at org.mozilla.gecko.mozglue.NativeZip.getZip(Native Method) ]
Assignee | ||
Updated•12 years ago
|
Summary: Intermittent robocop PROCESS-CRASH | java-exception | java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java:32) → Opening a "New Private Tab" crashes | Intermittent robocop PROCESS-CRASH | java-exception | java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java:32)
Comment 21•12 years ago
|
||
Were the problems before landing the original patch about opening a "New Private Tab"?
Assignee | ||
Comment 22•12 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #21)
> Were the problems before landing the original patch about opening a "New
> Private Tab"?
No. The original problem was the intermittent robocop crash. I think I should back out all my NativeZip changes. Then we only have the robocop problems and no Private Browsing crashes.
Comment 23•12 years ago
|
||
(In reply to Chris Peterson (:cpeterson) from comment #22)
> (In reply to Mike Hommey [:glandium] from comment #21)
> > Were the problems before landing the original patch about opening a "New
> > Private Tab"?
>
> No. The original problem was the intermittent robocop crash. I think I
> should back out all my NativeZip changes. Then we only have the robocop
> problems and no Private Browsing crashes.
Wasn't bug 849639 supposed to fix that? The remainder should be related to the original robocop crashes, but with a more accurate log, shouldn't it?
Assignee | ||
Comment 24•12 years ago
|
||
Yes, I spoke too soon. The crash report linked from comment 20 was in build 2013-04-25, which has the "New Private Tab" crash fix. (I just verified.) So that crash report must be for a different compressed resource. I don't know why these crashes would be intermittent.
Summary: Opening a "New Private Tab" crashes | Intermittent robocop PROCESS-CRASH | java-exception | java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java:32) → Intermittent robocop PROCESS-CRASH | java-exception | java.lang.RuntimeException: Only ByteBufferInputStream is supported at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java:32)
Updated•12 years ago
|
Whiteboard: [native-crash][leave open] → [native-crash][startupcrash][leave open]
Comment 25•12 years ago
|
||
It's #7 top crasher in 22.0a2 and #23 in 23.0a1.
tracking-firefox22:
--- → ?
Keywords: topcrash
Updated•12 years ago
|
Updated•12 years ago
|
status-firefox24:
--- → affected
Comment hidden (Legacy TBPL/Treeherder Robot) |
Assignee | ||
Comment 28•12 years ago
|
||
Assignee | ||
Comment 29•12 years ago
|
||
Comment on attachment 754173 [details] [diff] [review]
Catch and log intermittent NativeZip exception. r=
Catch and log intermittent NativeZip exception. I still can't reproduce this intermittent exception locally, so this patch is a temporary band-aid, not a real fix. Since this is a topcrash in the field, I'd like to catch and ignore this exception in Aurora 23 and Beta 22.
For Nightly 24, I will post a follow-up patch that throws an exception with a more descriptive message for testing.
Attachment #754173 -
Flags: review?(mh+mozilla)
Assignee | ||
Comment 30•12 years ago
|
||
Assignee | ||
Comment 31•12 years ago
|
||
Comment on attachment 754178 [details] [diff] [review]
Rethrow intermittent NativeZip exception with more debugging info. r=
Rethrow intermittent NativeZip exception with more debugging info. This band-aid patch is intended for Nightly only. It does not mask the NativeZip exception (like my other patch), but it includes the full jar:jar: URL of the problematic resource. This should make tracking down this intermittent exception easier.
Attachment #754178 -
Flags: review?(mh+mozilla)
Updated•12 years ago
|
Attachment #754178 -
Flags: review?(mh+mozilla) → review+
Updated•12 years ago
|
Attachment #754173 -
Flags: review?(mh+mozilla) → review+
Assignee | ||
Comment 32•12 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/24d2497e1fa9
https://hg.mozilla.org/integration/mozilla-inbound/rev/07cbebfba8c1
Status: NEW → ASSIGNED
Assignee | ||
Comment 33•12 years ago
|
||
Comment on attachment 754173 [details] [diff] [review]
Catch and log intermittent NativeZip exception. r=
[Approval Request Comment]
Bug caused by (feature/regressing bug #): We don't know.
User impact if declined: Continued topcrash on Android.
Testing completed (on m-c, etc.): Locally.
Risk to taking this patch (and alternatives if risky): Low risk band-aid patch. This is not a complete fix! This patch just catches an intermittent exception and returns null, which is already a valid return value for this function. The caller code will just skip the loading of a resource image. We can then wait for any bug reports about missing resource images.
String or IDL/UUID changes made by this patch: N/A
Attachment #754173 -
Flags: approval-mozilla-beta?
Attachment #754173 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 34•12 years ago
|
||
Comment on attachment 754178 [details] [diff] [review]
Rethrow intermittent NativeZip exception with more debugging info. r=
And just to be clear, this second patch ("Rethrow intermittent NativeZip exception") SHOULD NOT be uplifted because it is debugging code that will still throw (more informative) exceptions!
Comment 35•12 years ago
|
||
Updated•12 years ago
|
Attachment #754173 -
Flags: approval-mozilla-beta?
Attachment #754173 -
Flags: approval-mozilla-beta+
Attachment #754173 -
Flags: approval-mozilla-aurora?
Attachment #754173 -
Flags: approval-mozilla-aurora+
Assignee | ||
Comment 36•12 years ago
|
||
Assignee | ||
Comment 37•12 years ago
|
||
Updated•12 years ago
|
Comment 38•12 years ago
|
||
There are still crashes in 22.0b3: #27 crasher.
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment 40•12 years ago
|
||
Here is a crash report with debug info: bp-86fb7a19-0fe3-40e6-badf-66cbd2130601.
Assignee | ||
Comment 41•12 years ago
|
||
(In reply to Scoobidiver from comment #40)
> Here is a crash report with debug info:
> bp-86fb7a19-0fe3-40e6-badf-66cbd2130601.
java.lang.IllegalArgumentException: !!! BUG 849589 !!! origUrl=jar:jar:file:///data/app/org.mozilla.fennec-2.apk!/omni.ja!/chrome/chrome/content/branding/favicon64.png
at org.mozilla.gecko.util.GeckoJarReader.getStream(GeckoJarReader.java:115)
at org.mozilla.gecko.util.GeckoJarReader.getBitmapDrawable(GeckoJarReader.java:43)
at org.mozilla.gecko.util.GeckoJarReader.getBitmap(GeckoJarReader.java:30)
at org.mozilla.gecko.Favicons$LoadFaviconTask.downloadFavicon(Favicons.java:286)
at org.mozilla.gecko.Favicons$LoadFaviconTask.doInBackground(Favicons.java:380)
at org.mozilla.gecko.Favicons$LoadFaviconTask.doInBackground(Favicons.java:245)
at org.mozilla.gecko.util.UiAsyncTask$BackgroundTaskRunnable.run(UiAsyncTask.java:48)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at org.mozilla.gecko.util.GeckoBackgroundThread.run(GeckoBackgroundThread.java:32)
Comment 42•12 years ago
|
||
(In reply to Scoobidiver from comment #38)
> There are still crashes in 22.0b3: #27 crasher.
We may untrack given the latest crash volume. Does this qualify as a topcrash on any branch at this point?
Comment 43•12 years ago
|
||
(In reply to Alex Keybl [:akeybl] from comment #42)
> We may untrack given the latest crash volume. Does this qualify as a
> topcrash on any branch at this point?
With combined signatures (comment 38 was for one signature at the beginning of 22.0b3), it's #13 crasher in 22.0b3 (#12 unfixed) so technically not a top crasher but very close to the Android threshold.
Updated•12 years ago
|
Crash Signature: , but expected ByteBufferInputStream! at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java) ]
[@ java.lang.IllegalArgumentException: Invalid path or invalid zip at org.mozilla.gecko.mozglue.NativeZip.getZip(Native Method) ] → , but expected ByteBufferInputStream! at org.mozilla.gecko.mozglue.NativeZip.<init>(NativeZip.java) ]
[@ java.lang.IllegalArgumentException: Invalid path or invalid zip at org.mozilla.gecko.mozglue.NativeZip.getZip(Native Method) ]
[@ java.lang.IllegalA…
Updated•12 years ago
|
Hardware: ARM → All
Comment 45•12 years ago
|
||
It's #5 top crasher in 22.0 and #55 in 23.0a2.
Comment 47•12 years ago
|
||
(In reply to Brad Lassey [:blassey] (use needinfo?) from comment #46)
> so not a top crasher for anything but release
Some kinds of startup crashes behave that way either a top crasher in the first regressing version or a top crasher only for Release and Beta (23.0b1 is not yet released).
You assumed the first assumption. If it's the second, I'll ask again a tracking.
Comment 48•12 years ago
|
||
We'll wait to hear back on b1 and comment 47 before making a decision on tracking
Comment 50•12 years ago
|
||
It's only #178 crasher in 23.0b1.
Assignee | ||
Updated•12 years ago
|
Assignee: cpeterson → nobody
Status: ASSIGNED → NEW
Comment 51•12 years ago
|
||
It's not a top crasher for any current channels: #59 in 23.0 for instance.
Keywords: topcrash
Updated•12 years ago
|
status-firefox26:
--- → affected
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: [native-crash][startupcrash][leave open] → [native-crash][startupcrash]
Reporter | ||
Updated•12 years ago
|
Assignee: nobody → cpeterson
Target Milestone: --- → Firefox 24
Reporter | ||
Updated•12 years ago
|
Updated•5 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•