Closed Bug 912138 Opened 6 years ago Closed 6 years ago

[B2G] [Buri] [1.2] [Camera] Camera viewfinder freezes after changing orientation and taking a picture


(Core :: Graphics: Layers, defect)

Gonk (Firefox OS)
Not set



blocking-b2g koi+


(Reporter: ckreinbring, Assigned: BenWa)


(Keywords: regression)


(1 file)

The camera app freezes after changing the phone orientation (usually portrait to landscape) and taking a picture.  The error string appears to be E/QCameraHWI(144): android::status_t android::QCameraHardwareInterface::startPreview2(): X error - can't start stream!

Repro Steps:
1) Update Buri to Build ID: 20130903040204
2) Launch the Camera app.
3) Rotate the phone to a different orientation and take a picture.
4) Observe the state of the viewfinder after the picture is taken.

The viewfinder freezes and the user cannot take any pictures until the Camera app is closed.

The viewfinder returns to the current view without freezing.

Environmental Variables
Occurs on Buri 1.2 mozilla RIL
Build ID: 20130903040204
Gaia: c6d58088f207829d96e7bb33ddacf990e90752fb
Platform Version: 26.0a1

Repro frequency: 100%
See attached logcat logs
Multiple pictures may be needed in order to set up the environment to repro the bug.
request escalation due to the high impact of this issue.
blocking-b2g: --- → koi?
It's a graphics issue with a genlock error.

09-03 10:29:39.800: E/libgenlock(144): perform_lock_unlock_operation: GENLOCK_IOC_DREADLOCK failed (lockType0x1, err=Connection timed out fd=51)
Keywords: smoketestregression
No longer blocks: b2g-central-dogfood
Component: Gaia::Camera → Graphics: Layers
Product: Boot2Gecko → Core
Version: unspecified → Trunk
Likely related to bug 908892 & bug 909564.
I've also found that changing the mode between camera and video after changing the orientation will cause the viewfinder to show a black screen.  The camera and video buttons will also become disabled.
Sotaro, what do you think?

09-03 10:29:40.470: I/Gecko(3412): setBufferCount: client owns some buffers
09-03 10:29:40.470: E/SurfaceTextureClient(144): ISurfaceTexture::setBufferCount(7) returned Invalid argument
09-03 10:29:40.470: E/QCameraHWI_Preview(144): set_buffer_count failed: Invalid argument (22)
09-03 10:29:40.470: E/QCameraHWI_Preview(144): virtual android::status_t android::QCameraStream_preview::initDisplayBuffers(): cannot get memory from surface texture client, ret = -2147483648

I'm seeing the same error on hamachi when trying to resume the preview stream after taking a picture.
Flags: needinfo?(sotaro.ikeda.g)
It might be related to Bug 907745. Until Bug 907745 is fixed, gfx layers has an architectural problem around gralloc buffer handling.
Flags: needinfo?(sotaro.ikeda.g)
And master still do not implement ImageBridgeChild::SetIdle(), corresponding thing is ImageBridgeChild::SetIdle() in b2g18. It is Bug 901224.
QA Contact: gbennett
This bug tracks two issues: the perf hit after switching orientation and the camera freezing after a picture is taken, so I'll give the regression window for both as one issue appears later than the other.

0727 - both fine
Environmental Variables
Device: Buri 1.2.0 
Build ID: 20130727030205
Gaia: 5c426939ae119ec7781e2a5ef885b6d86807127f
Platform Version: 25.0a1

0728 - no freeze, perf exists
Environmental Variables
Device: Buri 1.2.0
Build ID: 20130728030202
Gaia: ad923e915a38394497da682c3024ccc37390b52a
Platform Version: 25.0a1

0803 - freeze and perf exists
Environmental Variables
Device: Buri 1.2.0
Build ID: 20130803070217
Gaia: 33984fd5596c7bd329819700b01294896e30ccfb
Platform Version: 25.0a1

Another item to note, it is unknown if the 0801/0802 builds freeze as after a picture is taken during the perf hit, the OS crashes.
This issue fails smoketest test case #1325, step 4, on Buri v1.2 Mozilla RIL.
Keywords: smoketest
(In reply to Allen Maxwell from comment #9)
> This issue fails smoketest test case #1325, step 4, on Buri v1.2 Mozilla RIL.

That doesn't necessarily make this a smoketest blocker. It needs to provide no workaround to the user. There is a workaround present here, which makes this a non-blocker.
Keywords: smoketest
No longer blocks: b2g-central-dogfood
BenWa, we have a similar one for Android, right?
blocking-b2g: koi? → koi+
Flags: needinfo?(bgirard)
Assignee: nobody → bgirard
Is it still reproducible on b2g? I can not reproduce it on current v1.2 hamachi.
Keywords: qawanted
I'm no longer seeing this issue on the latest moz 1.2 build:

Environmental  Variables:
Build ID: 20130924004002
Gaia: a13c76f8d3c617ee57c302c103da04ed1a6298d1
Platform Version: 26.0a2
Base Image: 20130912

Changing camera orientation is not producing a crash currently, changing the orientation allows the user to take pictures in that format, the camera functions normally. This issue used to be very easy to reproduce, haven't been able to make it happen after several tries on my Buri device.

May have been fixed by Bug 907745 landing as noted in Comment 6.

Resolving as works for me.
Closed: 6 years ago
Keywords: qawanted
Resolution: --- → WORKSFORME
Flags: needinfo?(bgirard)
You need to log in before you can comment on or make changes to this bug.