Closed Bug 826846 Opened 11 years ago Closed 11 years ago

Infinite Crash Loop of Doom on the Homescreen if I reinstall a packaged app that already exists - phone homescreen becomes entirely unusable, even after a power down and power up

Categories

(Firefox OS Graveyard :: General, defect)

ARM
Gonk (Firefox OS)
defect
Not set
blocker

Tracking

(blocking-basecamp:+, firefox19 wontfix, firefox20 wontfix, firefox21 fixed, b2g18 fixed)

VERIFIED FIXED
B2G C4 (2jan on)
blocking-basecamp +
Tracking Status
firefox19 --- wontfix
firefox20 --- wontfix
firefox21 --- fixed
b2g18 --- fixed

People

(Reporter: jsmith, Assigned: jduell.mcbugs)

References

Details

(Keywords: crash, regression, reproducible, Whiteboard: [b2g-crash])

Crash Data

Attachments

(3 files)

Attached file Logcat
Build: B2G 18 1/3/2013
Device: Unagi

Steps:

1. Install a packaged app from http://mozqa.com/webapi-permissions-tests/ ("Packaged App Test Case 2" was the one I used)
2. After installation completes, reinstall that packaged app

Expected:

The app should be successfully installed.

Actual:

The homescreen crashes. Then, after going past the crash reporter dialog, the homecsreen crashes again. And again. And it goes into an infinite crash loop of doom.

This looks bad:

01-04 21:59:06.773: I/Gecko(926): [Child 926] ###!!! ABORT: [PRemoteOpenFileChild] abort()ing as a result: file PRemoteOpenFileChild.cpp, line 361
This is probably the worst crash I've ever seen. The homescreen goes into an infinite crash loop making it unusable.
Severity: normal → blocker
blocking-basecamp: --- → ?
Keywords: crash
Yup, this looking bad.

Would be interesting to understand both why we are crashing here, since apps shouldn't be able to crash, and why this is an error situation at all.
Here's a dump of every crash report that was submitted in the infinite crash loop.

Looks like it's consistently these two stacks that I'm seeing:

https://crash-stats.mozilla.com/report/index/bp-f90b9616-3887-4080-86ab-6c5be2130104

https://crash-stats.mozilla.com/report/index/bp-f81bf21d-ea00-4a95-9045-8e2172130104
Btw - if you power off the phone and restart it, you'll still get the crashers after you go back to the homescreen.

So basically the phone is borked at this point.
Summary: Infinite Crash Loop of Doom on the Homescreen if I reinstall a packaged app that already exists → Infinite Crash Loop of Doom on the Homescreen if I reinstall a packaged app that already exists - phone homescreen becomes entirely unusable, even after a power down and power up
So I re-flashed a fresh build and tried the repro steps again - it's consistently 100% reproducible.
Keywords: reproducible
(In reply to Jason Smith [:jsmith] from comment #6)
> So I re-flashed a fresh build and tried the repro steps again - it's
> consistently 100% reproducible.

And I just got it to reproduce on a different phone too.
Adding the two signatures so it gets picked up in crash stats.
Crash Signature: [@ arena_malloc] [@ PR_AtomicDecrement]
Maybe a regression from bug 815523
Keywords: regression
Apparently this also reproduces after installing two large packaged apps and viewing it the settings apps perms UI.
Crash Signature: [@ arena_malloc] [@ PR_AtomicDecrement] → [@ arena_malloc] [@ PR_AtomicDecrement] [@ mozalloc_abort | pthread_mutex_unlock]
Whiteboard: [b2g-crash]
Blocking and over to jduell to investigate whether this has something to do with bug 815523.
Assignee: nobody → jduell.mcbugs
blocking-basecamp: ? → +
What was happening:  The HomeScreen app was getting launched, and tried to open the application.zip for an application, but that file no longer exists (which is going to be a separate bug: looks like "install twice" == remove application.zip).  

IPDL kills the child process if you try to send fd==-1 as a file descriptor, so work around it by using a separate IPDL message.  Now we return NS_FILE_NOT_FOUND instead of crashing.  This gets rid of the thundering herd of dying HomeScreen apps that renders the phone useless.
Attachment #698744 - Flags: review?(josh)
Blocks: 827502
Attachment #698744 - Flags: review?(josh) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/2c0352886e95
https://hg.mozilla.org/releases/mozilla-b2g18/rev/c68fd32f4336

Seemingly valid rumor has it that I should mark B2G blockers FIXED as soon as they're on inbound/b2g18, and don't need to wait for m-c.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Keywords: verifyme
I've verified that the crash on the phone is fixed, and gets replaced by bug 827502 :)
Keywords: verifyme
Target Milestone: --- → B2G C4 (2jan on)
Verified then per comment 14
Status: RESOLVED → VERIFIED
Blocks: app-install
No longer blocks: market-packaged-apps
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: