Как уже упоминалось в заголовке, применение filter2D с любым керналом на перспективном исправленном изображении (с использованием warpPerspective или PlaneWarper.warp ()) приводит к сбою моего приложения. Этот сбой происходит только на нескольких устройствах и является случайным. Filter2D не аварийно завершает работу, если изображения не исправлены.
ABI: 'arm'A/DEBUG: pid: 27108, tid: 28225, name: DefaultDispatch >>> com.example.application <<<
signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xc3a81cd5
r0 c3a81cd5 r1 c58daf40 r2 daa30f2c r3 daa32354
r4 c3a80e6d r5 00000e6c r6 746b827f r7 c5b7d700
r8 c3a81ccd r9 00000e6d sl c58daf40 fp 00000009
ip daa30f08 sp c5b7d630 lr c4cc1190 pc c5064606 cpsr 00030030
backtrace:
#00 pc 00314606 /data/app/com.example.application-1/lib/arm/libopencv_java3.so
#01 pc 00313c67 /data/app/com.example.application-1/lib/arm/libopencv_java3.so
#02 pc 002f3e43 /data/app/com.example.application-1/lib/arm/libopencv_java3.so
#03 pc 002f4247 /data/app/com.example.application-1/lib/arm/libopencv_java3.so
#04 pc 002fb11b /data/app/com.example.application-1/lib/arm/libopencv_java3.so (_ZN2cv3hal8filter2DEiiiPhjS1_jiiiiiiS1_jiiiidib+518)
#05 pc 002fc3bb /data/app/com.example.application-1/lib/arm/libopencv_java3.so (_ZN2cv8filter2DERKNS_11_InputArrayERKNS_12_OutputArrayEiS2_NS_6Point_IiEEdi+738)
#06 pc 00013f05 /data/app/com.example.application-1/lib/arm/libnative_sample.so (Java_com_example_application_utils_OpenCVUtils_crop+14044)
#07 pc 0079896b /data/app/com.example.application-1/oat/arm/base.odex (offset 0x798000)
В журнале сбоев указывается нарушение памяти
E / audit: type = 1701 аудит (1570705788.581: 366): auid = 4294967295 uid = 10178 gid = 10178 ses = 4294967295 subj = u: r: untrusted_app: s0: c512, c768 pid = 28225 comm = «DefaultDispatch» причина = «нарушение памяти» sig = 7
Что изменяет воспринимающая коррекция, которая может привести к сбою в filter2D? Есть ли способ узнать перед применением фильтра?