Мое приложение падает с сигналом 11 (SIGSEGV), код 1 (SEGV_MAPERR), адрес ошибки - PullRequest
0 голосов
/ 30 сентября 2019

Наше приложение представляет собой виртуальное приложение для Android, которое воспроизводит 360 видео в интерактивном режиме и разработано с использованием Unity. Когда мое приложение воспроизводило видео 360, следующий случайный сбой может произойти случайно в любое время:

    Build fingerprint: 

    'Xiaomi/natrium/natrium:7.0/NRD90M/V10.1.1.0.NBGMIFI:user/release-keys'
    09-30 15:57:10.422 20881 20881 F DEBUG   : Revision: '0'
    09-30 15:57:10.423 20881 20881 F DEBUG   : ABI: 'arm'
    09-30 15:57:10.424 20881 20881 F DEBUG   : pid: 14975, tid: 15036, name: Thread-17  >>> com.Fluidcast.VRCirclesProdOffline <<<
    09-30 15:57:10.425 20881 20881 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xbc9fea14
    09-30 15:57:10.425 20881 20881 F DEBUG   :     r0 bc9fea00  r1 00000000  r2 00000001  r3 00000004
    09-30 15:57:10.425 20881 20881 F DEBUG   :     r4 babfec00  r5 00003f0a  r6 00003f0b  r7 00000001
    09-30 15:57:10.426 20881 20881 F DEBUG   :     r8 cac64780  r9 00000002  sl 00000001  fp 00000001
    09-30 15:57:10.426 20881 20881 F DEBUG   :     ip 00003f0a  sp ca9ff058  lr 00003f0a  pc dd4e6498  cpsr 600f0030
    09-30 15:57:10.475 20881 20881 F DEBUG   :
    09-30 15:57:10.475 20881 20881 F DEBUG   : backtrace:
    09-30 15:57:10.476 20881 20881 F DEBUG   :     #00 pc 0023f498  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZNK11A5xPipeline18WriteGfxShaderRegsEP10A5xContext13EsxCmdBufTypeP14A5xStateBuffer+327)
    09-30 15:57:10.478 20881 20881 F DEBUG   :     #01 pc 0023f627  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN11A5xPipeline16WriteGfxPipelineEP10A5xContext13EsxCmdBufTypeP14A5xStateBuffer+12)
    09-30 15:57:10.478 20881 20881 F DEBUG   :     #02 pc 00252811  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10A5xContext13ValidateStateEPK17EsxDrawDescriptor+680)
    09-30 15:57:10.479 20881 20881 F DEBUG   :     #03 pc 00252553  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10A5xContext18HwValidateGfxStateEPK17EsxDrawDescriptor+4)
    09-30 15:57:10.479 20881 20881 F DEBUG   :     #04 pc 000cc8c1  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext16ValidateGfxStateEPK17EsxDrawDescriptor+2300)
    09-30 15:57:10.479 20881 20881 F DEBUG   :     #05 pc 000c3719  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext21DrawElementsInstancedE11EsxPrimTypej10EsxPixTypePKvji+828)
    09-30 15:57:10.479 20881 20881 F DEBUG   :     #06 pc 000e6b69  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN21EsxGlApiParamValidate14GlDrawElementsEP11EsxDispatchjijPKv+192)
    09-30 15:57:10.481 20881 20881 F DEBUG   :     #07 pc 00095123  /system/vendor/lib/egl/libGLESv2_adreno.so (glDrawElements+46)
    09-30 15:57:10.481 20881 20881 F DEBUG   :     #08 pc 005bce84  /data/app/com.Fluidcast.VRCirclesProdOffline-1/lib/arm/libunity.so
    09-30 15:57:10.481 20881 20881 F DEBUG   :     #09 pc 005bd310  /data/app/com.Fluidcast.VRCirclesProdOffline-1/lib/arm/libunity.so
    09-30 15:57:10.481 20881 20881 F DEBUG   :     #10 pc 002b26fc  /data/app/com.Fluidcast.VRCirclesProdOffline-1/lib/arm/libunity.so
    09-30 15:57:10.482 20881 20881 F DEBUG   :     #11 pc 002b1838  /data/app/com.Fluidcast.VRCirclesProdOffline-1/lib/arm/libunity.so
    09-30 15:57:10.482 20881 20881 F DEBUG   :     #12 pc 005a412c  /data/app/com.Fluidcast.VRCirclesProdOffline-1/lib/arm/libunity.so
    09-30 15:57:10.482 20881 20881 F DEBUG   :     #13 pc 005a6a68  /data/app/com.Fluidcast.VRCirclesProdOffline-1/lib/arm/libunity.so
    09-30 15:57:10.483 20881 20881 F DEBUG   :     #14 pc 005a01e0  /data/app/com.Fluidcast.VRCirclesProdOffline-1/lib/arm/libunity.so
    09-30 15:57:10.484 20881 20881 F DEBUG   :     #15 pc 003fca44  /data/app/com.Fluidcast.VRCirclesProdOffline-1/lib/arm/libunity.so
    09-30 15:57:10.485 20881 20881 F DEBUG   :     #16 pc 00046d93  /system/lib/libc.so (_ZL15__pthread_startPv+22)
    09-30 15:57:10.486 20881 20881 F DEBUG   :     #17 pc 00019afd  /system/lib/libc.so (__start_thread+6)

Первоначально я думал, что это может быть связано с некоторой проблемой утечки памяти в нашем приложении (так как при воспроизведении видеотакже может быть несколько изображений, анимаций и звуков, воспроизводимых на сцене одновременно для интерактивного использования). Однако после добавления некоторых мер по сокращению использования памяти (добавление GC.Collect() между каждым видео) и проверки памяти в adb logcat, проблема все еще возникала, и logcat показал, что использование памяти в порядке (в среднем около 10-30 МБ)). Вопрос в том, что является источником крушения? Связано ли использование памяти и процессора? Или по каким-то другим причинам?

Редактировать: Попробовав метод из @Mick, я получил этот аварийный дамп:

********** Crash dump: **********
Build fingerprint: 'Xiaomi/natrium/natrium:7.0/NRD90M/V10.1.1.0.NBGMIFI:user/release-keys'
pid: 8265, tid: 8300, name: RenderThread  >>> com.ooovr.offline <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xbef0f264
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #00 pc 0026aeb2  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10A5xContext25HwPatchForDirectRenderingEP15EsxRenderBucketP13EsxLinkedListj+1873)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #01 pc 000bd447  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext25ProcessAndSubmitRenderingE14EsxFlushReason+3362)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #02 pc 0016e53f  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN9EsxCmdMgr5FlushE14EsxFlushReason+606)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #03 pc 00187d6d  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN17EsxChunkedMemPool29GetChunkedMemPoolSpaceAlignedEjjPPjPy+78)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #04 pc 0012c3cd  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN20EsxVertexArrayObject18UpdateInternalVbosEPK17EsxDrawDescriptorjPK16EsxAttributeDesc+1032)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #05 pc 0024ad01  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN20A5xVertexArrayObject11CalcVfdRegsEPK17EsxDrawDescriptorP10A5xVfdRegsi+96)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #06 pc 00252885  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10A5xContext13ValidateStateEPK17EsxDrawDescriptor+796)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #07 pc 00252553  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10A5xContext18HwValidateGfxStateEPK17EsxDrawDescriptor+4)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #08 pc 000cc8c1  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext16ValidateGfxStateEPK17EsxDrawDescriptor+2300)
Stack frame 10-14 12:36:25.824  8567  8567 F DEBUG   :     #09 pc 000ba449  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext19DrawArraysInstancedE11EsxPrimTypeijj+344)
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #10 pc 000e617f  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN21EsxGlApiParamValidate12GlDrawArraysEP11EsxDispatchjii+102)
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #11 pc 00022451  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #12 pc 00060881  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #13 pc 0005ecd1  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #14 pc 0005e209  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #15 pc 0005ede5  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #16 pc 00064657  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #17 pc 00023c09  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #18 pc 00023801  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #19 pc 000252c7  /system/lib/libhwui.so
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #20 pc 000286f9  /system/lib/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+80)
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #21 pc 0000e575  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+140)
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #22 pc 000647b5  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+80)
Stack frame 10-14 12:36:25.825  8567  8567 F DEBUG   :     #23 pc 00046d93  /system/lib/libc.so (_ZL15__pthread_startPv+22)
Stack frame 10-14 12:36:25.826  8567  8567 F DEBUG   :     #24 pc 00019afd  /system/lib/libc.so (__start_thread+6)
Crash dump is completed

********** Crash dump: **********
Build fingerprint: 'Xiaomi/natrium/natrium:7.0/NRD90M/V10.1.1.0.NBGMIFI:user/release-keys'
pid: 8647, tid: 8685, name: Thread-19  >>> com.ooovr.offline <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xe5fe94
Stack frame 10-14 12:37:54.235  8920  8920 F DEBUG   :     #00 pc 0023f498  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZNK11A5xPipeline18WriteGfxShaderRegsEP10A5xContext13EsxCmdBufTypeP14A5xStateBuffer+327)
Stack frame 10-14 12:37:54.235  8920  8920 F DEBUG   :     #01 pc 0023f627  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN11A5xPipeline16WriteGfxPipelineEP10A5xContext13EsxCmdBufTypeP14A5xStateBuffer+12)
Stack frame 10-14 12:37:54.235  8920  8920 F DEBUG   :     #02 pc 00252811  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10A5xContext13ValidateStateEPK17EsxDrawDescriptor+680)
Stack frame 10-14 12:37:54.235  8920  8920 F DEBUG   :     #03 pc 00252553  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10A5xContext18HwValidateGfxStateEPK17EsxDrawDescriptor+4)
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #04 pc 000cc8c1  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext16ValidateGfxStateEPK17EsxDrawDescriptor+2300)
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #05 pc 000c3719  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext21DrawElementsInstancedE11EsxPrimTypej10EsxPixTypePKvji+828)
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #06 pc 000e6b69  /system/vendor/lib/egl/libGLESv2_adreno.so (_ZN21EsxGlApiParamValidate14GlDrawElementsEP11EsxDispatchjijPKv+192)
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #07 pc 00095123  /system/vendor/lib/egl/libGLESv2_adreno.so (glDrawElements+46)
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #08 pc 005ab714  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine $d.798 at ??:?
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #09 pc 005ab430  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine SuiteFloatConversionTestskUnitTestCategory::TestFloatConversion_Repeat::RunImpl() const at ??:?
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #10 pc 00627758  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine $d.945 at ??:?
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #11 pc 0062d9e4  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine BuiltinResourceManager::InitializeResources() at ??:?
Stack frame 10-14 12:37:54.236  8920  8920 F DEBUG   :     #12 pc 005dba6c  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine $a.1553 at ??:?
Stack frame 10-14 12:37:54.237  8920  8920 F DEBUG   :     #13 pc 005dba14  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine $a.1553 at ??:?
Stack frame 10-14 12:37:54.237  8920  8920 F DEBUG   :     #14 pc 005b68dc  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine $a.1243 at ??:?
Stack frame 10-14 12:37:54.237  8920  8920 F DEBUG   :     #15 pc 005a623c  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine SuiteFloatConversionTestskUnitTestCategory::TestFloatConversionTests_FloatToHalf::RunImpl() const at ??:?
Stack frame 10-14 12:37:54.237  8920  8920 F DEBUG   :     #16 pc 005a6a68  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine SuiteFloatConversionTestskUnitTestCategory::TestFloatToHalf(Testing::TestCaseEmitter<unsigned short, unsigned int, void, void>&) at ??:?
Stack frame 10-14 12:37:54.237  8920  8920 F DEBUG   :     #17 pc 005a01e0  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine void CombineCurve<Vector3f>(AnimationCurveTpl<float> const&, int, AnimationCurveTpl<Vector3f>&, Vector3f const&) at ??:?
Stack frame 10-14 12:37:54.237  8920  8920 F DEBUG   :     #18 pc 003fca44  /data/app/com.ooovr.offline-2/lib/arm/libunity.so: Routine SuiteIntersectionTestskUnitTestCategory::TestIntersectTriTri_CorrectlyDetectsCoplanarTriangles::CreateAttributes(std::vector<UnitTest::TestAttribute const*, std::allocator<UnitTest::TestAttribute const*> >&) const at ??:?
Stack frame 10-14 12:37:54.237  8920  8920 F DEBUG   :     #19 pc 00046d93  /system/lib/libc.so (_ZL15__pthread_startPv+22)
Stack frame 10-14 12:37:54.237  8920  8920 F DEBUG   :     #20 pc 00019afd  /system/lib/libc.so (__start_thread+6)
Stack frame 10-14 12:39:41.962  8491  8491 D SPHINX_CORE_DUMP: #00 pc 0000000000011b44  /system/bin/seempd
Stack frame 10-14 12:39:41.962  8491  8491 D SPHINX_CORE_DUMP: #01 pc 000000000000a7f8  /system/bin/seempd
Stack frame 10-14 12:39:41.962  8491  8491 D SPHINX_CORE_DUMP: #02 pc 000000000001a794  /system/lib64/libc.so (__libc_init+88)
Stack frame 10-14 12:39:41.962  8491  8491 D SPHINX_CORE_DUMP: #03 pc 00000000000090d8  /system/bin/seempd
Stack frame 10-14 12:48:14.039  9135  9135 D SPHINX_CORE_DUMP: #00 pc 0000000000011b44  /system/bin/seempd
Stack frame 10-14 12:48:14.040  9135  9135 D SPHINX_CORE_DUMP: #01 pc 000000000000a7f8  /system/bin/seempd
Stack frame 10-14 12:48:14.040  9135  9135 D SPHINX_CORE_DUMP: #02 pc 000000000001a794  /system/lib64/libc.so (__libc_init+88)
Stack frame 10-14 12:48:14.040  9135  9135 D SPHINX_CORE_DUMP: #03 pc 00000000000090d8  /system/bin/seempd
Stack frame 10-14 13:05:18.105  9727  9727 D SPHINX_CORE_DUMP: #00 pc 0000000000011b44  /system/bin/seempd
Stack frame 10-14 13:05:18.106  9727  9727 D SPHINX_CORE_DUMP: #01 pc 000000000000a7f8  /system/bin/seempd
Stack frame 10-14 13:05:18.106  9727  9727 D SPHINX_CORE_DUMP: #02 pc 000000000001a794  /system/lib64/libc.so (__libc_init+88)
Stack frame 10-14 13:05:18.106  9727  9727 D SPHINX_CORE_DUMP: #03 pc 00000000000090d8  /system/bin/seempd

Глядя на это, я не мог знать, что происходит на самом деленеправильно. Так кто-нибудь может объяснить, что пошло не так в этом?

...