Когда я оставляю приложение Android работать примерно на 30 минут, оно иногда дает сбой. Затем я открываю системные журналы и нахожу, где происходит эта ошибка sh (я не могу отлаживать это приложение другим способом из-за особых обстоятельств). Обычно, когда в моем коде есть явная ошибка, этот журнал содержит трассировку стека. Однако эта спецификация c cra sh не оставляет следов стека. Тем не менее, он оставляет следующую информацию:
06-19 14:13:08.738 2216 18026 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 18026 (Thread-1214), pid 2216 (s.flironecamera)
06-19 14:13:08.739 4697 16938 D MotionRecognitionService: values = 50.0
06-19 14:13:08.739 4697 16938 D MotionRecognitionService: onReceive lux: 50.0 action:
06-19 14:13:08.740 4697 16938 D MotionRecognitionService: Inject brightness form Cam 50.0
06-19 14:13:08.740 4697 16938 D MotionRecognitionService: Inject calibrated lux
06-19 14:13:08.741 4169 4169 I Sensors : AutoBrightnessSensor::inject_sensor_data: cam_lux 50
06-19 14:13:08.854 18054 18054 E crash_dump64: unknown process state: t
06-19 14:13:08.916 18054 18054 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
06-19 14:13:08.926 4292 4292 I /system/bin/tombstoned: received crash request for pid 18026
06-19 14:13:08.929 18054 18054 I crash_dump64: performing dump of process 2216 (target tid = 18026)
06-19 14:13:08.941 4697 16938 D MotionRecognitionService: values = 50.0
06-19 14:13:08.942 4697 16938 D MotionRecognitionService: onReceive lux: 50.0 action:
06-19 14:13:08.942 4697 16938 D MotionRecognitionService: Inject brightness form Cam 50.0
06-19 14:13:08.942 4697 16938 D MotionRecognitionService: Inject calibrated lux
06-19 14:13:08.945 4169 4431 I Sensors : AutoBrightnessSensor::inject_sensor_data: cam_lux 50
06-19 14:13:08.947 18054 18054 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-19 14:13:08.947 18054 18054 F DEBUG : Build fingerprint: [redacted]
06-19 14:13:08.947 18054 18054 F DEBUG : Revision: '10'
06-19 14:13:08.948 18054 18054 F DEBUG : ABI: 'arm64'
06-19 14:13:08.949 18054 18054 F DEBUG : Timestamp: 2020-06-19 14:13:08-0300
06-19 14:13:08.949 18054 18054 F DEBUG : pid: 2216, tid: 18026, name: Thread-1214 >>> com.samples.flironecamera <<<
06-19 14:13:08.949 18054 18054 F DEBUG : uid: 10269
06-19 14:13:08.949 18054 18054 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
06-19 14:13:08.949 18054 18054 F DEBUG : Abort message: 'terminating with uncaught exception of type jni::JavaException: java.lang.NullPointerException Null reference used for synchronization (monitor-enter)'
06-19 14:13:08.949 18054 18054 F DEBUG : x0 0000000000000000 x1 000000000000466a x2 0000000000000006 x3 0000007e3b2d4380
06-19 14:13:08.949 18054 18054 F DEBUG : x4 feff287164736d64 x5 feff287164736d64 x6 feff287164736d64 x7 7f7f7f7f7f7f7f7f
06-19 14:13:08.949 18054 18054 F DEBUG : x8 00000000000000f0 x9 5e1c42c9d736fe8b x10 0000000000000001 x11 0000000000000000
06-19 14:13:08.949 18054 18054 F DEBUG : x12 fffffff0fffffbdf x13 28206e6f6974617a x14 0000000000000004 x15 0000007ed145d412
06-19 14:13:08.949 18054 18054 F DEBUG : x16 0000007ed14638c0 x17 0000007ed1440920 x18 00000000000036b4 x19 00000000000008a8
06-19 14:13:08.949 18054 18054 F DEBUG : x20 000000000000466a x21 00000000ffffffff x22 ffffff80ffffffc8 x23 0000007e3b2d45d0
06-19 14:13:08.949 18054 18054 F DEBUG : x24 0000007e3b2d44b0 x25 0000007e3b2d44f0 x26 000000000000001e x27 0000007de0eeeb80
06-19 14:13:08.949 18054 18054 F DEBUG : x28 0000007de0eeeb98 x29 0000007e3b2d4420
06-19 14:13:08.949 18054 18054 F DEBUG : sp 0000007e3b2d4360 lr 0000007ed13f5108 pc 0000007ed13f5134
06-19 14:13:08.962 18054 18054 F DEBUG :
06-19 14:13:08.962 18054 18054 F DEBUG : backtrace:
06-19 14:13:08.962 18054 18054 F DEBUG : #00 pc 0000000000083134 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160) (BuildId: ecce0f8f6d05a6808531d834fd5e2b07)
06-19 14:13:08.962 18054 18054 F DEBUG : #01 pc 00000000000a48c8 /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libc++_shared.so (offset 0x1bb000) (BuildId: b062ae10a54d94f888c84c4f3bba0a8b30363bd7)
06-19 14:13:08.962 18054 18054 F DEBUG : #02 pc 00000000000a4ac8 /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libc++_shared.so (offset 0x1bb000) (BuildId: b062ae10a54d94f888c84c4f3bba0a8b30363bd7)
06-19 14:13:08.962 18054 18054 F DEBUG : #03 pc 00000000000b92b8 /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libc++_shared.so (offset 0x1bb000) (BuildId: b062ae10a54d94f888c84c4f3bba0a8b30363bd7)
06-19 14:13:08.962 18054 18054 F DEBUG : #04 pc 00000000000b899c /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libc++_shared.so (offset 0x1bb000) (BuildId: b062ae10a54d94f888c84c4f3bba0a8b30363bd7)
06-19 14:13:08.962 18054 18054 F DEBUG : #05 pc 00000000000b891c /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libc++_shared.so (offset 0x1bb000) (__cxa_throw+120) (BuildId: b062ae10a54d94f888c84c4f3bba0a8b30363bd7)
06-19 14:13:08.962 18054 18054 F DEBUG : #06 pc 0000000000487638 /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libatlas_native.so (offset 0x7cf000) (atlasCheckException(_JNIEnv*)+216) (BuildId: 70c0a8d0e08f60afb8dccd5e563b484d106e30a6)
06-19 14:13:08.962 18054 18054 F DEBUG : #07 pc 00000000004c717c /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libatlas_native.so (offset 0x7cf000) (_Z10callMethodIvJEEN14wrapped_resultIT_E4typeEP7_JNIEnvP8_jobjectPKcDpOT0_+88) (BuildId: 70c0a8d0e08f60afb8dccd5e563b484d106e30a6)
06-19 14:13:08.962 18054 18054 F DEBUG : #08 pc 00000000004cc7b8 /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libatlas_native.so (offset 0x7cf000) (jni::live::JavaConnector::startFrameStream(bool)+136) (BuildId: 70c0a8d0e08f60afb8dccd5e563b484d106e30a6)
06-19 14:13:08.963 18054 18054 F DEBUG : #09 pc 0000000000931d1c /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libatlas_native.so (offset 0x7cf000) (RBPDeviceWrapper::TransportCommunicatorImplementation::dispatchFrameStreamControlRequestToDelegates(bool) const+232) (BuildId: 70c0a8d0e08f60afb8dccd5e563b484d106e30a6)
06-19 14:13:08.963 18054 18054 F DEBUG : #10 pc 000000000093d374 /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libatlas_native.so (offset 0x7cf000) (RBPDeviceWrapper::DeviceImplementation::handleFrameCaptureRequest(RBPDeviceWrapper::DeviceImplementation*, zmq::message_t const&, bool)+128) (BuildId: 70c0a8d0e08f60afb8dccd5e563b484d106e30a6)
06-19 14:13:08.963 18054 18054 F DEBUG : #11 pc 0000000000957d80 /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libatlas_native.so (offset 0x7cf000) (RBPDeviceWrapper::ZMQSocketEventLoop<RBPDeviceWrapper::DeviceImplementation>::loopThreadBody(void*)+348) (BuildId: 70c0a8d0e08f60afb8dccd5e563b484d106e30a6)
06-19 14:13:08.963 18054 18054 F DEBUG : #12 pc 0000000000959c08 /data/app/com.samples.flironecamera-Ja8FY8rW-sZLXm5PKmpvqQ==/base.apk!libatlas_native.so (offset 0x7cf000) (_ZNSt6__ndk114__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEPFPvS7_EPN16RBPDeviceWrapper18ZMQSocketEventLoopINSA_20DeviceImplementationEEEEEEEES7_S7_+44) (BuildId: 70c0a8d0e08f60afb8dccd5e563b484d106e30a6)
06-19 14:13:08.963 18054 18054 F DEBUG : #13 pc 00000000000e28c0 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: ecce0f8f6d05a6808531d834fd5e2b07)
06-19 14:13:08.963 18054 18054 F DEBUG : #14 pc 000000000008503c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: ecce0f8f6d05a6808531d834fd5e2b07)
Имя моего приложения - com.samples.flironecamera (это было временное имя, оно было создано на основе образца проекта), и оно использует Flir SDK. Есть ли способ узнать, в чем была конкретная причина c cra sh? Возможно ли, что эта ошибка sh вызвана самим SDK и не является ошибкой моего кода?
Я не публикую здесь свой код, потому что его около 10000 строк, и я не знаю, какие части актуальны. Если дамп ошибки указывает на использование определенного метода, оставьте комментарий, и я с удовольствием опубликую раздел своего кода, который использует что-либо, имеющее отношение к нему. Если это поможет, Я не использую инструкции assert или синхронизацию где-либо в любом из моих кодов .