Crash while recording video with audio
ozaneb opened this issue · comments
ozaneb commented
This crash started to appear in our logs. I couldn't find any pattern and I couldn't produce the error with the devices I have.
[libCGE.so] CGE::CGEVideoEncoderMP4::getAudioStreamTime()
SIGSEGV
---
#00 pc 0x000000000004821c /data/app/appname/lib/arm/libCGE.so (CGE::CGEVideoEncoderMP4::getAudioStreamTime()+4)
#01 pc 0x0000000000446253 /data/app/appname/oat/arm/base.odex (org.wysaid.nativePort.CGEFrameRecorder.nativeGetAudioStreamtime [DEDUPED]+82)
#02 pc 0x000000000042e375 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
#03 pc 0x00000000004011c1 /system/lib/libart.so (art_quick_invoke_stub+224)
#04 pc 0x00000000000a82b9 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
#05 pc 0x00000000001f0529 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
#06 pc 0x00000000001eb017 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
#07 pc 0x00000000003fcc89 /system/lib/libart.so (MterpInvokeDirect+196)
#08 pc 0x0000000000421114 /system/lib/libart.so (ExecuteMterpImpl+14484)
#09 pc 0x000000000133b17c /data/app/appname/oat/arm/base.vdex (org.wysaid.nativePort.CGEFrameRecorder.getAudioStreamtime+16)
#10 pc 0x00000000001cf793 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.589044918)+378)
#11 pc 0x00000000001d3e79 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
#12 pc 0x00000000001eafff /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
#13 pc 0x00000000003fe261 /system/lib/libart.so (MterpInvokeVirtualQuick+428)
#14 pc 0x0000000000424d94 /system/lib/libart.so (ExecuteMterpImpl+29972)
#15 pc 0x000000000133c9bc /data/app/appname/oat/arm/base.vdex (org.wysaid.view.CameraRecordGLSurfaceView$c.run+298)
#16 pc 0x00000000001cf793 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.589044918)+378)
#17 pc 0x00000000001d3dbf /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
#18 pc 0x00000000003ebd3d /system/lib/libart.so (artQuickToInterpreterBridge+880)
#19 pc 0x00000000004328ff /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
#20 pc 0x0000000000270911 /system/framework/arm/boot.oat (java.lang.Thread.run+64)
#21 pc 0x000000000042e375 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
#22 pc 0x00000000004011c1 /system/lib/libart.so (art_quick_invoke_stub+224)
#23 pc 0x00000000000a82b9 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
#24 pc 0x000000000035e36d /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
#25 pc 0x000000000035f0c5 /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+320)
#26 pc 0x0000000000380ba3 /system/lib/libart.so (art::Thread::CreateCallback(void*)+866)
#27 pc 0x0000000000064975 /system/lib/libc.so (__pthread_start(void*)+22)
#28 pc 0x000000000001e875 /system/lib/libc.so (__start_thread+24)
Wang Yang commented
CGE::CGEVideoEncoderMP4::getAudioStreamTime()
Maybe the function is called with a dangling pointer? Please check if this is called after the object released.