Closed Bug 1204687 Opened 4 years ago Closed 4 years ago

[Notification] The file received notification does not work for the first bluetooth transfer that the phone receives

Categories

(Firefox OS Graveyard :: Gaia::System::Status bar, Utility tray, Notification, defect, P2)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:2.5+, b2g-v2.2 unaffected, b2g-master verified)

VERIFIED FIXED
blocking-b2g 2.5+
Tracking Status
b2g-v2.2 --- unaffected
b2g-master --- verified

People

(Reporter: AdamA, Assigned: aosmond)

References

()

Details

(Keywords: regression, Whiteboard: [2.5-Daily-Testing][Spark])

Attachments

(2 files, 1 obsolete file)

Attached file logcat (obsolete) —
Description:
When the user receives a file for the first time through bluetooth they cant see the file appear when pressing the file received notification on the phone. Subsequent times the user receives a file on bluetooth this toast will bring the user to the file

Repro Steps:
1) Update a Aries to 20150914130903
2) Connect to another bluetooth device
3) Receive an image from the ofther device
4) Confirm the transfer
5) When transfer completes tap on the notification to veiw the image
6) Observe screen

Actual:
The image does not display and the notification is dismissed

Expected:
It is expected that the image is shown when the user taps on the notification

Environmental Variables:
Device: Aries 2.5 [Full Flash]
Build ID: 20150914130903
Gaia: f37e8f732e0af961b43e912629c84c9e2ceda55d
Gecko: fba4b0cd3823
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 43.0a1 (2.5)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

Repro frequency: 10/10
See attached: video clip(https://youtu.be/u8ViM5hvx4A), logcat
This issue DOES occur on Flame 2.5

Environmental Variables:
Device: Flame 2.5 [Full Flash]
BuildID: 20150914030233
Gaia: 4d9b996be4b1935651057d0651461c1a36d98a18
Gecko: 9ed17db42e3e46f1c712e4dffd62d54e915e0fac
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 43.0a1 (2.5) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

Actual:
The image does not display and the notification is dismissed
------------------------------------
This issue DOES NOT occur on Flame 2.2.

Environmental Variables:
Device: Flame 2.2 [Full Flash]
BuildID: 20150914032507
Gaia: 7a427e0f8aa6c185a9e22358006b97c19435ca4a
Gecko: 0d9c46d01861
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 37.0 (2.2) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0

Result:
The file is shown when the notification is pressed
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Keywords: regression
Whiteboard: [2.5-Daily-Testing][Spark][Systemsfe]
Please get a regression window
Just tested on my dogfooding device with a build:
 - Gecko: a6e9d38affc81ced711f6e658a532151930b7286
 - Gaia: 4d9b996be4b1935651057d0651461c1a36d98a18

I don't reproduce at all.
QA Contact: sleedavid
blocking-b2g: --- → 2.5?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
B2G inbound window: 

Last working
Device: Flame 2.5
BuildID: 20150831072318
Gaia: 0a8f66e0c415815c93edc355b584d7492f9c7e8b
Gecko: dbaf00db2ea83320d5c53e9a9f77b0e695f49d2c
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 43.0a1 (2.5) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

First Broken

Device: Flame 2.5
BuildID: 20150831074251
Gaia: 0a8f66e0c415815c93edc355b584d7492f9c7e8b
Gecko: 36d8ea398cc4ac00c99b0b4075de4f0f6bbb80f6
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 43.0a1 (2.5) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

Last working Gecko first broken Gaia - NoRepro
Gaia: 0a8f66e0c415815c93edc355b584d7492f9c7e8b
Gecko: dbaf00db2ea83320d5c53e9a9f77b0e695f49d2c

First broken Gecko Last working Gaia - Repro
Gaia: 0a8f66e0c415815c93edc355b584d7492f9c7e8b
Gecko: 36d8ea398cc4ac00c99b0b4075de4f0f6bbb80f6

Gecko pushlog: 
http://hg.mozilla.org/integration/b2g-inbound/pushloghtml?fromchange=dbaf00db2ea83320d5c53e9a9f77b0e695f49d2c&tochange=36d8ea398cc4ac00c99b0b4075de4f0f6bbb80f6

This issue is caused by changes in Bug 1171170.
Blocks: 1171170
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Andrew this issue seems to have been caused by the changes for bug 1171170.  Can you please take a look?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado) → needinfo?(aosmond)
Assignee: nobody → aosmond
Regression. Blocks 2.5 with a P2 priority.
blocking-b2g: 2.5? → 2.5+
Priority: -- → P2
It appears that device storage is doing everything right, but the changes in bug 1171170 caused us to finish the nsDOMDeviceStorage::Get request earlier than expected. That seems to result in a sequencing error. Adding a brief sleep to the DeviceStorageOpenRequest::Run handler resolves the issue, albeit in a kludgy way. Investigating further to find out where the event sequence issue is.
https://github.com/mozilla-b2g/gaia/blob/3e386065b7bd98e888451776bd02c21b201ad44a/apps/system/js/bluetooth_transfer.js#L647

It registers for the onsuccess and onerror events for the returned DOMRequest after lazily loading the MIME module. Since we made device storage faster, by the time it finishes loading the module the first time, the events have already been fired and so it misses them.
Flags: needinfo?(aosmond)
Attachment #8660977 - Attachment is obsolete: true
Attachment #8663130 - Flags: review?(timdream)
Comment on attachment 8663130 [details] [review]
[gaia] aosmond:bug1204687 > mozilla-b2g:master

Thanks for identify the root cause. Could you improve the promise chaining further :) ? Thanks!
Attachment #8663130 - Flags: review?(timdream) → feedback+
Comment on attachment 8663130 [details] [review]
[gaia] aosmond:bug1204687 > mozilla-b2g:master

Tim: I've updated the PR based on your feedback.
Attachment #8663130 - Flags: review?(timdream)
Comment on attachment 8663130 [details] [review]
[gaia] aosmond:bug1204687 > mozilla-b2g:master

Please address the two GitHub comment before merging.

Depend on the scope of this bug, you can decide whether or not to put the MozActivity DOM Request into the chain too.
Attachment #8663130 - Flags: review?(timdream) → review+
Whiteboard: [2.5-Daily-Testing][Spark][Systemsfe] → [2.5-Daily-Testing][Spark]
Can we land this?
Flags: needinfo?(aosmond)
This can land now that I've addressed the comments in the review :).
Flags: needinfo?(aosmond)
Keywords: checkin-needed
https://github.com/mozilla-b2g/gaia/commit/1af6fb187bce0072c4888a30fd1f078d406afb05
Status: NEW → RESOLVED
Closed: 4 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
According to the STR of Comment 0, this bug has been verified as pass on latest Flame KK v2.5 and Aries KK v2.5.

Actual result: The image is shown when the user taps on the notification

See attachment: verified_Aries KK v2.5.3gp
Reproduce rate: 0/6


Device: Flame KK v2.5 (Pass)
Build ID               20151014150203
Gaia Revision          c64d6e345aa477f2a24b676e84a47020a00d015d
Gaia Date              2015-10-14 15:54:16
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/4f4615ffec6a6a7ec40ff61ffda90a46c53f8d31
Gecko Version          44.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20151014.183316
Firmware Date          Wed Oct 14 18:33:28 EDT 2015
Firmware Version       v18D v4
Bootloader             L1TC000118D0

Device: Aries KK v2.5 (Pass)
Build ID               20151014225836
Gaia Revision          c64d6e345aa477f2a24b676e84a47020a00d015d
Gaia Date              2015-10-14 15:54:16
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/4f4615ffec6a6a7ec40ff61ffda90a46c53f8d31
Gecko Version          44.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151014.221548
Firmware Date          Wed Oct 14 22:15:56 UTC 2015
Bootloader             s1
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+], [MGSEI-Triage+]
You need to log in before you can comment on or make changes to this bug.