AnsweredAssumed Answered

fsl_sensor_fusion crashing in Android 7.1.2

Question asked by zbigniewbauer on Apr 16, 2020

Hi, I'm using fxos8700 accelerometer/magnetometer and fxas2100x gyro with Android 7.1.2 (release android_N7.1.2_2.0.0 for iMX6QP).
All sensors are detected in kernel. FreescaleAccelerometer, FreescaleGyroscope and, FreescaleMagnetometer are available under /sys/class/misc. Android sensors module loads without any errors.

Reading Accelerometer data in Android works fine. However, when I try to read Gyro data from Android application (Sensor.TYPE_GYROSCOPE) the fsl_sensor_fusion library crashes:

 

04-11 22:28:15.244   314   314 D FslFusionServer-Util: running to read sensor sample data....
04-11 22:28:15.261  1531  1531 I display : GPUManager exists
04-11 22:28:15.274   314   314 D FslFusionServer-Util: running to read sensor sample data....
--------- beginning of crash
04-11 22:28:15.275   314   314 F libc    : Fatal signal 4 (SIGILL), code 1, fault addr 0x8ce4c3cc in tid 314 (fsl_sensor_fusi)
04-11 22:28:15.276   283   283 W         : debuggerd: handling request: pid=314 uid=1000 gid=1004 tid=314
04-11 22:28:15.284  1564  1564 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-11 22:28:15.284  1564  1564 F DEBUG   : Build fingerprint: 'unknown'
04-11 22:28:15.284  1564  1564 F DEBUG   : Revision: '0'
04-11 22:28:15.284  1564  1564 F DEBUG   : ABI: 'arm'
04-11 22:28:15.285  1564  1564 F DEBUG   : pid: 314, tid: 314, name: fsl_sensor_fusi  >>> /system/bin/fsl_sensor_fusion <<<
04-11 22:28:15.285  1564  1564 F DEBUG   : signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x8ce4c3cc
04-11 22:28:15.285  1564  1564 F DEBUG   :     r0 00000000  r1 00000002  r2 00000000  r3 00000000
04-11 22:28:15.285  1564  1564 F DEBUG   :     r4 8ce53a80  r5 8ce53ad8  r6 8ce539fc  r7 8ce53b3e
04-11 22:28:15.285  1564  1564 F DEBUG   :     r8 8ce53ad8  r9 00000bbc  sl 00000002  fp beeeda3c
04-11 22:28:15.285  1564  1564 F DEBUG   :     ip 8ce53ad8  sp beeed6b8  lr 8ce4bb7d  pc 8ce4c3cc  cpsinit: Service 'sensor_fusion' (pid 314) killed by signal 4
r 600f0030
04-11 22:28:15.315  1564  1564 F DEBUG   :
04-11 22:28:15.315  1564  1564 F DEBUG   : backtrace:
04-11 22:28:15.315  1564  1564 F DEBUG   :     #00 pc 000023cc  /system/bin/fsl_sensor_fusion
04-11 22:28:15.315  1564  1564 F DEBUG   :     #01 pc 00001b79  /system/bin/fsl_sensor_fusion
04-11 22:28:15.315  1564  1564 F DEBUG   :     #02 pc 00001c2d  /system/bin/fsl_sensor_fusion
04-11 22:28:15.315  1564  1564 F DEBUG   :     #03 pc 00017098  /system/lib/libc.so
04-11 22:28:15.315  1564  1564 F DEBUG   :     #04 pc 000493ac  /system/lib/libc.so (nanosleep+8)
04-11 22:28:15.316  1564  1564 F DEBUG   :     #05 pc 0002dde1  /system/lib/libc.so (usleep+52)
04-11 22:28:15.316  1564  1564 F DEBUG   :     #06 pc 000008c5  /system/bin/fsl_sensor_fusion
04-11 22:28:15.316  1564  1564 F DEBUG   :     #07 pc 00016c4d  /system/lib/libc.so (__libc_init+48)
04-11 22:28:15.316  1564  1564 F DEBUG   :     #08 pc 00000954  /system/bin/fsl_sensor_fusion

 

fsl_sensor_fusion is proprietary NXP library. I do not have access to source code to debug the crash.
Any ideas what might be an issue?

 

Regards,
Z

Outcomes