Closed Bug 980701 Opened 6 years ago Closed 6 years ago

[B2G][Gaia][System][Buri] The proximity sensor activates unnecessarily when not in a call causing glitchy behavior.

Categories

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

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

(blocking-b2g:1.4+, b2g-v1.4 fixed, b2g-v2.0 fixed)

RESOLVED FIXED
1.4 S5 (11apr)
blocking-b2g 1.4+
Tracking Status
b2g-v1.4 --- fixed
b2g-v2.0 --- fixed

People

(Reporter: lmauritson, Assigned: gerard-majax)

References

Details

(Keywords: regression, Whiteboard: [fxos-bug-bash-1.4], [systemsfe])

Attachments

(6 files)

Description:
When not in a call the proximity sensor is still active causing the screen to go black or flicker when a hand or shadow crosses the sensor path, often causing glitchy looking graphical effects.

Repro Steps:
1) Update a Buri to BuildID: 20140306040204
2) Go to the Homescreen.
3) Move a hand near the proximity sensor near the top front of the device.
4) Move the hand or shadow back and forth over the device while trying to do scroll or use apps and observe the effects.

Actual:
The proximity sensor is active while not in a call.

Expected:
While not in a call the proximity sensor is disabled as the user will likely have the device in view.

1.4 Environmental Variables:
Device: Buri 1.4 MOZ
BuildID: 20140306040204
Gaia: 9cb35e701df44766d9b3560b0defe0a401a0ecdd
Gecko: 8122ffa9e1aa
Version: 30.0a1
Firmware Version: v1.2-device.cfg

Keywords: psensor

Repro frequency: 100%

See video: http://youtu.be/Ds9FLJ_Q8T0
Notes: In the video I attempt to scroll which causes even more glitchy behavior: http://youtu.be/Ds9FLJ_Q8T0?t=38s
I have found that additional steps are required to cause this to happen:

1. Have at least one voicemail notification in the notification bar.
2. Swipe down and tap the voicemail notification. Do this multiple times even after the voicemail call starts.
>> Eventually the voicemail call will start, sometimes more than once.
3. End the call and the sensor will become active.

Initiating this is roughly 2/3 chance, afterwards the sensor acts like this until the device is restarted.
That looks like a regression. Can we confirm this doesn't reproduce on 1.3?
Keywords: qawanted
QA Contact: jschmitt
Issue does not repro on 1.3 following the original repro steps and Comment #2 repro steps.

Environmental Variables:
Device: Buri 1.3 MOZ
BuildID: 20140310004001
Gaia: 78c30d7ed6f6e30337d6c05453b867f5e97e42bc
Gecko: 00f249d54bda
Version: 28.0
Firmware Version: V1.2-device.cfg
Keywords: qawanted
blocking-b2g: --- → 1.4?
blocking-b2g: 1.4? → 1.4+
- Last Working -

12/19 Environmental Variables:
Device: Buri 1.4 MOZ
BuildID: 20131219040202
Gaia: e6276c96fcf087a12800419be8a9e2
5fcbbc924d
Gecko: 5c7fa2bfea8b
Version: 29.0a1
Firmware Version: V1.2-device.cfg

- First Broken -

12/20 Environmental Variables:
Device: Buri 1.4 MOZ
BuildID: 20131220040201
Gaia: f9c99e6b714de0e84947d50aae064c510324725b
Gecko: 599100c4ebfe
Version: 29.0a1
Firmware Version: V1.2-device.cfg

First Broken Gecko with Last Working Gaia: Issue does NOT reproduce
Gaia: e6276c96fcf087a12800419be8a9e25fcbbc924d
Gecko: 599100c4ebfe

Last Working Gecko with First Broken Gaia: Issue DOES reproduce
Gaia: f9c99e6b714de0e84947d50aae064c510324725b
Gecko: 5c7fa2bfea8b

This is a Gaia issue,
https://github.com/mozilla-b2g/gaia/compare/e6276c96fcf087a12800419be8a9e25fcbbc924d...f9c99e6b714de0e84947d50aae064c510324725b
QA Contact: jschmitt → rkunkel
I can't reproduce in 3/16 build.

Though I traced Gaia issue list, there are some dialer/voice mail related bug committed for dialer/voice mail (bug 910999, bug 948341).

lissyx, could you help it?
Flags: needinfo?(lissyx+mozillians)
(In reply to Lionel Mauritson from comment #1)
> I have found that additional steps are required to cause this to happen:
> 
> 1. Have at least one voicemail notification in the notification bar.
> 2. Swipe down and tap the voicemail notification. Do this multiple times
> even after the voicemail call starts.
> >> Eventually the voicemail call will start, sometimes more than once.
> 3. End the call and the sensor will become active.
> 
> Initiating this is roughly 2/3 chance, afterwards the sensor acts like this
> until the device is restarted.

I suspect the real issue lies in tapping multiple times after the voicemail call starts.
Flags: needinfo?(lissyx+mozillians)
Taking, to investigate and check.
Assignee: nobody → lissyx+mozillians
I'm reproducing the issue on my Buri.
The real issue is that when this happens, it is because we do not remove the userproximity event listener, i.e., we do not reach https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/screen_manager.js#L252

I'm now having a very hard time reproducing precisely the issue: each time I do a call to voicemail, it is correctly replaced by dialer and the event listener is correctly removed.
Okay, I've been able to reproduce, I don't precisely know how, but here is the chain of events:
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:257 in scm_handleEvent: ScreenManager: Event: window.removeEventListener("userproximity")
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS WARN at app://system.gaiamobile.org/js/app_window_manager.js:85 in awm_display: the app has been displayed.
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=1
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: statechange
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:294 in scm_handleEvent: ScreenManager: Event: window.addEventListener("userproximity")
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=2
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=1
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=2
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=1
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: userproximity
E/GeckoConsole(  547): Content JS WARN at app://system.gaiamobile.org/js/app_window_manager.js:85 in awm_display: the app has been displayed.
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: userproximity
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: userproximity
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: userproximity
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:257 in scm_handleEvent: ScreenManager: Event: window.removeEventListener("userproximity")
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: wake
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: unlocking-start
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: will-unlock
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: unlocking-stop
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: wake
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: unlocking-start
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: will-unlock
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: unlocking-stop
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=1
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: statechange
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:294 in scm_handleEvent: ScreenManager: Event: window.addEventListener("userproximity")
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=2
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:244 in scm_handleEvent: ScreenManager: Event: in callschanged
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:246 in scm_handleEvent: ScreenManager: Event: telephony.calls.length=1
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:247 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup={}
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:248 in scm_handleEvent: ScreenManager: Event: telephony.conferenceGroup.calls.length=0
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: userproximity
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: userproximity
E/GeckoConsole(  547): Content JS DEBUG at app://system.gaiamobile.org/js/screen_manager.js:198 in scm_handleEvent: ScreenManager: Event: devicelight

The last callschanged matches when I hang up the voicemail. What I noticed while reproducing is that the Dialer's UI was not showing call replacements.

Etienne, do you have any hint to provide ?
Flags: needinfo?(etienne)
When reproducing the bug, even setting airplane mode does not fix: telephony.calls.length is still at 1.
Given that telephony.calls stays blocked at one, I'm moving the component to RIL and unassigning.
Assignee: lissyx+mozillians → nobody
Component: Gaia::System → RIL
Flags: needinfo?(etienne)
Hi, could you please attach ril log and specify the gecko and gaia version? Thanks.
Flags: needinfo?(lmauritson)
Flags: needinfo?(lissyx+mozillians)
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #13)
> Hi, could you please attach ril log and specify the gecko and gaia version?
> Thanks.

Hi Lionel, I followed STR on comment 0 and comment 1 but cannot reproduce this on buildID 20140321051557. Please also help verify with the latest build.
Keywords: qawanted
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #13)
> Hi, could you please attach ril log and specify the gecko and gaia version?
> Thanks.

Gecko/Gaia were uptodate as of wednesday. I don't have any RIL log for those :(.
Flags: needinfo?(lissyx+mozillians)
QA Contact: rkunkel → jschmitt
Attached file Ril_log2.txt
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #13)
> Hi, could you please attach ril log and specify the gecko and gaia version?
> Thanks.

I have attached a log generated via: adb logcat -b radio
Please let me know if that is not what was expected and I will endeavor to find the information you seek.

I am not certain what other information I could provide on gaia and gecko that is not present in comment 0 and comment 4, but for the sake of clarity:

First Broken Gecko with Last Working Gaia: Issue does NOT reproduce
Gaia: e6276c96fcf087a12800419be8a9e25fcbbc924d
Gecko: 599100c4ebfe

Last Working Gecko with First Broken Gaia: Issue DOES reproduce
Gaia: f9c99e6b714de0e84947d50aae064c510324725b
Gecko: 5c7fa2bfea8b

This is a Gaia issue,
https://github.com/mozilla-b2g/gaia/compare/e6276c96fcf087a12800419be8a9e25fcbbc924d...f9c99e6b714de0e84947d50aae064c510324725b
Flags: needinfo?(lmauritson)
Qawanted request seems to be fulfilled by comment 16 unless there is another request, removing qawanted.
Keywords: qawanted
QA Contact: jschmitt
Hsinyi is helping this.
Assignee: nobody → htsai
(In reply to Lionel Mauritson from comment #16)
> Created attachment 8394889 [details]
> Ril_log2.txt
> 
> (In reply to Hsin-Yi Tsai  [:hsinyi] from comment #13)
> > Hi, could you please attach ril log and specify the gecko and gaia version?
> > Thanks.
> 
> I have attached a log generated via: adb logcat -b radio
> Please let me know if that is not what was expected and I will endeavor to
> find the information you seek.
> 
> I am not certain what other information I could provide on gaia and gecko
> that is not present in comment 0 and comment 4, but for the sake of clarity:
> 
> First Broken Gecko with Last Working Gaia: Issue does NOT reproduce
> Gaia: e6276c96fcf087a12800419be8a9e25fcbbc924d
> Gecko: 599100c4ebfe
> 
> Last Working Gecko with First Broken Gaia: Issue DOES reproduce
> Gaia: f9c99e6b714de0e84947d50aae064c510324725b
> Gecko: 5c7fa2bfea8b
> 
> This is a Gaia issue,
> https://github.com/mozilla-b2g/gaia/compare/
> e6276c96fcf087a12800419be8a9e25fcbbc924d...
> f9c99e6b714de0e84947d50aae064c510324725b

Thanks for the log but unfortunately it doesn't contain information I am looking for.

I tried to reproduce this issue with buildID 20140321051557 but failed. So, I'd like to request you to test the latest build again. If the issue still appears, please attach logcat by the instructions in [1]. Note, please use *adb logcat -b radio -b main* to capture the log. If the log does include RIL messages, then you are able to see tens of lines of "RIL Worker[0]". Thanks.

[1] https://wiki.mozilla.org/B2G/QA/Tips_And_Tricks#Changing_preferences
Keywords: qawanted
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #19)
> (In reply to Lionel Mauritson from comment #16)
> > Created attachment 8394889 [details]
> > Ril_log2.txt
> > 
> > (In reply to Hsin-Yi Tsai  [:hsinyi] from comment #13)
> > > Hi, could you please attach ril log and specify the gecko and gaia version?
> > > Thanks.
> > 
> > I have attached a log generated via: adb logcat -b radio
> > Please let me know if that is not what was expected and I will endeavor to
> > find the information you seek.
> > 
> > I am not certain what other information I could provide on gaia and gecko
> > that is not present in comment 0 and comment 4, but for the sake of clarity:
> > 
> > First Broken Gecko with Last Working Gaia: Issue does NOT reproduce
> > Gaia: e6276c96fcf087a12800419be8a9e25fcbbc924d
> > Gecko: 599100c4ebfe
> > 
> > Last Working Gecko with First Broken Gaia: Issue DOES reproduce
> > Gaia: f9c99e6b714de0e84947d50aae064c510324725b
> > Gecko: 5c7fa2bfea8b
> > 
> > This is a Gaia issue,
> > https://github.com/mozilla-b2g/gaia/compare/
> > e6276c96fcf087a12800419be8a9e25fcbbc924d...
> > f9c99e6b714de0e84947d50aae064c510324725b
> 
> Thanks for the log but unfortunately it doesn't contain information I am
> looking for.
> 
> I tried to reproduce this issue with buildID 20140321051557 but failed. So,
> I'd like to request you to test the latest build again. If the issue still
> appears, please attach logcat by the instructions in [1]. Note, please use
> *adb logcat -b radio -b main* to capture the log. If the log does include
> RIL messages, then you are able to see tens of lines of "RIL Worker[0]".
> Thanks.
> 
> [1] https://wiki.mozilla.org/B2G/QA/Tips_And_Tricks#Changing_preferences

Also, since I've been failed to reproduce this, it would be great that a video can be provided, so that I might be able to get more clues.
There is a video - see http://youtu.be/Ds9FLJ_Q8T0.
(In reply to Jason Smith [:jsmith] from comment #21)
> There is a video - see http://youtu.be/Ds9FLJ_Q8T0.

Yup, thanks! Do you also have a video showing the STR?
Hi Lionel,

Need your help! Please see my comment 19 and comment 22.
Flags: needinfo?(lmauritson)
Attached file blink_log.txt
Try this log and video: http://youtu.be/aMxHvyR1Gvk

1.4 Environmental Variables:
Device: Buri 1.4 MOZ
BuildID: 20140326000201
Gaia: 7e705dd4718d528974d99ac31866318d7e201152
Gecko: 4889124accfa
Version: 30.0a2
Firmware Version: v1.2-device.cfg
Flags: needinfo?(lmauritson)
Removing qawanted per comment 24.
Keywords: qawanted
Can we re-verify the regression window here?
(In reply to Lionel Mauritson from comment #24)
> Created attachment 8397165 [details]
> blink_log.txt
> 
> Try this log and video: http://youtu.be/aMxHvyR1Gvk
> 
> 1.4 Environmental Variables:
> Device: Buri 1.4 MOZ
> BuildID: 20140326000201
> Gaia: 7e705dd4718d528974d99ac31866318d7e201152
> Gecko: 4889124accfa
> Version: 30.0a2
> Firmware Version: v1.2-device.cfg

I still don't see ril debug messages :(

But according to the video, it seems *not* obvious to me it's a RIL issue. If it was a RIL issue as comment 12 said that telephony.calls.length is blocked at 1, then the dialer app would be hung there. However, in this video, the dialer call screen disappears as expected.

I also checked the gecko regression change. No commit touched telephony call path. There were 2 RIL bugs, Bug 951958 and  Bug 950105, but I don't see a convincible clue indicating these 2 are involved in this issue. It's too early to say so, and more investigation on both gecko and gaia side is needed I'd say.
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #28)
> (In reply to Lionel Mauritson from comment #24)
> > Created attachment 8397165 [details]
> > blink_log.txt
> > 
> > Try this log and video: http://youtu.be/aMxHvyR1Gvk
> > 
> > 1.4 Environmental Variables:
> > Device: Buri 1.4 MOZ
> > BuildID: 20140326000201
> > Gaia: 7e705dd4718d528974d99ac31866318d7e201152
> > Gecko: 4889124accfa
> > Version: 30.0a2
> > Firmware Version: v1.2-device.cfg
> 
> I still don't see ril debug messages :(

Something tells me that's what described on the wiki isn't right way to enable RIL debugging. I know Bevis's script from https://bugzilla.mozilla.org/attachment.cgi?id=8385781 works.

QA Wanted - Can we try to get another log using Bevis's scrpt in the link provided?
My apologies that I have not been able to provide the needed information thus far. I ran the above script, which reset my phone so I assume it worked, then turned on every adb debug option the device has available. I then ran "adb logcat -v threadtime" and output it to the file I included here.
Is this new script something that should be included in our default flashing script?
(In reply to Lionel Mauritson from comment #30)
> Created attachment 8398239 [details]
> logcat_20140327_1745.txt
> 
> My apologies that I have not been able to provide the needed information
> thus far. I ran the above script, which reset my phone so I assume it
> worked, then turned on every adb debug option the device has available. I
> then ran "adb logcat -v threadtime" and output it to the file I included
> here.
> Is this new script something that should be included in our default flashing
> script?

This looks right - I'm seeing loads of RIL Worker messages in the log.
Switching to regression window wanted here to revalidate to window.
(In reply to Jason Smith [:jsmith] from comment #31)
> (In reply to Lionel Mauritson from comment #30)
> > Created attachment 8398239 [details]
> > logcat_20140327_1745.txt
> > 
> > My apologies that I have not been able to provide the needed information
> > thus far. I ran the above script, which reset my phone so I assume it
> > worked, then turned on every adb debug option the device has available. I
> > then ran "adb logcat -v threadtime" and output it to the file I included
> > here.
> > Is this new script something that should be included in our default flashing
> > script?
> 
> This looks right - I'm seeing loads of RIL Worker messages in the log.

Thanks for the help, Lionel and Jason. I got RIL messages finally!

So, the log showed 2 calls (but to the same number) were dialed out during the test. In the end, they both were released correctly. According to the log, the video: http://youtu.be/aMxHvyR1Gvk and the analysis on comment 28, RIL seems behave as expected, no calls being hung. It's not clear if this is really a RIL issue.

I think it's worth re-debugging more on gaia side again. And it would be great to provide a log with your gaia debug patch applied and ril debugger enabled together, Alexandre. Otherwise, I can't get a idea of what was happening b/w RIL and screen_manager, especially Lionel's video and log showed RIL and Dialer app work fine.
Flags: needinfo?(lissyx+mozillians)
When I looked at the code [1], I am not sure if this is a bug. I meant, why do we check the 1st call only? What if there are two calls, 1st on hold and 2nd connected? If this is a bug, would it be the cause of this proximity issue?

[1] https://github.com/mozilla-b2g/gaia/blame/v1.4/apps/system/js/screen_manager.js#L271
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #33)
> (In reply to Jason Smith [:jsmith] from comment #31)
> > (In reply to Lionel Mauritson from comment #30)
> > > Created attachment 8398239 [details]
> > > logcat_20140327_1745.txt
> > > 
> > > My apologies that I have not been able to provide the needed information
> > > thus far. I ran the above script, which reset my phone so I assume it
> > > worked, then turned on every adb debug option the device has available. I
> > > then ran "adb logcat -v threadtime" and output it to the file I included
> > > here.
> > > Is this new script something that should be included in our default flashing
> > > script?
> > 
> > This looks right - I'm seeing loads of RIL Worker messages in the log.
> 
> Thanks for the help, Lionel and Jason. I got RIL messages finally!
> 
> So, the log showed 2 calls (but to the same number) were dialed out during
> the test. In the end, they both were released correctly. According to the
> log, the video: http://youtu.be/aMxHvyR1Gvk and the analysis on comment 28,
> RIL seems behave as expected, no calls being hung. It's not clear if this is
> really a RIL issue.
> 
> I think it's worth re-debugging more on gaia side again. And it would be
> great to provide a log with your gaia debug patch applied and ril debugger
> enabled together, Alexandre. Otherwise, I can't get a idea of what was
> happening b/w RIL and screen_manager, especially Lionel's video and log
> showed RIL and Dialer app work fine.

I can't provide logs right now, but I clearly saw via debugging the gaia code that the telephony.calls.length got stuck in a state where it was blocked at a value of 1, even with no more call pending.

I agree it was quite painful to get reproduced, and I cannot clearly document more viable STRs than those I already provided. But still, the gaia code was querying telephony.calls.length, and it was stuck at 1.
Flags: needinfo?(lissyx+mozillians)
QA Contact: rkuhlman
(In reply to Alexandre LISSY :gerard-majax [DND 03/22-03/29] from comment #35)
> (In reply to Hsin-Yi Tsai  [:hsinyi] from comment #33)
> > (In reply to Jason Smith [:jsmith] from comment #31)
> > > (In reply to Lionel Mauritson from comment #30)
> > > > Created attachment 8398239 [details]
> > > > logcat_20140327_1745.txt
> > > > 
> > > > My apologies that I have not been able to provide the needed information
> > > > thus far. I ran the above script, which reset my phone so I assume it
> > > > worked, then turned on every adb debug option the device has available. I
> > > > then ran "adb logcat -v threadtime" and output it to the file I included
> > > > here.
> > > > Is this new script something that should be included in our default flashing
> > > > script?
> > > 
> > > This looks right - I'm seeing loads of RIL Worker messages in the log.
> > 
> > Thanks for the help, Lionel and Jason. I got RIL messages finally!
> > 
> > So, the log showed 2 calls (but to the same number) were dialed out during
> > the test. In the end, they both were released correctly. According to the
> > log, the video: http://youtu.be/aMxHvyR1Gvk and the analysis on comment 28,
> > RIL seems behave as expected, no calls being hung. It's not clear if this is
> > really a RIL issue.
> > 
> > I think it's worth re-debugging more on gaia side again. And it would be
> > great to provide a log with your gaia debug patch applied and ril debugger
> > enabled together, Alexandre. Otherwise, I can't get a idea of what was
> > happening b/w RIL and screen_manager, especially Lionel's video and log
> > showed RIL and Dialer app work fine.
> 
> I can't provide logs right now, but I clearly saw via debugging the gaia
> code that the telephony.calls.length got stuck in a state where it was
> blocked at a value of 1, even with no more call pending.
> 

Hi Alexandre,

yup, according your log telephony.calls.length stayed at 1, but the tricky part is from Lionel's ril log and video, it looks on gecko side all calls were released and dialer app (gaia) worked well.

Since there's no connection b/w your observation and Lionel's log, it's hard to tell if you both were talking about exactly the same issue though the final symptom seems the same. That's why I was asking you to help provide a complete logcat with both your gaia and ril debug messages.

> I agree it was quite painful to get reproduced, and I cannot clearly
> document more viable STRs than those I already provided. But still, the gaia
> code was querying telephony.calls.length, and it was stuck at 1.

I understood something went wrong in screen_manager. But per the video, dialer callscreen disappeared normally. Doesn't it imply that the information dialer app (also gaia) queried was correct? I'll keep investigating gecko part but I do need help to get log (because I do have problem with reproducing this issue). And at the same time, I'd like to ask for your help again to check screen_manager, to see if it handles call event well, if it registers callback properly. 

If you have problems with providing log now, could you please attach your gaia debug patch so that we could at least ask for QA to catch log I need with that gaia debug patch applied? Thanks!
Flags: needinfo?(lissyx+mozillians)
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #36)
> (In reply to Alexandre LISSY :gerard-majax [DND 03/22-03/29] from comment
> #35)
> > (In reply to Hsin-Yi Tsai  [:hsinyi] from comment #33)
> > > (In reply to Jason Smith [:jsmith] from comment #31)
> > > > (In reply to Lionel Mauritson from comment #30)
> > > > > Created attachment 8398239 [details]
> > > > > logcat_20140327_1745.txt
> > > > > 
> > > > > My apologies that I have not been able to provide the needed information
> > > > > thus far. I ran the above script, which reset my phone so I assume it
> > > > > worked, then turned on every adb debug option the device has available. I
> > > > > then ran "adb logcat -v threadtime" and output it to the file I included
> > > > > here.
> > > > > Is this new script something that should be included in our default flashing
> > > > > script?
> > > > 
> > > > This looks right - I'm seeing loads of RIL Worker messages in the log.
> > > 
> > > Thanks for the help, Lionel and Jason. I got RIL messages finally!
> > > 
> > > So, the log showed 2 calls (but to the same number) were dialed out during
> > > the test. In the end, they both were released correctly. According to the
> > > log, the video: http://youtu.be/aMxHvyR1Gvk and the analysis on comment 28,
> > > RIL seems behave as expected, no calls being hung. It's not clear if this is
> > > really a RIL issue.
> > > 
> > > I think it's worth re-debugging more on gaia side again. And it would be
> > > great to provide a log with your gaia debug patch applied and ril debugger
> > > enabled together, Alexandre. Otherwise, I can't get a idea of what was
> > > happening b/w RIL and screen_manager, especially Lionel's video and log
> > > showed RIL and Dialer app work fine.
> > 
> > I can't provide logs right now, but I clearly saw via debugging the gaia
> > code that the telephony.calls.length got stuck in a state where it was
> > blocked at a value of 1, even with no more call pending.
> > 
> 
> Hi Alexandre,
> 
> yup, according your log telephony.calls.length stayed at 1, but the tricky
> part is from Lionel's ril log and video, it looks on gecko side all calls
> were released and dialer app (gaia) worked well.
> 
> Since there's no connection b/w your observation and Lionel's log, it's hard
> to tell if you both were talking about exactly the same issue though the
> final symptom seems the same. That's why I was asking you to help provide a
> complete logcat with both your gaia and ril debug messages.
> 
> > I agree it was quite painful to get reproduced, and I cannot clearly
> > document more viable STRs than those I already provided. But still, the gaia
> > code was querying telephony.calls.length, and it was stuck at 1.
> 
> I understood something went wrong in screen_manager. But per the video,
> dialer callscreen disappeared normally. Doesn't it imply that the
> information dialer app (also gaia) queried was correct? I'll keep
> investigating gecko part but I do need help to get log (because I do have
> problem with reproducing this issue). And at the same time, I'd like to ask
> for your help again to check screen_manager, to see if it handles call event
> well, if it registers callback properly. 
> 
> If you have problems with providing log now, could you please attach your
> gaia debug patch so that we could at least ask for QA to catch log I need
> with that gaia debug patch applied? Thanks!

Sorry, I did not kept my local changes for this debug. What was 100% sure was that ScreenManager in Gaia seemed to be okay, and all that was lacking, when reproducing a similar behavior as described in the bug, was the correct event coming from Gecko RIL part.

I can try again and give you more if I get something, however.
Flags: needinfo?(lissyx+mozillians)
(In reply to Alexandre LISSY :gerard-majax [DND 03/22-03/29] from comment #37)
> (In reply to Hsin-Yi Tsai  [:hsinyi] from comment #36)
> > 
> > > I agree it was quite painful to get reproduced, and I cannot clearly
> > > document more viable STRs than those I already provided. But still, the gaia
> > > code was querying telephony.calls.length, and it was stuck at 1.
> > 
> > I understood something went wrong in screen_manager. But per the video,
> > dialer callscreen disappeared normally. Doesn't it imply that the
> > information dialer app (also gaia) queried was correct? I'll keep
> > investigating gecko part but I do need help to get log (because I do have
> > problem with reproducing this issue). And at the same time, I'd like to ask
> > for your help again to check screen_manager, to see if it handles call event
> > well, if it registers callback properly. 
> > 
> > If you have problems with providing log now, could you please attach your
> > gaia debug patch so that we could at least ask for QA to catch log I need
> > with that gaia debug patch applied? Thanks!
> 
> Sorry, I did not kept my local changes for this debug. What was 100% sure
> was that ScreenManager in Gaia seemed to be okay, and all that was lacking,
> when reproducing a similar behavior as described in the bug, was the correct
> event coming from Gecko RIL part.
> 
> I can try again and give you more if I get something, however.

That would be awesome! Please do, thank you.
I will see what I can help to reproduce this or not tomorrow, need to set up an voicemail application on Windows first.
Attached file log-proximity
log - telephony.calls.length in screen_manager stays at 1

I don't see the blink behaviour but I see telephony.calls.length in screen_manager stays at 1, while in Dialer app, telephony.calls.length becomes 0 correctly.
The original regression window appears to be correct, the proximity sensor functions properly in the 12/19 build, but the issue can be reproduced in the 12/20 build.

- 12/19 Last Working -
Device: Buri v1.4 Moz RIL
BuildID: 20131219040202
Gaia: e6276c96fcf087a12800419be8a9e25fcbbc924d
Gecko: 5c7fa2bfea8b
Version: 29.0a1
Firmware Version: v1.2-device.cfg

- 12/20 First Broken -
Device: Buri v1.4 Moz RIL
BuildID: 20131220040201
Gaia: f9c99e6b714de0e84947d50aae064c510324725b
Gecko: 599100c4ebfe
Version: 29.0a1
Firmware Version: v1.2-device.cfg


I was able to find another issue from a few days earlier that may also be related. A critical component of the original bug is that the voicemail notification does not disappear immediately after being tapped, allowing the user to tap it multiple times. In the 12/17 build, the notification disappears immediately, so it is impossible to tap it multiple times. In the 12/18 build, the notification does not disappear immediately.

- 12/17 Last Working - 
Device: Buri v1.4 Moz RIL
BuildID: 20131217040201
Gaia: 545aacf3feff6430140cc9ade757002df4895b77
Gecko: b1e5ade62913
Version: 29.0a1
Firmware Version: v1.2-device.cfg

- 12/18 First Broken -
Device: Buri v1.4 Moz RIL
BuildID: 20131218040201
Gaia: e2f0e09e980b1cb3275a0bb033931cb48f9d521c
Gecko: 862cb6a1cc88
Version: 29.0a1
Firmware Version: v1.2-device.cfg

We do not have Tinderbox builds for these dates, so I cannot find a more accurate window.
(In reply to rkuhlman from comment #41)

[...]

> I was able to find another issue from a few days earlier that may also be
> related. A critical component of the original bug is that the voicemail
> notification does not disappear immediately after being tapped, allowing the
> user to tap it multiple times. In the 12/17 build, the notification
> disappears immediately, so it is impossible to tap it multiple times. In the
> 12/18 build, the notification does not disappear immediately.

But it does not means the issue was not present previously. This dates the introduction of the use of the new Notification API, that allows to replace/close a notification. Previously, the system app was closing the notification as soon as it was tapped. So the notification change is just exposing the issue.
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #40)
> Created attachment 8399319 [details]
> log-proximity
> 
> log - telephony.calls.length in screen_manager stays at 1
> 
> I don't see the blink behaviour but I see telephony.calls.length in
> screen_manager stays at 1, while in Dialer app, telephony.calls.length
> becomes 0 correctly.

(In reply to Alexandre LISSY :gerard-majax [DND 03/22-03/29] from comment #42)
> (In reply to rkuhlman from comment #41)
> 
> [...]
> 
> > I was able to find another issue from a few days earlier that may also be
> > related. A critical component of the original bug is that the voicemail
> > notification does not disappear immediately after being tapped, allowing the
> > user to tap it multiple times. In the 12/17 build, the notification
> > disappears immediately, so it is impossible to tap it multiple times. In the
> > 12/18 build, the notification does not disappear immediately.
> 
> But it does not means the issue was not present previously. This dates the
> introduction of the use of the new Notification API, that allows to
> replace/close a notification. Previously, the system app was closing the
> notification as soon as it was tapped. So the notification change is just
> exposing the issue.

According to the log, 3 voicemail calls were dialed out and modem responded success for all of them, but this is not right per 3gpp spec. The restriction is as [1] indicates. Also, even modem said the 3rd call was made successfully, modem didn't report gecko any information about that 3rd call that makes call.length is hung at 1 in System App. And since this issue is triggered by the fact that user is able to tap a single notification repeatedly, I'd suggest we are more careful in [2] as what [1] does.

[1] https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/telephony_helper.js#L33
[2] https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/voicemail.js#L101
de-assign myself since this looks a gaia::system issue.
Assignee: htsai → nobody
Component: RIL → Gaia::System
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #43)

[...]

> According to the log, 3 voicemail calls were dialed out and modem responded
> success for all of them, but this is not right per 3gpp spec. The
> restriction is as [1] indicates. Also, even modem said the 3rd call was made
> successfully, modem didn't report gecko any information about that 3rd call
> that makes call.length is hung at 1 in System App. And since this issue is
> triggered by the fact that user is able to tap a single notification
> repeatedly, I'd suggest we are more careful in [2] as what [1] does.
> 
> [1]
> https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/
> js/telephony_helper.js#L33
> [2]
> https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/voicemail.
> js#L101

Makes sense, but then I from your explanation, you are explicitely describing a Gecko-side bug, don't you ?

I mean, if we cannot open more than 2 calls, then the mozTelephony API should be triggering some error. Doing it on our side in Gaia seems broken, IMHO.
Agree that mozTelephony API should return a specific error for this case. I will open a gecko bug for that. But I'd still suggest gaia having a more careful function call.
Maybe the voicemail notification code should make use of this telephony helper.
(In reply to Hsin-Yi Tsai  [:hsinyi] from comment #46)
> Agree that mozTelephony API should return a specific error for this case. I
> will open a gecko bug for that. But I'd still suggest gaia having a more
> careful function call.

Bug 990472 filed.
I am not able to reprodoce this, but I have this log when I move away my hand from the proximity sensor and the screen is still black during a call.

1.4 Environmental Variables:
Device: Buri 1.4 MOZ
BuildID: 20140306040204
Version: 30.0a1
Firmware Version: v1.2-device.cfg
Attachment #8399896 - Attachment mime type: text/x-log → text/plain
Assignee: nobody → lissyx+mozillians
Depends on: 978726
Blocks: 983459
Please find attached a pull request that fixes the issue.
Attachment #8401862 - Flags: review?(timdream)
Blocks: 992129
Attachment #8401862 - Flags: review?(timdream)
Attachment #8401862 - Flags: review?(etienne)
Attachment #8401862 - Flags: feedback+
Comment on attachment 8401862 [details] [review]
Link to Github https://github.com/mozilla-b2g/gaia/pull/17982

r=me with the small testing comment on github adressed.
Attachment #8401862 - Flags: review?(etienne) → review+
https://github.com/mozilla-b2g/gaia/commit/bb15797815e7c60bc4aa59e59fee4958b2eb1622
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Whiteboard: [fxos-bug-bash-1.4] → [fxos-bug-bash-1.4], [systemsfe]
You need to log in before you can comment on or make changes to this bug.