Closed
Bug 612703
Opened 14 years ago
Closed 14 years ago
Downloading a 1 gig file will cause the Droid 2 to run out of memory and reboot
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(fennec2.0b3+)
VERIFIED
FIXED
Tracking | Status | |
---|---|---|
fennec | 2.0b3+ | --- |
People
(Reporter: nhirata, Assigned: wesj)
Details
Attachments
(2 files, 4 obsolete files)
22.15 KB,
text/plain
|
Details | |
2.44 KB,
patch
|
wesj
:
review+
|
Details | Diff | Splinter Review |
1. go to the app store and install SysMonitor 2. go to http://www.thinkbroadband.com/download.html 3. long tap the 1 gb file and save 4. open the System Notifications 5. wait Expected: the device would say that there's not enough space Actual: the device will try to download and reboot after a while.
Reporter | ||
Comment 1•14 years ago
|
||
Mozilla/5.0 (Android; Linux armv71; rv2.0b8pre) Gecko/20101116 Firefox/4.0b8pre Fennec/4.0b3pre
Comment 2•14 years ago
|
||
Wes, do we get the right file size? Does getAvailableSpace just not work?
Assignee: nobody → wjohnston
Assignee | ||
Comment 3•14 years ago
|
||
I do see a number coming from getAvailableSpace that seems reasonable. Trying to reproduce...
Group: mozilla-confidential
Comment 4•14 years ago
|
||
why is this Mozilla confidential?
Assignee | ||
Comment 5•14 years ago
|
||
Not sure. If I did that it was an unintentional click. I did eventually see the device reboot, even though I have plenty of space available on my SD card. (> 14GB)
Updated•14 years ago
|
Group: mozilla-confidential
Updated•14 years ago
|
Severity: normal → critical
tracking-fennec: --- → ?
Updated•14 years ago
|
tracking-fennec: ? → 2.0-
Updated•14 years ago
|
tracking-fennec: 2.0- → 2.0b4+
Assignee | ||
Comment 6•14 years ago
|
||
Attaching a logcat report from the download. There's probably a lot there we don't care about, but I wanted to save it somewhere. At a first glance, this looks like an OOM (not disk space) problem to me.
Assignee | ||
Comment 7•14 years ago
|
||
This is likely due to progressbars in the notification we are using. A simple script that just creates a progress notification and increments it a whole bunch over a few minutes will also eventually freeze. Likewise, there are some reports on stack overflow about similar problems: http://stackoverflow.com/questions/3390280/android-memory-leak-in-notification-service http://stackoverflow.com/questions/3608684/huge-memory-usage-in-notifications Still building to test. If this is the problem, maybe we limit updates to the notifications (i.e. only update the bar if the change is greater than x%)?
Assignee | ||
Comment 8•14 years ago
|
||
This changes the progress bars to only update when a certain percentage change has occurred (1% here), or when the text changes (trying to make sure we support changing the text without changing the percentage and vice versa). I have run some simple tests with faked progress bars here and this seems fine. Trying a download with a larger file (ubuntu iso) now.
Attachment #494055 -
Flags: review?(blassey.bugs)
Comment 9•14 years ago
|
||
Good catch! From those links it seems this is indeed a bug in the Android OS. I can't find a bug in their tracker for it though, perhaps we should file one, once we are sure that is the issue here.
Comment 10•14 years ago
|
||
Comment on attachment 494055 [details] [diff] [review] Patch v1 > String text; >+ int percent = 0; >+ if (aProgressMax > 0) >+ percent = (int)(100 * aProgress / aProgressMax); While you're here, please use NumberFormat.getPercentInstance().format(aProgress / aProgressMax); r+ other than that, but I want to double check your formatting code
Attachment #494055 -
Flags: review?(blassey.bugs) → review-
Comment 11•14 years ago
|
||
Comment on attachment 494055 [details] [diff] [review] Patch v1 > text = percent + "%"; err.... I meant use that here. I think percent should be a double for it to work though.
Assignee | ||
Comment 12•14 years ago
|
||
Revised to use NumberFormat stuff.
Attachment #494055 -
Attachment is obsolete: true
Attachment #494404 -
Flags: review?(blassey.bugs)
Assignee | ||
Comment 13•14 years ago
|
||
Arrgh. Forgot to mark as a patch.
Attachment #494404 -
Attachment is obsolete: true
Attachment #494406 -
Flags: review?(blassey.bugs)
Attachment #494404 -
Flags: review?(blassey.bugs)
Comment 14•14 years ago
|
||
Comment on attachment 494406 [details] [diff] [review] Patch v2 again as discussed on irc, percent ranges from 0 to 1, but the threshold is 1
Attachment #494406 -
Flags: review?(blassey.bugs) → review-
Assignee | ||
Comment 15•14 years ago
|
||
Sorry bout that. Testing this right now, but it has been running for around 15 minutes (the numbers update and everything now) and my system is still responsive.
Attachment #494406 -
Attachment is obsolete: true
Attachment #494448 -
Flags: review?(blassey.bugs)
Comment 16•14 years ago
|
||
Comment on attachment 494448 [details] [diff] [review] Patch v3 >+ if (!mPrevAlertText.equals(text) || Math.abs(mPrevPercent - percent) >= UPDATE_THRESHOLD) { one last nit, just return early here
Attachment #494448 -
Flags: review?(blassey.bugs) → review+
Assignee | ||
Comment 17•14 years ago
|
||
Reversed the logic of the if. Tested again with my little manual script.
Attachment #494448 -
Attachment is obsolete: true
Attachment #494470 -
Flags: review+
Updated•14 years ago
|
tracking-fennec: 2.0b4+ → 2.0b3+
Comment 18•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/5ae1f2fa0d9f
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Comment 19•13 years ago
|
||
I can't verify this bug because I get "The connection has timed out" page.. Does someone else see this too?
Comment 20•13 years ago
|
||
I verified this on Mozilla/5.0 (Android;Linux armv7l;rv:9.0a1)Gecko/20110911 Firefox/9.0a1 Fennec/9.0a1. 1. The device is not rebooted anymore 2. The message saying that "there's not enough space" is still missing. Instead, an empty message box is displayed.(for this issue, bug #686286 was logged)
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•