wysaid / android-gpuimage-plus

Android Image & Camera Filters Based on OpenGL.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crash while recording video with audio

ozaneb opened this issue · comments

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)

CGE::CGEVideoEncoderMP4::getAudioStreamTime()
Maybe the function is called with a dangling pointer? Please check if this is called after the object released.