[camera-app][mako] switching cameras crashes mediaserver with 4.2.2 based images

Bug #1205173 reported by Ricardo Salveti
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
camera-app
Fix Released
High
Sergio Schvezov
touch-preview-images
Fix Released
Undecided
Unassigned

Bug Description

Using image 20130725.1, but with the 4.2.2 based Android images (available at http://s-jenkins:8080/view/Phablet/job/ubuntu-touch-image-phablet-saucy).

To reproduce: just open the camera-app, and switch the camera.

Trace:
E/mm-libcamera2( 582): PROFILE HAL: stopPreview(): E: 1374806737.859468414
E/mm-camera( 805): config_MSG_ID_STOP_ACK: streamon_mask is not clear. Should not call PP_Release_HW
I/CameraClient( 582): Opening camera 1
E/QualcommCamera( 582): int android::camera_device_open(const hw_module_t*, const char*, hw_device_t**) Mutliple camera open instances are not supported
F/libc ( 582): Fatal signal 11 (SIGSEGV) at 0x00000040 (code=1), thread 160 (Binder_1)
I/CameraClient( 582): Destroying camera 0
E/mm-camera( 805): config_shutdown_pp Camera not in streaming mode. Returning.
E/mm-camera( 805): vfe_ops_deinit: E
I/DEBUG ( 578): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 578): Build fingerprint: 'google/occam/mako:4.2.2/JDQ39/573038:user/release-keys'
I/DEBUG ( 578): Revision: '11'
I/DEBUG ( 578): pid: 18, tid: 160, name: Binder_1 >>> /system/bin/mediaserver <<<
I/DEBUG ( 578): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000040
E/qcom_sensors_hal( 800): hal_process_report_ind: Bad item quality: 11
I/DEBUG ( 578): r0 00000000 r1 406d3ae9 r2 40811718 r3 406d3cb1
I/DEBUG ( 578): r4 00000001 r5 408116b8 r6 00000000 r7 00000000
I/DEBUG ( 578): r8 40139228 r9 406f2040 sl 408116e4 fp 406e6bbd
I/DEBUG ( 578): ip 00000001 sp 417a9c28 lr 405e35d5 pc 406d31cc cpsr 600e0030
I/DEBUG ( 578): d0 6c70696c74754d20 d1 6172656d61632065
I/DEBUG ( 578): d2 6e69206e65706f20 d3 207365636e617473
I/DEBUG ( 578): d4 0000068444d08000 d5 408688284080ce50
I/DEBUG ( 578): d6 406710e84080c6b8 d7 010f950000000000
I/DEBUG ( 578): d8 0000000000000000 d9 0000000000000000
I/DEBUG ( 578): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 578): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 578): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 578): d16 20746f6e20657261 d17 6574726f70707573
I/DEBUG ( 578): d18 697665645f617265 d19 286e65706f5f6563
I/DEBUG ( 578): d20 77682074736e6f63 d21 5f656c75646f6d5f
I/DEBUG ( 578): d22 736e6f63202c2a74 d23 2c2a726168632074
I/DEBUG ( 578): d24 3e66376972bea4d0 d25 3ed79f2dd01c3244
I/DEBUG ( 578): d26 4045400000000000 d27 3ffaaaaab8000000
I/DEBUG ( 578): d28 3ff0000000000000 d29 0000000000000000
I/DEBUG ( 578): d30 4000000000000000 d31 4000000000000000
I/DEBUG ( 578): scr 60000010
I/DEBUG ( 578):
I/DEBUG ( 578): backtrace:
I/DEBUG ( 578): #00 pc 0001f1cc /system/lib/libcameraservice.so (android::CameraClient::initialize(camera_module*)+319)
I/DEBUG ( 578): #01 pc 0001d5d1 /system/lib/libcameraservice.so (android::CameraService::connect(android::sp<android::ICameraClient> const&, int)+600)
I/DEBUG ( 578): #02 pc 000141f9 /system/lib/libcamera_client.so (android::BnCameraService::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+172)
I/DEBUG ( 578): #03 pc 0001c3db /system/lib/libcameraservice.so (android::CameraService::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+106)
I/DEBUG ( 578): #04 pc 000144ed /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+60)
I/DEBUG ( 578): #05 pc 0001722d /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+512)
I/DEBUG ( 578): #06 pc 0001763b /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+182)
I/DEBUG ( 578): #07 pc 0001b231 /system/lib/libbinder.so
I/DEBUG ( 578): #08 pc 00011489 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+220)
I/DEBUG ( 578): #09 pc 00010f6d /system/lib/libutils.so
I/DEBUG ( 578): #10 pc 0000e49c /system/lib/libc.so (__thread_entry+72)
I/DEBUG ( 578): #11 pc 0000db80 /system/lib/libc.so (pthread_create+180)

Seems the main issue is that the camera 0 is not fully closed before the camera 1 is opened, kind of the same races we have with other devices.

Bill Filler (bfiller)
Changed in camera-app:
assignee: nobody → Günter Schwann (schwann)
importance: Undecided → High
status: New → Triaged
Changed in camera-app:
assignee: Günter Schwann (schwann) → Sergio Schvezov (sergiusens)
Changed in camera-app:
status: Triaged → Fix Released
Changed in touch-preview-images:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.