Closed Bug 830480 Opened 11 years ago Closed 11 years ago

[Lockscreen] Tapping camera and unlock buttons rapidly on passcoded phone hangs lockscreen

Categories

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

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:tef+, b2g18+ fixed, b2g18-v1.0.0 fixed)

VERIFIED FIXED
blocking-b2g tef+
Tracking Status
b2g18 + fixed
b2g18-v1.0.0 --- fixed

People

(Reporter: mikeh, Assigned: julienw)

References

Details

(Whiteboard: [EU_TPE_TRIAGED] testrun 4)

Attachments

(1 file)

With the patch included in bug 825687, the phone no longer crashes; but with the STR below, the lockscreen never comes back up:

1. press the power button to wake up the DUT (assume passcode is set)
2. quickly press the camera and the unlock buttons
  a. passcode-entry screen appears
  b. camera app may briefly appear
3. wait
  a. screen goes black, backlights turn off
4. press the power button
  a. softkeys light up
  b. display backlight seems to turn on
  c. screen remains black
5. wait
  a. screen and softkeys turn off
[Copied CC list and Importance from old bug.]
Severity: normal → critical
blocking-b2g: --- → tef?
Priority: -- → P1
logcat:

D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:81920 offset:1826816 fd:106
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:81920 offset:1327104 fd:111
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:163840 offset:1409024 fd:116
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:16384 offset:1572864 fd:121
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:16384 offset:1908736 fd:126
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aa9e000 size:81920 offset:1327104 fd:111
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab18000 size:81920 offset:1826816 fd:106
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=144346, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=144376, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=144376, type=3, code=50, value=4
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=144376, type=3, code=53, value=164
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=144407, type=3, code=54, value=422
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=144407, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=144407, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=144437, type=0, code=0, value=0
I(  581:0x245) ReconfigureTimer: no idle or waiting observers
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=254697, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=254697, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=254697, type=3, code=50, value=4
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=254697, type=3, code=53, value=165
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=254697, type=3, code=54, value=414
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=254728, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=254728, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=254728, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=267423, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=267423, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=267423, type=3, code=50, value=5
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=267454, type=3, code=53, value=165
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=267454, type=3, code=54, value=410
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=267454, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=267454, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=267484, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=280180, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=280210, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=280210, type=3, code=50, value=5
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=280210, type=3, code=53, value=165
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=280210, type=3, code=54, value=403
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=280210, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=280210, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=280241, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=293729, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=293729, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=293729, type=3, code=50, value=6
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=293729, type=3, code=53, value=165
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=293729, type=3, code=54, value=396
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=293760, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=293760, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=293760, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=306455, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=306516, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=306516, type=3, code=50, value=5
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=306516, type=3, code=53, value=164
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=306516, type=3, code=54, value=385
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=306516, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=306516, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=306547, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=318449, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=318479, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=318479, type=3, code=50, value=4
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=318479, type=3, code=53, value=163
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=318479, type=3, code=54, value=373
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=318479, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=318479, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=318510, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=331236, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=331236, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=331236, type=3, code=50, value=5
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=331236, type=3, code=53, value=160
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=331236, type=3, code=54, value=360
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=331236, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=331266, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=331266, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=344114, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=344145, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=344145, type=3, code=50, value=5
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=344145, type=3, code=53, value=158
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=344145, type=3, code=54, value=347
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=344145, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=344145, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=344145, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=356748, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=356779, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=356779, type=3, code=50, value=5
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=356779, type=3, code=53, value=157
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=356779, type=3, code=54, value=335
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=356779, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=356779, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=356809, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=369505, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=369535, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=369535, type=3, code=50, value=4
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=369535, type=3, code=53, value=155
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=369535, type=3, code=54, value=324
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=369566, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=369566, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=369566, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=382780, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=382780, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=382780, type=3, code=50, value=4
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=382810, type=3, code=53, value=153
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=382810, type=3, code=54, value=314
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=382810, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=382810, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=382810, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=395811, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=395841, type=3, code=48, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=395841, type=3, code=50, value=4
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=395841, type=3, code=53, value=150
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=395841, type=3, code=54, value=306
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=395841, type=3, code=58, value=41
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=395872, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=395872, type=0, code=0, value=0
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:122880 offset:2097152 fd:106
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=416654, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1511, t1=416654, type=0, code=0, value=0
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:16384 offset:1925120 fd:111
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:16384 offset:1941504 fd:134
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aab2000 size:163840 offset:1409024 fd:116
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aada000 size:16384 offset:1572864 fd:121
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab2c000 size:16384 offset:1908736 fd:126
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:122880 offset:1327104 fd:116
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:163840 offset:2220032 fd:123
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:40960 offset:1826816 fd:140
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:16384 offset:1957888 fd:145
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:16384 offset:1867776 fd:150
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:16384 offset:1884160 fd:155
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:16384 offset:1900544 fd:160
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aa9e000 size:122880 offset:1327104 fd:116
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab38000 size:16384 offset:1957888 fd:145
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab26000 size:16384 offset:1884160 fd:155
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab5a000 size:122880 offset:2097152 fd:106
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab30000 size:16384 offset:1925120 fd:111
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab34000 size:16384 offset:1941504 fd:134
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:163840 offset:1327104 fd:106
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab18000 size:40960 offset:1826816 fd:140
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab22000 size:16384 offset:1867776 fd:150
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab2a000 size:16384 offset:1900544 fd:160
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab78000 size:163840 offset:2220032 fd:123
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aa9e000 size:163840 offset:1327104 fd:106
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=293943, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=293974, type=3, code=48, value=44
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=293974, type=3, code=50, value=4
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=293974, type=3, code=53, value=62
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=294004, type=3, code=54, value=436
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=294004, type=3, code=58, value=44
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=294004, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=294035, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=445585, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=445615, type=0, code=0, value=0
I(  581:0x245) [Parent 581] WARNING: NS_ENSURE_SUCCESS(rv, true) failed with result 0x8000FFFF: file /home/mikeh/dev/mozilla/btg019/gecko/docshell/base/nsDocShell.cpp, line 10327
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=868223, type=3, code=57, value=0
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=868253, type=3, code=48, value=45
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=868253, type=3, code=50, value=4
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=868253, type=3, code=53, value=251
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=868253, type=3, code=54, value=427
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=868253, type=3, code=58, value=45
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=868284, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1513, t1=868284, type=0, code=0, value=0
V(  581:0x267) /dev/input/event0 got: t0=1514, t1=45438, type=0, code=2, value=0
V(  581:0x267) /dev/input/event0 got: t0=1514, t1=45469, type=0, code=0, value=0
I(  581:0x245) [Parent 581] WARNING: NS_ENSURE_TRUE(ParseTypeAttribute(type, &version)) failed: file /home/mikeh/dev/mozilla/btg019/gecko/content/base/src/nsScriptLoader.cpp, line 454
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:122880 offset:1826816 fd:106
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:286720 offset:2097152 fd:111
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:122880 offset:1327104 fd:117
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:286720 offset:2383872 fd:122
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:32768 offset:1449984 fd:129
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:8192 offset:1949696 fd:137
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:2375680 offset:2670592 fd:142
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aa9e000 size:122880 offset:1327104 fd:117
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab18000 size:122880 offset:1826816 fd:106
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aba0000 size:286720 offset:2383872 fd:122
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab5a000 size:286720 offset:2097152 fd:111
E(  581:0x245) Qint android::get_number_of_cameras(): E
I(  581:0x245) getCameraInfo: IN
I(  581:0x245) getCameraInfo: loading libqcamera at 0xb000f918
V(  581:0x245)  Storing the current target type as 3 
I(  581:0x245) getCameraInfo: numOfCameras = 1
I(  581:0x245) Camera sensor 0 info:
I(  581:0x245) camera_id: 0
I(  581:0x245) modes_supported: 5
I(  581:0x245) position: 0
I(  581:0x245) sensor_mount_angle: 90
V(  581:0x245) getCameraInfo: dlclose(libqcamera)
I(  581:0x245) getCameraInfo: OUT
E(  581:0x245) Qint android::get_camera_info(int, camera_info*): E
I(  581:0x245) Found a matching camera info for ID 0
I(  581:0x245) HAL_getCameraInfo: orientation = 90
I(  581:0x245) HAL_getCameraInfo: modes supported = 5
I(  581:0x2a8) Opening camera 0
E(  581:0x2a8) Qint android::camera_device_open(const hw_module_t*, const char*, hw_device_t**): E
I(  581:0x2a8) openCameraHardware: call createInstance
I(  581:0x2a8) openCameraHardware:Valid camera ID 0
I(  581:0x2a8) HAL_openCameraHardware: HAL_currentSnapshotMode = 4 HAL_currentCameraMode = 1
I(  581:0x2a8) createInstance: E
I(  581:0x2a8) QualcommCameraHardware constructor E
V(  581:0x2a8) MMCameraDL: E
V(  581:0x2a8) Open MM camera DL libeomcamera loaded at 0xb000f918 
V(  581:0x2a8) MMCameraDL: X
V(  581:0x2a8)  Storing the current target type as 3 
V(  581:0x2a8) constructor EX
I(  581:0x2a8) createInstance: created hardware=0x4b3c4000
V(  581:0x2a8) startCamera E
V(  581:0x2a8) loading liboemcamera at 0xb000f918
V(  581:0x2a9)  openCamera : E
E(  581:0x2aa) sensor_load_chromatix: Sensor name: ov5640 cnt=10
E(  581:0x2aa) Inside ov5640_process_start 
E(  581:0x2aa) --CAMERA-- ov5640_process_start in!
E(  581:0x2aa) --CAMERA-- ov5640_register in!
E(  581:0x2aa) --CAMERA-- ov5640_setup_camctrl_tbl in!
V(  581:0x2a9)  openCamera : X
V(  581:0x2a9) openCamera : X
E(  581:0x2a8) bool android::QualcommCameraHardware::startCamera(): is_interpolated=0
V(  581:0x2a8) startCamera picture_sizes 0x457fc58c PICTURE_SIZE_COUNT 13
V(  581:0x2a8) startCamera preview_sizes 0x457fc534 previewSizeCount 9
V(  581:0x2a8) startCamera hfr_sizes 0x457fc5f4 hfrSizeCount 2
V(  581:0x2a8) startCamera X
I(  581:0x2a8) initDefaultParameters E
E(  581:0x2aa) ov5640_video_config, sfd = 107
E(  581:0x2aa) --CAMERA-- ov5640_video_config in!
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:81920 offset:1482752 fd:121
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:32768 offset:1327104 fd:126
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:8192 offset:1957888 fd:149
D(  581:0x257) /dev/pmem: Allocated buffer base:0x4a95a000 size:2375680 offset:5046272 fd:154
I(  581:0x245) [Parent 581] WARNING: NS_ENSURE_TRUE(txToRemove) failed: file /home/mikeh/dev/mozilla/btg019/gecko/docshell/shistory/src/nsSHistory.cpp, line 1300
I(  581:0x245) Register idle observer 478c8840 for 1 seconds
I(  581:0x245) Register: adjusting next switch from -1 to 1 seconds
I(  581:0x245) next timeout -1088 msec from now
I(  581:0x245) SetTimerExpiryIfBefore: next timeout -1088 msec from now
I(  581:0x245) reset timer expiry to 10 msec from now
I(  581:0x245) Get idle time: time since reset 2088 msec
V(  581:0x2a8) DISABLE DIS
E(  581:0x2a8) Maximum zoom value is 61
V(  581:0x2a8) max zoom is 60
I(  581:0x2a8) initDefaultParameters: setting num-snaps-per-shutter to 1
E(  581:0x2a8) initDefaultParameters: video_size == NULL
I(  581:0x2a8) initDefaultParameters X
I(  581:0x2a8) createInstance: X
E(  581:0x2a8) Qint android::get_camera_info(int, camera_info*): E
I(  581:0x2a8) Found a matching camera info for ID 0
I(  581:0x2a8) HAL_getCameraInfo: orientation = 90
I(  581:0x2a8) HAL_getCameraInfo: modes supported = 5
V(  581:0x2a8) setCallbacks(0)
E(  581:0x2a8) Qvoid android::set_callbacks(camera_device*, void (*)(int32_t, int32_t, int32_t, void*), void (*)(int32_t, const camera_memory_t*, unsigned int, camera_frame_metadata_t*, void*), void (*)(int64_t, int32_t, const camera_memory_t*, unsigned int, void*), camera_memory_t* (*)(int, size_t, unsigned int, void*), void*): E
E(  581:0x2a8) cam_nt_cb =0x0,cam_dt_cb=0x0,cam_dt_timestamp_cb=0x0
V(  581:0x2a8) getParameters(0)
E(  581:0x2a8) Qchar* android::get_parameters(camera_device*): E
V(  581:0x2a8) getParameters: EX
E(  581:0x2a8) get_parameters X
E(  581:0x2a8) Qvoid android::put_parameters(camera_device*, char*): E
E(  581:0x2a8) put_parameters X
V(  581:0x2a8) setParameters(0)
E(  581:0x2a8) Qint android::set_parameters(camera_device*, const char*): E
V(  581:0x2a8) setParameters: E params = 0x446dce70
I(  581:0x2a8) ZSL is enabled  0
V(  581:0x2a8) requested preview size 640 x 480
V(  581:0x2a8) requested picture size 640 x 480
V(  581:0x2a8) requested jpeg thumbnail size 512 x 384
V(  581:0x2a8) No Record Size requested, use the preview dimensions
I(  581:0x2a8) setRecordSize: preview dimensions: -1515870811x-1515870811
I(  581:0x2a8) setRecordSize: video dimensions: -1515870811x-1515870811
E(  581:0x2aa) --CAMERA-- ov5640_set_effect in!
E(  581:0x2aa) Entered ov5640_set_effect, ctrl->sfd = 107, op_mode = 3
E(  581:0x2aa) Setting effect to 0
V(  581:0x2a8) native_set_parms status = 0
E(  581:0x2a8) call qualcomm: discard_frame_flag =1 , discard_frame_cnt=2
I(  581:0x2a8) Parameter Rolloff is not supported for this sensor
V(  581:0x2a8) setting sharpness 2
E(  581:0x2aa) --CAMERA-- ov5640_set_sharpness in!
E(  581:0x2aa) Entered ov5640_set_sharpness, ctrl->sfd = 107
E(  581:0x2a8) android::status_t android::QualcommCameraHardware::setTouchAfAec(const android::CameraParameters&)
E(  581:0x2a8) Touch Area Center (cx, cy) = (320, 240)
E(  581:0x2a8) native_set_parms failed: type 19 length 16 error No such file or directory
V(  581:0x2a8) setting contrast 2
E(  581:0x2a8) call qualcomm: discard_frame_flag =1 , discard_frame_cnt=2
V(  581:0x2a8) No Record Size requested, use the preview dimensions
I(  581:0x2a8) setRecordSize: preview dimensions: -1515870811x-1515870811
I(  581:0x2a8) setRecordSize: video dimensions: -1515870811x-1515870811
E(  581:0x2aa) --CAMERA-- ov5640_set_antibanding in!
E(  581:0x2aa) Entered ov5640_set_antibanding, ctrl->sfd = 107, op_mode = 3
E(  581:0x2aa) Setting antibanding to 3
V(  581:0x2a8) native_set_parms status = 0
E(  581:0x2a8) FPS Range Values: 5000x31000
I(  581:0x2a8) setSnapshotCount setting num-snaps-per-shutter to 1
I(  581:0x2a8) Set fps is not supported for this sensor
E(  581:0x2a8) DEBBUG: setExposureCompensation E
E(  581:0x2a8) setExposureCompensation(): numerator=0,Temp=0
E(  581:0x2aa) ov5640_set_wb_oem...set 1
E(  581:0x2aa) --CAMERA-- ov5640_set_wb_oem in!
E(  581:0x2aa) set ioctl to camera driver 
V(  581:0x2a8) native_set_parms status = 0
E(  581:0x2a8) setFlash: flash not supported
E(  581:0x2a8) FocusMode =auto
V(  581:0x2a8) updateFocusDistances: IN
I(  581:0x2a8) updateFocusDistances: setting KEY_FOCUS_DISTANCES as 1.000000,2.000000,3.000000
V(  581:0x2a8) Continuous Auto Focus 0
E(  581:0x2aa) --CAMERA-- ov5640_set_brightness in!
E(  581:0x2aa) Entered ov5640_set_brightness, ctrl->sfd = 107
E(  581:0x2a8) call qualcomm: discard_frame_flag =1 , discard_frame_cnt=1
E(  581:0x2aa) ov5640_set_iso: sfd = 107
V(  581:0x2a8) checkAreaParameters: Area values are -1000,-1000,1000,1000,1000
V(  581:0x2a8) checkAreaParameters: Area values are -1000,-1000,1000,1000,1000
V(  581:0x2a8) Setting saturation 2
E(  581:0x2aa) --CAMERA-- ov5640_set_saturation in!
E(  581:0x2aa) Entered ov5640_set_saturation, ctrl->sfd = 107
V(  581:0x2a8) native_set_parms status = 0
I(  581:0x2a8) setHighFrameRate: setting HFR value of off(1)
V(  581:0x2a8) setParameters: X
V(  581:0x2a8) getParameters(0)
E(  581:0x2a8) Qchar* android::get_parameters(camera_device*): E
V(  581:0x2a8) getParameters: EX
E(  581:0x2a8) get_parameters X
E(  581:0x2a8) Qvoid android::put_parameters(camera_device*, char*): E
E(  581:0x2a8) put_parameters X
I(  581:0x245) Get idle time: time since reset 2490 msec
I(  581:0x245) Idle timer callback: current idle time 2490 msec
I(  581:0x245) next timeout 4294967292509 msec from now
I(  581:0x245) SetTimerExpiryIfBefore: next timeout 4294967292509 msec from now
I(  581:0x245) reset timer expiry to 4294967292518 msec from now
I(  581:0x245) Idle timer callback: tell observer 478c8840 user is idle
I(  581:0x245) Get idle time: time since reset 2495 msec
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aac4000 size:81920 offset:1482752 fd:121
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aa9e000 size:32768 offset:1327104 fd:126
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aabc000 size:32768 offset:1449984 fd:129
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab38000 size:8192 offset:1957888 fd:149
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab36000 size:8192 offset:1949696 fd:137
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ae2a000 size:2375680 offset:5046272 fd:154
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4abe6000 size:2375680 offset:2670592 fd:142
V(  581:0x245) disableMsgType(0)
E(  581:0x245) Qvoid android::disable_msg_type(camera_device*, int32_t): E
V(  581:0x245) stopPreview(0)
E(  581:0x245) Qvoid android::stop_preview(camera_device*): E
V(  581:0x245) stopPreview: E
I(  581:0x245) stopPreviewInternal E: 0
E(  581:0x245) stopPreviewInternal, J_mCameraRunning = 0
E(  581:0x245) stopPreviewInternal, before calling deinitpre mPreviewInitialized = 0
I(  581:0x245) stopPreviewInternal X: 0
V(  581:0x245) stopPreview: X
V(  581:0x245) release(0)
E(  581:0x245) Qvoid android::release(camera_device*): E
I(  581:0x245) release E
I(  581:0x245) release: mCameraRunning = 0
V(  581:0x245) deinitRaw E
V(  581:0x245) deinitRaw , clearing raw memory and jpeg memory
V(  581:0x245) deinitRaw X
V(  581:0x245) deinitRawSnapshot E
V(  581:0x245) deinitRawSnapshot X
I(  581:0x245) release: clearing resources done.
E(  581:0x2aa) cam_conf: CAMERA_EXIT
I(  581:0x245) release X: mCameraRunning = 0, mFrameThreadRunning = 0
I(  581:0x245) mVideoThreadRunning = 0, mSnapshotThreadRunning = 0, mJpegThreadRunning = 0
I(  581:0x245) camframe_timeout_flag = 0, mAutoFocusThreadRunning = 0
I(  581:0x245) Destroying camera 0
E(  581:0x245) Qint android::close_camera_device(hw_device_t*): device =0x4b4bea60 E
I(  581:0x245) void android::close_Hal_obj(camera_device*): E
I(  581:0x245) void android::close_Hal_obj(camera_device*): clear hw
I(  581:0x245) ~QualcommCameraHardware E
V(  581:0x245) ~MMCameraDL: E
V(  581:0x245) closed MM Camera DL 
V(  581:0x245) ~MMCameraDL: X
I(  581:0x245) ~QualcommCameraHardware X
I(  581:0x245) void android::close_Hal_obj(camera_device*): X
I(  581:0x245) [Parent 581] ###!!! ASSERTION: QueryInterface needed: 'query_result.get() == mRawPtr', file ../../dist/include/nsCOMPtr.h, line 503
I(  581:0x245) Remove idle observer 478c8840 (1 seconds)
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aafc000 size:98304 offset:1712128 fd:97
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab14000 size:8192 offset:1810432 fd:86
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab3c000 size:122880 offset:1974272 fd:131
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aa86000 size:98304 offset:1228800 fd:100
D(  641:0x281) /dev/pmem: Unmapping buffer base:0x44b00000 size:1327104 offset:1228800
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4ab16000 size:8192 offset:1818624 fd:103
D(  641:0x281) /dev/pmem: Unmapping buffer base:0x45ada000 size:1826816 offset:1818624
D(  581:0x257) /dev/pmem: Freeing buffer base:0x4aade000 size:122880 offset:1589248 fd:90
D(  641:0x281) /dev/pmem: Unmapping buffer base:0x44c7d000 size:1712128 offset:1589248
D(  641:0x281) /dev/pmem: Unmapping buffer base:0x45000000 size:1810432 offset:1712128
D(  641:0x281) /dev/pmem: Unmapping buffer base:0x45e00000 size:1818624 offset:1810432
D(  641:0x281) /dev/pmem: Unmapping buffer base:0x45556000 size:2097152 offset:1974272
I(  641:0x281) [Child 641] WARNING: NS_ENSURE_TRUE(IsChromeProcess()) failed: file /home/mikeh/dev/mozilla/btg019/gecko/content/base/src/nsFrameMessageManager.cpp, line 728
I(  641:0x281) [Child 641] WARNING: NS_ENSURE_TRUE(IsChromeProcess()) failed: file /home/mikeh/dev/mozilla/btg019/gecko/content/base/src/nsFrameMessageManager.cpp, line 728
I(  641:0x281) [Child 641] WARNING: NS_ENSURE_TRUE(IsChromeProcess()) failed: file /home/mikeh/dev/mozilla/btg019/gecko/content/base/src/nsFrameMessageManager.cpp, line 728

threads in process 581: 0x257 (599), 0x267 (615), 0x245 (581) - Main Thread, 0x2a8 (680) - CameraThread, 0x2aa (682) - camera driver thread

(gdb) info threads
  35 Thread 581.684  poll () at bionic/libc/arch-arm/syscalls/poll.S:10
  34 Thread 581.680  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  33 Thread 581.672  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:183
  32 Thread 581.633  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  31 Thread 581.623  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  30 Thread 581.622  __ioctl () at bionic/libc/arch-arm/syscalls/__ioctl.S:9
  29 Thread 581.619  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  28 Thread 581.616  poll () at bionic/libc/arch-arm/syscalls/poll.S:10
  27 Thread 581.615  syscall () at bionic/libc/arch-arm/bionic/syscall.S:50
  26 Thread 581.614  read () at bionic/libc/arch-arm/syscalls/read.S:9
  25 Thread 581.613  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  24 Thread 581.612  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  23 Thread 581.611  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  22 Thread 581.610  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  21 Thread 581.609  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  20 Thread 581.608  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  19 Thread 581.607  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  18 Thread 581.606  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  17 Thread 581.605  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  16 Thread 581.604  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  15 Thread 581.603  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  14 Thread 581.602  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  13 Thread 581.601  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:183
  12 Thread 581.600  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  11 Thread 581.599  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  10 Thread 581.598  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  9 Thread 581.597  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  8 Thread 581.596  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  7 Thread 581.595  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  6 Thread 581.594  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  5 Thread 581.593  poll () at bionic/libc/arch-arm/syscalls/poll.S:10
  4 Thread 581.592  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
  3 Thread 581.591  syscall () at bionic/libc/arch-arm/bionic/syscall.S:50
  2 Thread 581.589  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
* 1 Thread 581.581  syscall () at bionic/libc/arch-arm/bionic/syscall.S:50

(gdb) bt
#0  syscall () at bionic/libc/arch-arm/bionic/syscall.S:50
#1  0x417ac95a in epoll_wait (epfd=31, events=0xbea31518, maxevents=16, timeout=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/third_party/libevent/epoll_sub.c:51
#2  0x414e4cb2 in nsAppShell::ProcessNextNativeEvent (this=0x43426820, mayWait=true) at /home/mikeh/dev/mozilla/btg019/gecko/widget/gonk/nsAppShell.cpp:717
#3  0x415067b0 in nsBaseAppShell::DoProcessNextNativeEvent (this=0xfffffffc, mayWait=24, recursionDepth=16) at /home/mikeh/dev/mozilla/btg019/gecko/widget/xpwidgets/nsBaseAppShell.cpp:139
#4  0x415069d0 in nsBaseAppShell::OnProcessNextEvent (this=0x43426820, thr=0x40404390, mayWait=24, recursionDepth=0) at /home/mikeh/dev/mozilla/btg019/gecko/widget/xpwidgets/nsBaseAppShell.cpp:298
#5  0x4177fa4a in nsThread::ProcessNextEvent (this=0x40404390, mayWait=true, result=0xbea316ef) at /home/mikeh/dev/mozilla/btg019/gecko/xpcom/threads/nsThread.cpp:593
#6  0x417473e8 in NS_ProcessNextEvent_P (thread=0xfffffffc, mayWait=true) at /home/mikeh/dev/mozilla/btg019/objdir-gecko-debug/xpcom/build/nsThreadUtils.cpp:237
#7  0x415cb8e4 in mozilla::ipc::MessagePump::Run (this=0x40402430, aDelegate=0x4042b0c0) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/glue/MessagePump.cpp:117
#8  0x417b4f6a in MessageLoop::RunInternal (this=0x4042b0c0) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/message_loop.cc:215
#9  0x417b4fca in MessageLoop::RunHandler (this=0x4042b0c0) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/message_loop.cc:208
#10 MessageLoop::Run (this=0x4042b0c0) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/message_loop.cc:182
#11 0x4150603a in nsBaseAppShell::Run (this=0x43426820) at /home/mikeh/dev/mozilla/btg019/gecko/widget/xpwidgets/nsBaseAppShell.cpp:163
#12 0x413fecb2 in nsAppStartup::Run (this=0x43590f40) at /home/mikeh/dev/mozilla/btg019/gecko/toolkit/components/startup/nsAppStartup.cpp:290
#13 0x40a13aa6 in XREMain::XRE_mainRun (this=0xbea31984) at /home/mikeh/dev/mozilla/btg019/gecko/toolkit/xre/nsAppRunner.cpp:3794
#14 0x40a16192 in XREMain::XRE_main (this=0xbea31984, argc=<value optimized out>, argv=0xbea33b84, aAppData=0x21180) at /home/mikeh/dev/mozilla/btg019/gecko/toolkit/xre/nsAppRunner.cpp:3860
#15 0x40a16342 in XRE_main (argc=1, argv=0xbea33b84, aAppData=0x21180, aFlags=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/toolkit/xre/nsAppRunner.cpp:3935
#16 0x0000a2ac in do_main (argc=1, argv=0xbea33b84) at /home/mikeh/dev/mozilla/btg019/gecko/b2g/app/nsBrowserApp.cpp:164
#17 main (argc=1, argv=0xbea33b84) at /home/mikeh/dev/mozilla/btg019/gecko/b2g/app/nsBrowserApp.cpp:249

(gdb) thread 11
[Switching to thread 11 (Thread 581.599)]#0  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
182	    swi     #0
(gdb) bt
#0  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
#1  0x4003f55c in __pthread_cond_timedwait_relative (cond=0x442ffd04, mutex=0x442ffd0c, reltime=0x0) at bionic/libc/bionic/pthread.c:1477
#2  0x4003f610 in __pthread_cond_timedwait (cond=0x442ffd04, mutex=0x442ffd0c, abstime=0x0, clock=0) at bionic/libc/bionic/pthread.c:1500
#3  0x417ca6dc in ConditionVariable::Wait (this=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/condition_variable_posix.cc:30
#4  0x417d0df0 in base::WaitableEvent::TimedWait (this=0x44374c0c, max_time=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/waitable_event_posix.cc:195
#5  0x417d0e22 in base::WaitableEvent::Wait (this=0x442ffd04) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/waitable_event_posix.cc:201
#6  0x417b62ea in base::MessagePumpDefault::Run (this=0x44374c00, delegate=0x442ffdd0) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/message_pump_default.cc:42
#7  0x417b4f6a in MessageLoop::RunInternal (this=0x442ffdd0) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/message_loop.cc:215
#8  0x417b4fca in MessageLoop::RunHandler (this=0x442ffdd0) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/message_loop.cc:208
#9  MessageLoop::Run (this=0x442ffdd0) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/message_loop.cc:182
#10 0x417bef34 in base::Thread::ThreadMain (this=0x443a0790) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/thread.cc:156
#11 0x417cc906 in ThreadFunc (closure=0x442ffd04) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/base/platform_thread_posix.cc:39
#12 0x4003fe18 in __thread_entry (func=0x417cc8fd <ThreadFunc>, arg=0x443a0790, tls=<value optimized out>) at bionic/libc/bionic/pthread.c:217
#13 0x4003f96c in pthread_create (thread_out=<value optimized out>, attr=0xbea2fee8, start_routine=0x417cc8fd <ThreadFunc>, arg=0x443a0790) at bionic/libc/bionic/pthread.c:357
#14 0x48bed060 in ?? ()
Cannot access memory at address 0x0
#15 0x48bed060 in ?? ()
Cannot access memory at address 0x0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

(gdb) thread 27
[Switching to thread 27 (Thread 581.615)]#0  syscall () at bionic/libc/arch-arm/bionic/syscall.S:50
50	    ldmfd   sp!, {r4, r5, r6, r7}
(gdb) bt
#0  syscall () at bionic/libc/arch-arm/bionic/syscall.S:50
#1  0x417ac95a in epoll_wait (epfd=41, events=0x44319288, maxevents=16, timeout=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/ipc/chromium/src/third_party/libevent/epoll_sub.c:51
#2  0x414eb3f8 in android::EventHub::getEvents (this=0x44319230, timeoutMillis=<value optimized out>, buffer=<value optimized out>, bufferSize=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/widget/gonk/libui/EventHub.cpp:753
#3  0x414fe802 in android::InputReader::loopOnce (this=0x4685d000) at /home/mikeh/dev/mozilla/btg019/gecko/widget/gonk/libui/InputReader.cpp:277
#4  0x414f48f0 in android::InputReaderThread::threadLoop (this=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/widget/gonk/libui/InputReader.cpp:838
#5  0x40173e58 in android::Thread::_threadLoop (user=<value optimized out>) at frameworks/base/libs/utils/Threads.cpp:834
#6  0x4017449e in thread_data_t::trampoline (t=<value optimized out>) at frameworks/base/libs/utils/Threads.cpp:127
#7  0x4003fe18 in __thread_entry (func=0x40174409 <thread_data_t::trampoline(thread_data_t const*)>, arg=0x452da810, tls=<value optimized out>) at bionic/libc/bionic/pthread.c:217
#8  0x4003f96c in pthread_create (thread_out=<value optimized out>, attr=0xbea31314, start_routine=0x40174409 <thread_data_t::trampoline(thread_data_t const*)>, arg=0x452da810) at bionic/libc/bionic/pthread.c:357
#9  0x00000000 in ?? ()

(gdb) thread 34
[Switching to thread 34 (Thread 581.680)]#0  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
182	    swi     #0
(gdb) bt
#0  __futex_syscall3 () at bionic/libc/arch-arm/bionic/atomics_arm.S:182
#1  0x4003f55c in __pthread_cond_timedwait_relative (cond=0x490422c4, mutex=0x48347464, reltime=0x0) at bionic/libc/bionic/pthread.c:1477
#2  0x4003f610 in __pthread_cond_timedwait (cond=0x490422c4, mutex=0x48347464, abstime=0x0, clock=0) at bionic/libc/bionic/pthread.c:1500
#3  0x4036f04e in PR_WaitCondVar (cvar=0x490422c0, timeout=4294967295) at /home/mikeh/dev/mozilla/btg019/gecko/nsprpub/pr/src/pthreads/ptsynch.c:385
#4  0x4036f100 in PR_Wait (mon=0x48347460, timeout=4294967295) at /home/mikeh/dev/mozilla/btg019/gecko/nsprpub/pr/src/pthreads/ptsynch.c:582
#5  0x41748ada in mozilla::ReentrantMonitor::Wait (this=0x4907d158, interval=4294967295) at /home/mikeh/dev/mozilla/btg019/objdir-gecko-debug/xpcom/build/BlockingResourceBase.cpp:313
#6  0x4177eaf8 in mozilla::ReentrantMonitorAutoEnter::Wait (this=0x4907d158, mayWait=true, result=0x4a6ffe50) at ../../dist/include/mozilla/ReentrantMonitor.h:192
#7  nsEventQueue::GetEvent (this=0x4907d158, mayWait=true, result=0x4a6ffe50) at /home/mikeh/dev/mozilla/btg019/gecko/xpcom/threads/nsEventQueue.cpp:51
#8  0x4177fb6c in nsThread::ProcessNextEvent (this=0x4907d120, mayWait=true, result=0x4a6ffe8f) at /home/mikeh/dev/mozilla/btg019/gecko/xpcom/threads/nsThread.cpp:612
#9  0x417473e8 in NS_ProcessNextEvent_P (thread=0x490422c4, mayWait=true) at /home/mikeh/dev/mozilla/btg019/objdir-gecko-debug/xpcom/build/nsThreadUtils.cpp:237
#10 0x41780208 in nsThread::ThreadFunc (arg=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/xpcom/threads/nsThread.cpp:258
#11 0x40373694 in _pt_root (arg=<value optimized out>) at /home/mikeh/dev/mozilla/btg019/gecko/nsprpub/pr/src/pthreads/ptthread.c:156
#12 0x4003fe18 in __thread_entry (func=0x4037362d <_pt_root>, arg=0x492e7940, tls=<value optimized out>) at bionic/libc/bionic/pthread.c:217
#13 0x4003f96c in pthread_create (thread_out=<value optimized out>, attr=0xbea2fc7c, start_routine=0x4037362d <_pt_root>, arg=0x492e7940) at bionic/libc/bionic/pthread.c:357
#14 0x00000000 in ?? ()

(The camera driver thread doesn't exist anymore because it has been destroyed.)
Looking at the above logcat and gdb output, it _looks_ like everything in gecko is idle and waiting for something to happen.
When in step 2.b I saw SIM PIN screen on top of the camera app. The screen didn't turn black.
can't reproduce neither.
Triage: cannot reproduce. QAWANTED. TEF- for now, please renom if reproduced
blocking-b2g: tef? → -
Keywords: qawanted
Whiteboard: [EU_TPE_TRIAGED]
Hey team, I'm using Unagi build 20130115070201 and I was just able to repro this bug.

I want to make one thing clear here. I can do this 100% if I tap the camera first and then tap the unlock button with a passcode enabled.
renom per comment 8
blocking-b2g: - → tef?
Assignee: nobody → felash
blocking-b2g: tef? → tef+
I was able to repro this easily with the steps provided in comment 0... reiterating it without the results after each step:

0. turn passcode for screenlock on
1. press the power button to wake up the DUT
2. quickly press the camera and the unlock buttons  [press unlock and camera less than .5 seconds apart when on the lockscreen... need 2 thumbs]
3. wait
4. press the power button
5. wait

I'm not sure if there's a common case for tapping both buttons.
Renoming for tef?  Seems to be a low use case; though I am a bit concerned about the race condition.  I can't seem to hit it with trying to launch 3 apps at the same time; though I do get a huge pause when that does occur.
blocking-b2g: tef+ → tef?
I think this should be tef+.  Even if it's not a common use-case, once it's hit, the device is useless without a reboot.

The solution is probably just to disable the unlock button as soon as the camera button is pressed.  (And of course, remembering to re-enable it later.)
Attached patch patch v1Splinter Review
apply with |git am|
Also in github : https://github.com/mozilla-b2g/gaia/pull/7683

Prevent switching to a panel when we're already switching.
Changed some synchronous callbacks to asynchronous.
Also, The callback for camera was called too soon.
---
 apps/system/js/lockscreen.js |   24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)
Attachment #703892 - Flags: review?(timdream+bugs)
Comment on attachment 703892 [details] [diff] [review]
patch v1

Thanks. Looks good!
Attachment #703892 - Flags: review?(timdream+bugs) → review+
Comment on attachment 703892 [details] [diff] [review]
patch v1

NOTE: If blocking-basecamp+ is set, just land it for now.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): N/A
User impact if declined: the user  can freeze the phone, he's obliged to remove the battery to reboot it
Testing completed: yes
Risk to taking this patch (and alternatives if risky): none
Attachment #703892 - Flags: approval-gaia-master?(21)
blocking-b2g: tef? → -
tracking-b2g18: --- → +
I'd like this to go to shira, because the user could freeze the phone if that's not landed.
blocking-b2g: - → shira?
Please note that this was classified as "critical".
in the mean time, landed in master:
https://github.com/mozilla-b2g/gaia/commit/8bbd1b79ef821f8da2b1bdc73c62ec57729065f5
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Vivien thinks this should be tef+ so I'm nominating it again.

There was no explication when it was tef- and it was tef+ before.
blocking-b2g: shira? → tef?
AND I might add that the risk is negligible, and the patch is very small.
Attachment #703892 - Flags: approval-gaia-v1?(21)
Nominate for approval
blocking-b2g: tef? → -
Comment on attachment 703892 [details] [diff] [review]
patch v1

really I don't understand at all why you tef- and you say that I sohuld have an approval. Either you think it should land, either you think it should not land.

requesting approval from poor vivien that has certainly only this task to do.
Attachment #703892 - Flags: approval-gaia-v1?(21)
Bug still exists in build 20130125070201 Version 18.0
Build ID: 20130125070201
Kernel: Dec 5

I'm running Testrun 3 and fails case 
https://moztrap.mozilla.org/runtests/run/702/env/296/?pagenumber=1&pagesize=20&sortfield=order&sortdirection=asc&filter-id=3925&filter-suite=168

While not failing the case exactly as it's worded just a little halo testing a user can run into this bug.
croesch> This only landed on master so it's expected.
Attachment #703892 - Flags: approval-gaia-v1?(21) → approval-gaia-v1+
sicking> if I understood correctly, there is no way to land on v1.0.0 with approval, only tef+ can land on this (?)
(In reply to Jonas Sicking (:sicking) from comment #24)
> Approving for the v1.0.0 release

Jonas, did you mean to set blocking-b2g to tef+?  I'll uplift this to v1.0.0 when I have clarification.
nominating tef? because Jonas approved for v1.0.0.
blocking-b2g: - → tef?
(In reply to Julien Wajsberg [:julienw] from comment #25)
> sicking> if I understood correctly, there is no way to land on v1.0.0 with
> approval, only tef+ can land on this (?)

This can be uplifted to v1-train and v1.0.0 (as mentioned in comment 24) without being a tef blocker because it has approval.
blocking-b2g: tef? → ---
Coming back to this again, during triage we clarified that yes, it must be tef+ to be landed to v1.0.0 - adjusting the flag.
blocking-b2g: --- → tef+
Updating for testrun 4
Build ID: 20130130070201
Kernel: Dec 5
Gecko  http://hg.mozilla.org/releases/mozilla-b2g18/rev/4593f3e765eb
Gaia   f7f5a0cd17e3d04308cc5850b254947e127122b9
Whiteboard: [EU_TPE_TRIAGED] → [EU_TPE_TRIAGED] testrun 4
v1-train: 89e0dbb45ec2f358e2f417373a5733ebba585da2
v1.0.0: b90dc621a80aa462043369e7b6fb7ddd90d9d55a
VERIFIED IN BUILD 20130203070202
Status: RESOLVED → VERIFIED
Depends on: 838486
This appears to have broken the lockscreen "bounce" animation -- see bug 838486 comment 19.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: