Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cherry: camera: Force the server to use old C++ runtime
There's some (there's a lot, actually, run valgrind and try not to cry) undefined behaviour in our camera blobs that, when combined with the 6.0 era STL, makes them crash when stopping the preview: pid: 251, tid: 2570, name: mm-qcamera-daem >>> /system/bin/mm-qcamera-daemon <<< signal 8 (SIGFPE), code -6 (SI_TKILL), fault addr 0xfb r0 00000000 r1 00000a0a r2 00000008 r3 00000000 r4 b6480980 r5 00000008 r6 b6480930 r7 0000010c r8 b823bd78 r9 00010002 sl b823d5e8 fp 00000001 ip 00000000 sp b6480038 lr b6e6d745 pc b6e6fea8 cpsr 200f0010 backtrace: #00 pc 0004cea8 /system/lib/libc.so (tgkill+12) #1 pc 0004a741 /system/lib/libc.so (pthread_kill+36) #2 pc 0001b143 /system/lib/libc.so (raise+10) #3 pc 00078be0 /system/lib/libc++.so (__aeabi_ldiv0+8) #4 pc 00003775 /system/vendor/lib/libmmcamera2_cpp_module.so (cpp_module_set_clock_freq+540) #5 pc 00005e27 /system/vendor/lib/libmmcamera2_cpp_module.so (cpp_module_handle_streamoff_event+430) #06 pc 00003283 /system/vendor/lib/libmmcamera2_cpp_module.so (cpp_module_process_downstream_event+530) ... Given the lack of source and the unbisectable mess that is the external/libcxx git history, ship the prebuilt and renamed 5.1.1 libc++ and preload it for the server. Change-Id: Ia7dd6bd47230d24fa3801275c382ebf27939c88f
- Loading branch information