[Bug] Segmentation fault in the Camera app
Description
I am unable to open up the native camera application after some days of uptime and have to reboot my device constantly to make the camera work again.
Affected devices and versions
This bahaviour occurs on my SFOS X license running on a Sony Xperia XA2 Dual-Sim device with SFOS 3.0.3.8.
I didn't test my other devices since the XA2 is my daily device now.
Further information
My settings on the XA2 are:
- Storage: memory card
- Resolution of main camera: 16:9 (16Mpix)
- Resolution of front camera: 4:3 (8Mpix)
I don't have any other camera applications installed...
This issue seems to only occur after more than a day of uptime. After clicking on the native camera icon a the black view-finder opens up, the notification that the memory card is being used as storage is shown and then the app directly crashes.
Terminal output:
,---
| Sailfish OS 3.0.3.8 (Hossa)
'---
[nemo@Sailfish ~]$ jolla-camera
[D] unknown:0 - Using Wayland-EGL
[W] unknown:0 - QObject::connect: invalid null parameter
[W] unknown:0 - QObject::connect: invalid null parameter
Segmentation fault
[nemo@Sailfish ~]$
Journalctl output:
[root@Sailfish nemo]# journalctl -f
[...]
May 06 12:35:50 Sailfish systemd-logind[2912]: New session c18 of user nemo.
May 06 12:35:50 Sailfish systemd[1]: Started Session c18 of user nemo.
May 06 12:35:50 Sailfish sshd[16498]: pam_unix(sshd:session): session opened for user nemo by (uid=0)
May 06 12:36:01 Sailfish kernel: IRQ5 no longer affine to CPU2
May 06 12:36:10 Sailfish kernel: IRQ5 no longer affine to CPU1
May 06 12:36:12 Sailfish invoker[4870]: WARNING: An inactive plugin is misbehaving - tried to show a window!
May 06 12:36:12 Sailfish invoker[4870]: WARNING: requestActivate() called for QQuickView(0x76c318) which has Qt::WindowDoesNotAcceptFocus set.
May 06 12:36:12 Sailfish mce[2815]: tklock.c: tklock_dbus_notification_beg_cb(): notification begin from name=:1.53 owner=:1.53 pid=4029 uid=100000 gid=999 priv=1 cmd=/usr/bin/lipstick -plugin evdevtouch -plugin evdevkeyboard:keym
May 06 12:36:12 Sailfish mce[2815]: tklock.c: tklock_datapipe_uiexception_type_cb(): uiexception_type = none -> notif
May 06 12:36:12 Sailfish kernel: msm_csid_init: CSID_VERSION = 0x30050000
May 06 12:36:12 Sailfish kernel: msm_csid_irq CSID0_IRQ_STATUS_ADDR = 0x800
May 06 12:36:12 Sailfish kernel: MSM-CPP cpp_init_hardware:1134 CPP HW Version: 0x60010002
May 06 12:36:12 Sailfish kernel: MSM-CPP cpp_init_hardware:1152 stream_cnt:0
May 06 12:36:12 Sailfish kernel: msm_cci_init:1443: hw_version = 0x10060000
May 06 12:36:12 Sailfish kernel: CAM_startsensor: page allocation failure: order:4, mode:0x24040c0
May 06 12:36:12 Sailfish kernel: CPU: 3 PID: 16604 Comm: CAM_startsensor Tainted: G W 4.4.176 #1
May 06 12:36:12 Sailfish kernel: Hardware name: Qualcomm Technologies, Inc. SDM 630 PM660 + PM660L MTP (DT)
May 06 12:36:12 Sailfish kernel: Call trace:
May 06 12:36:12 Sailfish kernel: [<ffffff8887a896b4>] dump_backtrace+0x0/0x1cc
May 06 12:36:12 Sailfish kernel: [<ffffff8887a899a0>] show_stack+0x20/0x28
May 06 12:36:12 Sailfish kernel: [<ffffff8887feec98>] dump_stack+0x8c/0xac
May 06 12:36:12 Sailfish kernel: [<ffffff8887ba99a4>] warn_alloc_failed+0xd8/0x12c
May 06 12:36:12 Sailfish kernel: [<ffffff8887bae12c>] __alloc_pages_nodemask+0x904/0xa74
May 06 12:36:12 Sailfish kernel: [<ffffff8887bae514>] alloc_kmem_pages+0x38/0xa8
May 06 12:36:12 Sailfish kernel: [<ffffff8887bcf3cc>] kmalloc_order_trace+0x38/0x12c
May 06 12:36:12 Sailfish kernel: [<ffffff8887bf85ec>] __kmalloc+0x2b8/0x2e4
May 06 12:36:12 Sailfish kernel: [<ffffff88885502d4>] msm_actuator_subdev_ioctl+0x360/0xaf8
May 06 12:36:12 Sailfish kernel: [<ffffff8888550b50>] msm_actuator_subdev_do_ioctl+0xe4/0x230
May 06 12:36:12 Sailfish kernel: [<ffffff888850fd30>] video_usercopy+0x248/0x5c8
May 06 12:36:12 Sailfish kernel: [<ffffff888854dbc4>] msm_actuator_subdev_fops_ioctl+0x38/0x44
May 06 12:36:12 Sailfish kernel: [<ffffff8888522178>] v4l2_compat_ioctl32+0x6c/0x22f0
May 06 12:36:12 Sailfish kernel: [<ffffff8887c6b6bc>] compat_SyS_ioctl+0x224/0x10bc
May 06 12:36:12 Sailfish kernel: [<ffffff8887a83130>] el0_svc_naked+0x24/0x28
May 06 12:36:12 Sailfish kernel: Mem-Info:
May 06 12:36:12 Sailfish kernel: active_anon:40241 inactive_anon:45261 isolated_anon:0
active_file:86360 inactive_file:53175 isolated_file:0
unevictable:1146 dirty:55 writeback:0 unstable:0
slab_reclaimable:17020 slab_unreclaimable:65313
mapped:55051 shmem:495 pagetables:5434 bounce:0
free:11001 free_pcp:0 free_cma:24
May 06 12:36:12 Sailfish kernel: DMA free:25520kB min:4080kB low:19864kB high:20884kB active_anon:103592kB inactive_anon:112900kB active_file:219216kB inactive_file:132596kB unevictable:2700kB isolated(anon):0kB isolated(file):0kB present:1874944kB managed:1735876kB mlocked:2700kB dirty:144kB writeback:0kB mapped:135328kB shmem:1160kB slab_reclaimable:39828kB slab_unreclaimable:181844kB kernel_stack:381504kB pagetables:13292kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:96kB writeback_tmp:0kB pages_scanned:52 all_unreclaimable? no
May 06 12:36:12 Sailfish kernel: lowmem_reserve[]: 0 944 944
May 06 12:36:12 Sailfish kernel: Normal free:18484kB min:2272kB low:11068kB high:11636kB active_anon:57372kB inactive_anon:68144kB active_file:126224kB inactive_file:80104kB unevictable:1884kB isolated(anon):0kB isolated(file):0kB present:1026816kB managed:967332kB mlocked:1884kB dirty:76kB writeback:0kB mapped:84876kB shmem:820kB slab_reclaimable:28252kB slab_unreclaimable:79408kB kernel_stack:166384kB pagetables:8444kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
May 06 12:36:12 Sailfish kernel: lowmem_reserve[]: 0 0 0
May 06 12:36:12 Sailfish kernel: DMA: 920*4kB (UMEC) 2225*8kB (UMEC) 281*16kB (UME) 1*32kB (M) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 26008kB
May 06 12:36:12 Sailfish kernel: Normal: 1111*4kB (UMEH) 1140*8kB (UMEH) 106*16kB (UM) 2*32kB (H) 2*64kB (H) 2*128kB (H) 1*256kB (H) 0*512kB 1*1024kB (H) 1*2048kB (H) 0*4096kB = 19036kB
May 06 12:36:12 Sailfish kernel: 141861 total pagecache pages
May 06 12:36:12 Sailfish kernel: 1135 pages in swap cache
May 06 12:36:12 Sailfish kernel: Swap cache stats: add 3320505, delete 3319370, find 395339/1824407
May 06 12:36:12 Sailfish kernel: Free swap = 197648kB
May 06 12:36:12 Sailfish kernel: Total swap = 524284kB
May 06 12:36:12 Sailfish kernel: 725440 pages RAM
May 06 12:36:12 Sailfish kernel: 0 pages HighMem/MovableOnly
May 06 12:36:12 Sailfish kernel: 49638 pages reserved
May 06 12:36:12 Sailfish kernel: 40960 pages cma reserved
May 06 12:36:12 Sailfish kernel: msm_actuator_set_param:1701 Error allocating memory for init_settings
May 06 12:36:12 Sailfish kernel: msm_actuator_config:1793 init table failed -14
May 06 12:36:12 Sailfish kernel: msm_actuator_park_lens:1137 msm_actuator_park_lens:1137 Failed to park lens.
May 06 12:36:12 Sailfish mce[2815]: modules/proximity.c: mp_datapipe_set_proximity_sensor_actual(): state: UNDEF -> OPEN
May 06 12:36:12 Sailfish kernel: MSM-CPP cpp_release_hardware:1215 cpp hw release done
May 06 12:36:12 Sailfish lipstick[4029]: [W] unknown:327 - file:///usr/share/lipstick-jolla-home-qt5/switcher/Switcher.qml:327: TypeError: Cannot read property of null
May 06 12:36:13 Sailfish kernel: IRQ5 no longer affine to CPU3
^C
[root@Sailfish nemo]#
Please let me know how to debug this issue if you require some more information.
Happens on my phone also. XA2 dual sim. Also the Advaced Camera from openrepos is affected so it feels like it might be a driver bug. I'll have to check if I'm using v16 or v17 driver blob.
pjr ( 2019-05-06 21:15:45 +0200 )editI am using the v16 blob. :)
Alex ( 2019-05-06 22:21:07 +0200 )editAny ideas? I have the same annoying problem couple of times per day. XA2 dual with 3.0.3.9.
Maximus ( 2019-05-13 20:57:00 +0200 )editI have the same issue. I thought it was an hardware as with my Xperia X. But this gives me hope it can be fixed.
Has anybody already made a progress in resolving?
scharelc ( 2019-05-29 17:45:46 +0200 )editIt's not much of a workaround sorry, but you can avoid a reboot by killing the /vendor/bin/hw/android.hardware.camera.provider@2.4-service process instead. It will automatically restart and the camera will work again.
Andy Branson ( 2019-05-29 19:14:46 +0200 )edit