Closed Bug 1075562 Opened 10 years ago Closed 10 years ago

[music] crash when scanning a file with album art that's 300px square or smaller

Categories

(Firefox OS Graveyard :: Gaia::Music, defect)

defect
Not set
major

Tracking

(blocking-b2g:2.2+, b2g-v2.1 unaffected, b2g-v2.2 verified)

VERIFIED FIXED
2.1 S7 (24Oct)
blocking-b2g 2.2+
Tracking Status
b2g-v2.1 --- unaffected
b2g-v2.2 --- verified

People

(Reporter: rtholiya, Assigned: squib)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36

Steps to reproduce:

Software : Boot2Gecko 2.2.0.00-prerelease
Firefox Os : Build of 30/09/2014

1. After installing firefox os and the initial setup.
2. Try to open Music App.
3. Music app crashed.

adb logcat:

I/Gecko   ( 1273): 
I/Gecko   ( 1273): ###!!! [Parent][DispatchAsyncMessage] Error: (msgtype=0x120005,name=PBackground::Msg_PBlobConstructor) Value error: message was deserialized, but contained an illegal value
I/Gecko   ( 1273): 
I/Gecko   ( 1273): IPDL protocol error: could not look up PBlob
I/Gecko   ( 1273): IPDL protocol error: Error deserializing 'PBlobParent'
I/Gecko   ( 1273): 
I/Gecko   ( 1273): ###!!! [Parent][DispatchAsyncMessage] Error: (msgtype=0x60004,name=PBackgroundIDBDatabase::Msg_PBackgroundIDBDatabaseFileConstructor) Value error: message was deserialized, but contained an illegal value
I/Gecko   ( 1273): 
I/Gecko   ( 1273): IPDL protocol error: could not look up PBackgroundIDBDatabaseFile
I/Gecko   ( 1273): IPDL protocol error: Error deserializing 'DatabaseFileOrMutableFileId[i]'
I/Gecko   ( 1273): IPDL protocol error: Error deserializing 'files' (DatabaseFileOrMutableFileId[]) member of 'ObjectStoreAddPutParams'
I/Gecko   ( 1273): IPDL protocol error: Error deserializing 'commonParams' (ObjectStoreAddPutParams) member of 'ObjectStorePutParams'
I/Gecko   ( 1273): IPDL protocol error: Error deserializing 'RequestParams'
I/Gecko   ( 1273): 
I/Gecko   ( 1273): ###!!! [Parent][DispatchAsyncMessage] Error: (msgtype=0xE0006,name=PBackgroundIDBTransaction::Msg_PBackgroundIDBRequestConstructor) Value error: message was deserialized, but contained an illegal value
I/Gecko   ( 1273): 
W/GeckoConsole( 1273): [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:7659"]
I/Gecko   ( 1273): 
I/Gecko   ( 1273): ###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv
I/Gecko   ( 1273): 
W/GeckoConsole( 1273): [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:6044"]



Actual results:

Music App Crashed.


Expected results:

Music should not crash.
Seems like I have something similar, but I don't know how to get a log: when I connect USB cabel to my phone to get adb logcat, filesystem switches off, so Music app doesn't work. Any hints?
Attached file output of adb logcat
I hope this contains something interesting.
setting 'major' importance as this makes Music app useless.
Severity: normal → major
note that I am on Nightly Flame (kk)
Works for me on both Flame and Flafish with latest builds, I'm able to play songs from Music App:

Gaia-Rev        717ad4e8b7fc10ab8248500d00ba5ba0977fa8ab
Gecko-Rev       https://hg.mozilla.org/mozilla-central/rev/44168a7af20d
Build-ID        20141012040203
Version         35.0a1
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  27
FW-Date         Thu Sep  4 14:59:02 CST 2014
Bootloader      L1TC10011800


Gaia-Rev        79afd14f4ddd959a1300d1e1be126879d711ba12
Gecko-Rev       92cce75ada55327dba5c10b265eaa31ae71fddad
Build-ID        20141011012334
Version         35.0a1
Device-Name     flatfish
FW-Release      4.2.2
FW-Incremental  20141011
FW-Date         Sat Oct 11 01:14:09 CST 2014

Maybe we need more info about the STR?
> Maybe we need more info about the STR?

Sorry, what's that?
Flags: needinfo?(tchevalier)
(In reply to Matěj Cepl from comment #6)
> > Maybe we need more info about the STR?
> 
> Sorry, what's that?

the steps to reproduce
Flags: needinfo?(tchevalier)
Perhaps it could be caused by a particular file, but I am not sure whether I could somehow get more logs about parsing of particular files?
Just to quote from #gaia:

<hub> mcepl: this crash in music is due to a recent change with IPDL and blobs. Not exactly sure whether it has been reverted since or not.
(In reply to Matěj Cepl from comment #9)
> Just to quote from #gaia:
> 
> <hub> mcepl: this crash in music is due to a recent change with IPDL and
> blobs. Not exactly sure whether it has been reverted since or not.

Would you have a bug number of which this bug should be made blocker of?
Flags: needinfo?(hub)
Most likely a duplicate of bug 1076340, except here we have crashes, there it seems like freezes.
Perhaps blocks bug 994190?
Yes I think bug 994190 and friends is what you are looking for.
Flags: needinfo?(hub)
(In reply to Hubert Figuiere [:hub] from comment #13)
> Yes I think bug 994190 and friends is what you are looking for.

How is it possible that bug 994190 is closed, when it has so many unresolved depending bugs?
Just to say that with today Nightly (hopefully with new music medatata parser, build ID: 20141015160201) the bug is as fresh as ever:

I/Gecko   ( 2696): Can't find symbol 'GetActiveUniformName'.
I/Gecko   (  208): 
I/Gecko   (  208): ###!!! [Parent][DispatchAsyncMessage] Error: (msgtype=0x120005,name=PBackground::Msg_PBlobConstructor) Value error: message was deserialized, but contained an illegal value
I/Gecko   (  208): 
I/Gecko   (  208): IPDL protocol error: could not look up PBlob
I/Gecko   (  208): IPDL protocol error: Error deserializing 'PBlobParent'
I/Gecko   (  208): 
I/Gecko   (  208): ###!!! [Parent][DispatchAsyncMessage] Error: (msgtype=0x60004,name=PBackgroundIDBDatabase::Msg_PBackgroundIDBDatabaseFileConstructor) Value error: message was deserialized, but contained an illegal value
I/Gecko   (  208): 
I/Gecko   (  208): IPDL protocol error: could not look up PBackgroundIDBDatabaseFile
I/Gecko   (  208): IPDL protocol error: Error deserializing 'DatabaseFileOrMutableFileId[i]'
I/Gecko   (  208): IPDL protocol error: Error deserializing 'files' (DatabaseFileOrMutableFileId[]) member of 'ObjectStoreAddPutParams'
I/Gecko   (  208): IPDL protocol error: Error deserializing 'commonParams' (ObjectStoreAddPutParams) member of 'ObjectStorePutParams'
I/Gecko   (  208): IPDL protocol error: Error deserializing 'RequestParams'
I/Gecko   (  208): 
I/Gecko   (  208): ###!!! [Parent][DispatchAsyncMessage] Error: (msgtype=0xE0006,name=PBackgroundIDBTransaction::Msg_PBackgroundIDBRequestConstructor) Value error: message was deserialized, but contained an illegal value
I/Gecko   (  208): 
W/GeckoConsole(  208): [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:7697"]
W/GeckoConsole(  208): [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:6070"]
W/GeckoConsole(  208): [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:7697"]
W/GeckoConsole(  208): [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:6070"]
I/Gecko   (  208): 
I/Gecko   (  208): ###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv
I/Gecko   (  208): 
E/QCALOG  (  284): [MessageQ] ProcessNewMessage: [XT-CS] unknown deliver target [OS-Agent]
E/QCALOG  (  284): [MessageQ] ProcessNewMessage: [XTWWAN-PE] unknown deliver target [OS-Agent]
Not specific to Flatfish.
Summary: [Flatfish] Music application Crashes when opened. → Music application Crashes when opened.
Witia has an SD card that crashes Music. We're trying to find an offending file.
Status: UNCONFIRMED → NEW
Ever confirmed: true
This seems to happen more often than not. Hence, requesting 2.2 blocking
blocking-b2g: --- → 2.2?
We identified a file that causes the crash and I provided the file to :squib.

Let me know if that helps or if you need more environment data.
Flags: needinfo?(squibblyflabbetydoo)
I can repro the issue, but it doesn't *always* happen for that file. Just most of the time.
Flags: needinfo?(squibblyflabbetydoo)
Based on a similar bug in gallery, I'd guess that the offending music file has album art that is small enough that the Music app doesn't have to resize it and is trying to store a sliced blob into indexeddb.

It would be interesting to know whether this bug has gone away now that the sliced blob issue is fixed.

Jim: do you think this is this another bug caused by 994190? If so, would you mark it as such.
Flags: needinfo?(squibblyflabbetydoo)
Nope, still broken.

(I'll try to avoid the rant about landing broken changes that block other people's work and then not backing it out despite the issues remaining for three weeks and counting.)
Flags: needinfo?(squibblyflabbetydoo)
Speculatively adding blocker, since the dates line up and :djf's explanation makes sense: the album art is indeed 300x300 pixels, the largest size at which we'd use a sliced blob without downsampling the image.
Also, it works fine if I change the thumbnail size so that we *do* downsample the album art.
Summary: Music application Crashes when opened. → [music] crash when scanning a file with album art that's 300px square or smaller
No-Jun,

Could you test to see if the fix for bug 1076975 also fixes this bug? (You'll probably want to wait for tomorrow's nightly build to test that)
Flags: needinfo?(npark)
Hi Hema, this feature apparently broke even though TBPL remained completely green. Can you find resources to get integration tests added for this so that we don't break you again?
Flags: needinfo?(hkoka)
Can someone email me a file that triggers this behavior?
(re: comment 28)
Flags: needinfo?(squibblyflabbetydoo)
Flags: needinfo?(gandalf)
Assigning to Jim and no-jun to ensure we have automated test (in-testsuite = ?)
Assignee: nobody → squibblyflabbetydoo
Flags: needinfo?(hkoka) → in-testsuite?
I think this is a combination of issue.  When I had mp3 files already in my SD card and added the offending file, then I see the Music app crashing.  But if I delete all files from SD card and load just one file, it starts up fine.

Another thing is, if I repeat starting the music app, on 4th or 5th attempt, the music app loads successfully and does not crash afterwards.

will provide logcat shortly.

Version tested:
Gaia-Rev        db7720c2ff58fdba6ae59595329e63c719ecb63f
Gecko-Rev       https://hg.mozilla.org/mozilla-central/rev/ae4d9b4ff2ee
Build-ID        20141022040201
Version         36.0a1
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141022.073831
FW-Date         Wed Oct 22 07:38:42 EDT 2014
Bootloader      L1TC00011880
Flags: needinfo?(npark)
After I wiped my SD card, start the music app, and loaded a bunch of files including the offending mp3 file, but after cleaning up the music and repopulating it, I can't seem to repro the issue.
(In reply to No-Jun Park [:njpark] from comment #31)
> I think this is a combination of issue.  When I had mp3 files already in my
> SD card and added the offending file, then I see the Music app crashing. 
> But if I delete all files from SD card and load just one file, it starts up
> fine.

I have to emphasize the removing part. When I haven't removed the file, Music app crashed as before. When I removed the files and identical ones pushed back to the phone via rsync, Music app didn't crash (tried just once, but before that my reproduction rate was 100%).
Hrm, anyone feel like sending me a zip of their music database and the corresponding files directory? (If anyone has a db that crashes any longer...)
blocking-b2g: 2.2? → 2.2+
(In reply to ben turner [:bent] (use the needinfo? flag!) from comment #35)
> Bug 1087464 may fix this.

Looks like it.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(squibblyflabbetydoo)
Resolution: --- → FIXED
Flags: needinfo?(gandalf)
Target Milestone: --- → 2.1 S7 (24Oct)
Issue verified fixed on Flame 2.2

Multiple music files with album art of 128x128px do not crash music app while scanning.

Device: Flame 2.2 (319mb)(Kitkat Base)(Shallow Flash)
Build ID: 20141121040204
Gaia: 25388c6bce932657ebf93adedf31881bfaf88c15
Gecko: 3366c0fcf9c2
Version: 36.0a1 (2.2)
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:36.0) Gecko/36.0 Firefox/36.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: