Closed
Bug 945643
Opened 12 years ago
Closed 7 years ago
[Flatfish][USBStorage] System crash after toggling switches related to USB/Media Storage for 5 minutes
Categories
(Firefox OS Graveyard :: General, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: ericcc, Unassigned)
Details
(Whiteboard: [flatfish][TCP][POVB])
Attachments
(3 files)
Gaia: f23aebebcd28c4d19347def77c4836c8baebc2ce │
Gecko: 09582d9c4aa951e5288e8805b8593d212ad7f6cf │
BuildID 20131202064521 │
Version 28.0a1 │
ro.build.version.incremental=20131202
1. Open "Settings", go to "Storage" section.
2. Connect phone to a computer.
3. Tap the following toggles/item in random order for 5 minutes.
3.1 "USB storage" switch
3.2 "Application storage".
3.3 "USB storage" switch inside "Media storage".
3.4 "Sharing using USB" switch under "Internal Storage" inside "Media storage".
3.5 "Sharing using USB" switch under "SD Card Storage" inside "Media storage".
3.6 "Sharing using USB" switch under "SD Card Storage 2" inside "Media storage".
4. (ISSUE) Flatfish becomes not that responsive, and gaia crashes (Check USBStorageGaiaCrash.log)
5. (ISSUE) Flatfish becomes not that responsive, and system crashes (Check USBStorageEverythingCrash.log)
You need to play with the toggles randomly for couple minutes to reproduce this issue, I have tried for couple days, still not able to find a easy/exact way to reproduce this.
| Reporter | ||
Comment 1•12 years ago
|
||
| Reporter | ||
Comment 2•12 years ago
|
||
| Reporter | ||
Updated•12 years ago
|
blocking-b2g: --- → 1.3?
Flags: needinfo?(frlee)
Comment 3•12 years ago
|
||
this is stability issue. change it to 1.3+
hi Alan,
could you please kindly take a look of this bug, especially the logs attached? this will definitely impact developer release experience.
blocking-b2g: 1.3? → 1.3+
Flags: needinfo?(frlee)
Updated•12 years ago
|
Flags: needinfo?(ahuang)
Comment 4•12 years ago
|
||
Hello, do we have parsed crash report for this "crash" bug?
Flags: needinfo?(ahuang) → needinfo?(echang)
Comment 5•12 years ago
|
||
I have one more question: this seems to be a Flatfish specific bug. Why it is a 1.3+ ?
Comment 6•12 years ago
|
||
hi Alan,
Flatfish will be released for developer. a crash issue is critical as stability/functionality are the minimum for developer to use this tablet for further contribution.
Comment 7•12 years ago
|
||
That still doesn't prevent any shipping device to ship. We should not block 1.3 on that.
Comment 8•12 years ago
|
||
I think I need to get a device or get to QA first, since I don't see crash (stability issue) from the log. I only see function not working.
I/AutoMounter( 1279): UpdateState: umsAvail:1 umsEnabled:1 mode:1 usbCablePluggedIn:1 tryToShare:1
I/AutoMounter( 1279): UpdateState: Volume sdcard is Shared and inserted
I/AutoMounter( 1279): UpdateState: Unsharing sdcard
E/Vold ( 1270): ---wait :28 0
E/Vold ( 1270): ---wait :29 0
E/Vold ( 1270): Unable to write to ums lunfile (Device or resource busy)
I/Vold ( 1270): unshareVolume: lun = 2
W/Vold ( 1270): Volume::unshareVol
I/Vold ( 1270): unshareVol: umslun '/sys/class/android_usb/android0/f_mass_storage/lun/file'
| Reporter | ||
Comment 9•12 years ago
|
||
Hi Alan Do you need me to reproduce that again, but last time, we cannot get anything from adb bugreport, is there any other way to get more info?
Flags: needinfo?(echang)
Comment 10•12 years ago
|
||
I would suggest flatfish partner to check on this bug. I found the system crash here is actually kernel hang. Also, they may need to check on their fstab and kernel to see the the ums lunfile unavailable problem.
Comment 12•12 years ago
|
||
Yeah, I think so. But I would like to leave this flexibility to TAM.
Flags: needinfo?(ahuang)
Comment 13•12 years ago
|
||
hi Raymond,
would you please let your RD to check kernel hang based on comment10?
Flags: needinfo?(sulapy)
Updated•12 years ago
|
Whiteboard: [Flatfish only][developer+] → [Flatfish only][developer+][POVB]
Comment 14•12 years ago
|
||
Can someone explain the engineering meanings of those toggle switches on FxOS? Are they all USB Mass Storage enabling for different SD partitions?
Comment 15•12 years ago
|
||
Hi John,
When the issue is reproduced, the following messages is continuously shown in the console:
"media is prevented, can not eject"(from drivers/usb/gadget/storage_common.c)
Please help check the root cause of this issue.
Thank you
Flags: needinfo?(johnchang1972)
Comment 16•12 years ago
|
||
in my case, I think it's quite easy to reproduce:
1. connect USB to PC
2. turn on USB storage
3. turn on Internal Storage -> Share using USB , there will be a "SAGA G1" mass storage connect to PC
4. do not eject this "SAGA G1" from PC, tuen off Internal Storage -> Share using USB,
with logcat will print lot of "E/Vold ( 1270): ---wait :" message
if using UART console will print lot of "media is prevented, can not eject"
5. wait for few minutes, gaia will hang, and kernel keep printing "media is prevented, can not eject"
Flags: needinfo?(johnchang1972)
Comment 17•12 years ago
|
||
in this issue, kernel will hang in driver/usb/gadget/storage_common.c , function fsg_store_file() will printk
"media is prevented, can not eject\n" contiguously.
and this is caused by FxOS/system/vold/Volume.cpp , int Volume::unshareVol(),
I found there is a while loop keep trying to write to ums lunfile, and only usleep(100),
unlike other usleep() all *1000 times in this file.
after change usleep(100) to usleep(100*1000), seems fine now.
but, questions are
1. Is this correct(or a good idea) to keep polling ums lunfile and waiting for ums release by PC? in old Android, PC will be disconnect right away.
2. why only usleep(100) in unshare?
3. will this "storage share using USB" move to MTP like Andorid now?
Flags: needinfo?(ttsai)
Flags: needinfo?(frlee)
Comment 18•12 years ago
|
||
hi Ian,
per talk, are you able to take a look on comment17 and see if you can help John out.
thank you very much
Flags: needinfo?(frlee)
Comment 19•12 years ago
|
||
Hi Francis,
I think the problem here is not relative with Gaia directly. And I'm not familiar with step of comment 17. So I'm not able to provide any effective suggestion here quickly.
Updated•12 years ago
|
Flags: needinfo?(ttsai)
Comment 20•12 years ago
|
||
This bug seems to be more like in gonk (for the x1000 issue) and kernel layer (for being hanged up), according to the files indicated in comment 17.
Comment 21•12 years ago
|
||
this issue will be fixed in patch file.
further dig in this issue, I found
in gecko/dom/system/gonk/AutoMounter.cpp function AutoMounter::UpdateState() will
keep trying to do unshare job when unshare failed.
so my question will change to:
1. Is this correct(or a good idea) to keep trying unshare ums and waiting for ums release by PC? in old Android, PC will be disconnect right away.
2. will this "storage share using USB" move to MTP like Andorid now?
Comment 22•12 years ago
|
||
I'm unsure why this would be 1.3 blocker specifically, as I don't recall work happening for flatfish on any branch other than trunk. Renominating for more discussion.
blocking-b2g: 1.3+ → 1.3?
Comment 23•12 years ago
|
||
blocking-b2g: 1.3? → ---
Comment 24•12 years ago
|
||
contribution program build will be based on master-C. remove 1.3? flag.
Updated•11 years ago
|
Whiteboard: [Flatfish only][developer+][POVB] → [flatfish][TCP][POVB]
Comment 25•7 years ago
|
||
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•