jiajunhui / PlayerBase

The basic library of Android player will process complex business components. The access is simple。Android播放器基础库,专注于播放视图组件的高复用性和组件间的低耦合,轻松处理复杂业务。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

so库报错导致app闪退

fngang opened this issue · comments

在不断循环播放下会出现闪退,闪退时机不确定,快的不到一小时,慢的几天,测试环境是不断电不关屏前台一直循环播放单视频,视频源为局域网内的在线视频,经测试跟视频源文件没关系,playbase版本在3.3.5和3.3.9都有这问题,下面这个信息是3.3.5版本的,从bugly的日志看到是官网提供的armeabi-v7a下的so库报错,最后面提供了bugly的解决方案.

补充: 这个问题可能跟网络较差有关,另外刚发现一个现象,一个三分钟的视频播放完后进入黑屏,但播放时间一直在增加,播放到48分钟还在播放,就是屏幕黑屏.

以下信息全都来自bugly:

异常进程#线程: 包名(32298)#JNISurfaceTextu(1332)
发生时间: 2020-09-24 12:39:55
上报时间: 2020-09-24 12:40:01
使用时长: 38 分 21 秒
前后台状态: 前台
设备机型: 华为 T1-821W
系统版本: Android 5.1.1,level 22
ROM: HuaWei/EMOTION
CPU架构: armeabi-v7a

日志如下(关键在#23~#27):

JNISurfaceTextu(7256)

SIGSEGV(SEGV_MAPERR)

#00 pc 00214786 /system/lib/libart.so (art::ReferenceTable::Dump(std::__1::basic_ostream<char, std::__1::char_traits >&, std::__1::vector<art::GcRootart::mirror::Object, art::TrackingAllocator<art::GcRootart::mirror::Object, (art::AllocatorTag)8> >&)+765) [armeabi-v7a]
#1 pc 0015729b /system/lib/libart.so (art::IndirectReferenceTable::Dump(std::__1::basic_ostream<char, std::__1::char_traits >&) const+130) [armeabi-v7a]
#2 pc 001573d7 /system/lib/libart.so (art::IndirectReferenceTable::Add(unsigned int, art::mirror::Object*)+238) [armeabi-v7a]
#3 pc 001a789d /system/lib/libart.so (art::JNI::NewWeakGlobalRef(_JNIEnv*, _jobject*)+312) [armeabi-v7a]
#4 pc 000bda5f /system/lib/libart.so (art::CheckJNI::NewWeakGlobalRef(_JNIEnv*, _jobject*)+50) [armeabi-v7a]
#5 pc 00194a39 /system/lib/libart.so (art::ObjectRegistry::InternalAdd(art::mirror::Object*)+548) [armeabi-v7a]
#6 pc 000ec315 /system/lib/libart.so (art::Dbg::GetThreadId(art::Thread*)+296) [armeabi-v7a]
#7 pc 00187e75 /system/lib/libart.so (art::JDWP::JdwpState::PostThreadChange(art::Thread*, bool)+212) [armeabi-v7a]
#8 pc 000ec0db /system/lib/libart.so (art::Dbg::PostThreadStart(art::Thread*)+26) [armeabi-v7a]
#9 pc 0022e7f9 /system/lib/libart.so (art::Thread::Attach(char const*, bool, _jobject*, bool)+448) [armeabi-v7a]
#10 pc 00218395 /system/lib/libart.so (art::Runtime::AttachCurrentThread(char const*, bool, _jobject*, bool)+12) [armeabi-v7a]
#11 pc 001bb2d7 /system/lib/libart.so (art::JII::AttachCurrentThread(_JavaVM*, _JNIEnv**, void*)+190) [armeabi-v7a]
#12 pc 000bdd59 /system/lib/libart.so (art::CheckJII::AttachCurrentThread(_JavaVM*, _JNIEnv**, void*)+96) [armeabi-v7a]
#13 pc 00093a57 /system/lib/libandroid_runtime.so (android::JNISurfaceTextureContext::getJNIEnv(bool*)+50) [armeabi-v7a]
#14 pc 00093b6d /system/lib/libandroid_runtime.so (android::JNISurfaceTextureContext::onFrameAvailable(android::BufferItem const&)+12) [armeabi-v7a]
#15 pc 0002c931 /system/lib/libgui.so (android::ConsumerBase::onFrameAvailable(android::BufferItem const&)+108) [armeabi-v7a]
#16 pc 000285c7 /system/lib/libgui.so (android::BufferQueue::ProxyConsumerListener::onFrameAvailable(android::BufferItem const&)+26) [armeabi-v7a]
#17 pc 0002baa7 /system/lib/libgui.so (android::BufferQueueProducer::queueBuffer(int, android::IGraphicBufferProducer::QueueBufferInput const&, android::IGraphicBufferProducer::QueueBufferOutput*)+602) [armeabi-v7a]
#18 pc 00037565 /system/lib/libgui.so (android::Surface::queueBuffer(ANativeWindowBuffer*, int)+332) [armeabi-v7a]
#19 pc 00037d5b /system/lib/libgui.so (android::Surface::unlockAndPost()+82) [armeabi-v7a]
#20 pc 00036fbf /system/lib/libgui.so (android::Surface::dispatchUnlockAndPost(std::__va_list)+6) [armeabi-v7a]
#21 pc 0003681d /system/lib/libgui.so (android::Surface::hook_perform(ANativeWindow*, int, ...)+22) [armeabi-v7a]
#22 pc 00008c17 /system/lib/libandroid.so (ANativeWindow_unlockAndPost+6) [armeabi-v7a]

#23 pc 0001228f /data/app/包名-2/lib/arm/libijksdl.so (SDL_Android_NativeWindow_display_l+262) [armeabi-v7a]
#24 pc 00015665 /data/app/包名-2/lib/arm/libijksdl.so [armeabi-v7a]
#25 pc 00010efb /data/app/包名-2/lib/arm/libijkplayer.so [armeabi-v7a]
#26 pc 00013c61 /data/app/包名-2/lib/arm/libijkplayer.so [armeabi-v7a]
#27 pc 0000f71f /data/app/包名-2/lib/arm/libijksdl.so [armeabi-v7a]

#28 pc 000135d3 /system/lib/libc.so (__pthread_start(void*)+30) [armeabi-v7a]
#29 pc 000115f3 /system/lib/libc.so (__start_thread+6) [armeabi-v7a]

java:
[Failed to get Java stack]

系统日志(错误和告警类型加粗显示):

--------- beginning of main
09-24 12:35:46.700 32298 707 I IJKMEDIA: ffp_toggle_buffering: completed: OK
09-24 12:35:46.700 32298 705 D IJKMEDIA: ijkmp_get_msg: FFP_MSG_COMPLETED
09-24 12:35:46.700 32298 705 D IJKMEDIA: FFP_MSG_COMPLETED:
09-24 12:35:46.700 32298 32298 D IJKMEDIA: ijkmp_stop()
09-24 12:35:46.700 32298 32298 D IJKMEDIA: ijkmp_stop()=0
09-24 12:35:46.700 32298 32298 D IJKMEDIA: IjkMediaPlayer_reset
09-24 12:35:46.700 32298 32298 D IJKMEDIA: IjkMediaPlayer_release
09-24 12:35:46.700 32298 32298 D IJKMEDIA: ijkmp_set_android_surface(surface=0x0)
9-24 12:35:46.700 32298 706 I IJKMEDIA: SDL_JNI_DetachThreadEnv: [706]
09-24 12:35:46.700 32298 32298 D IJKMEDIA: ffpipeline_set_surface()
09-24 12:35:46.700 32298 32298 D IJKMEDIA: ijkmp_set_android_surface(surface=0x0)=void
09-24 12:35:46.700 32298 32298 D IJKMEDIA: ijkmp_shutdown_l()
09-24 12:35:46.700 32298 717 I IJKMEDIA: convert image convert_frame_count = 0
09-24 12:35:46.700 32298 717 I IJKMEDIA: SDL_JNI_DetachThreadEnv: [717]
09-24 12:35:46.700 32298 711 I IJKMEDIA: SDL_JNI_DetachThreadEnv: [711]
09-24 12:35:46.700 32298 705 D IJKMEDIA: message_loop exit
09-24 12:35:46.700 32298 705 I IJKMEDIA: SDL_JNI_DetachThreadEnv: [705]
09-24 12:35:46.810 32298 707 I IJKMEDIA: SDL_JNI_DetachThreadEnv: [707]
09-24 12:35:46.810 32298 710 D android.media.AudioTrack: [HSM] AudioTrace stop() uid: 10287, pid: 32298
09-24 12:35:46.810 32298 710 I IJKMEDIA: SDL_JNI_DetachThreadEnv: [710]

09-24 12:35:46.840 32298 32298 E IJKMEDIA: SDL_Overlay(ffmpeg): overlay_free_l(0xbb134bf0)
09-24 12:35:46.840 32298 32298 E IJKMEDIA: SDL_Overlay(ffmpeg): overlay_free_l(0xbb48af98)
09-24 12:35:46.840 32298 32298 E IJKMEDIA: SDL_Overlay(ffmpeg): overlay_free_l(0xbb6444f8)

09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_shutdown_l()=void
09-24 12:35:46.850 32298 32298 D IJKMEDIA: IjkMediaPlayer_native_setup
09-24 12:35:46.850 32298 32298 I IJKMEDIA: av_version_info: ff3.4--ijk0.8.7--20180103--001
09-24 12:35:46.850 32298 32298 I IJKMEDIA: ijk_version_info: k0.8.8
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ffpipeline_create_from_android()
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_set_inject_opaque(0x100b82)
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_set_inject_opaque()=void
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_set_ijkio_inject_opaque(0x100b82)
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_set_ijkio_inject_opaque()=void
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ffpipeline_set_mediacodec_select_callback
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()=void
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_dec_ref(): ref=0
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_shutdown_l()
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_shutdown_l()=void
09-24 12:35:46.850 32298 32298 D IJKMEDIA: IjkMediaPlayer_setDataSourceAndHeaders
09-24 12:35:46.850 32298 32298 V IJKMEDIA: setDataSource: path http://192.168.1.100:8000/conference/BD.mp4
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_set_data_source(url="http://192.168.1.100:8000/conference/BD.mp4")
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_set_data_source(url="http://192.168.1.100:8000/conference/BD.mp4")=0
09-24 12:35:46.850 32298 32298 D IJKMEDIA: IjkMediaPlayer_prepareAsync
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_prepare_async()
09-24 12:35:46.850 32298 32298 I IJKMEDIA: ===== versions =====
09-24 12:35:46.850 32298 32298 I IJKMEDIA: ijkplayer : k0.8.8
09-24 12:35:46.850 32298 32298 I IJKMEDIA: FFmpeg : ff3.4--ijk0.8.7--20180103--001
09-24 12:35:46.850 32298 32298 I IJKMEDIA: libavutil : 55.78.100
09-24 12:35:46.850 32298 32298 I IJKMEDIA: libavcodec : 57.107.100
09-24 12:35:46.850 32298 32298 I IJKMEDIA: libavformat : 57.83.100
09-24 12:35:46.850 32298 32298 I IJKMEDIA: libswscale : 4.8.100
09-24 12:35:46.850 32298 32298 I IJKMEDIA: libswresample: 2.9.100
09-24 12:35:46.850 32298 32298 I IJKMEDIA: ===== options =====
09-24 12:35:46.850 32298 32298 I IJKMEDIA: format-opts : ijkapplication = -1153305312
09-24 12:35:46.850 32298 32298 I IJKMEDIA: format-opts : ijkiomanager = -1134341904
09-24 12:35:46.850 32298 32298 I IJKMEDIA: ===================
09-24 12:35:46.850 32298 32298 D IJKMEDIA: ijkmp_prepare_async()=0
09-24 12:35:46.850 32298 1331 I IJKMEDIA: SDL_RunThread: [1331] ff_msg_loop
09-24 12:35:46.850 32298 1331 D IJKMEDIA: message_loop
09-24 12:35:46.850 32298 1331 D IJKMEDIA: FFP_MSG_FLUSH:
09-24 12:35:46.860 32298 1333 I IJKMEDIA: SDL_RunThread: [1333] ff_read
09-24 12:35:46.860 32298 1332 I IJKMEDIA: SDL_RunThread: [1332] ff_vout
09-24 12:35:46.860 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 1
09-24 12:35:46.860 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131073
09-24 12:35:46.870 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131074
09-24 12:35:46.880 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 2
09-24 12:35:48.120 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 3
09-24 12:35:48.120 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131073
09-24 12:35:48.130 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131074
09-24 12:35:48.170 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 4

09-24 12:35:48.500 32298 1333 E IJKMEDIA: Option ijkiomanager not found.

09-24 12:35:48.500 32298 1331 D IJKMEDIA: FFP_MSG_OPEN_INPUT:
09-24 12:35:48.500 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 3
09-24 12:35:48.500 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131073
09-24 12:35:48.670 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131074
09-24 12:35:48.690 32298 1333 I tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 4
09-24 12:35:48.710 32298 1331 D IJKMEDIA: FFP_MSG_FIND_STREAM_INFO:
09-24 12:35:48.710 32298 1333 I IJKMEDIA: max_frame_duration: 10.000
09-24 12:35:48.710 32298 1333 I IJKMEDIA: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'http://192.168.1.100:8000/conference/BD.mp4':
09-24 12:35:48.720 32298 1333 I IJKMEDIA: Metadata:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: major_brand :
09-24 12:35:48.720 32298 1333 I IJKMEDIA: isom
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: minor_version :
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 1
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: compatible_brands:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: isom
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: creation_time :
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 2017-09-13T16:23:21.000000Z
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: Duration:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 00:43:07.50
09-24 12:35:48.720 32298 1333 I IJKMEDIA: , start:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 0.000000
09-24 12:35:48.720 32298 1333 I IJKMEDIA: , bitrate:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 1732 kb/s
9-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: Stream #0:0
09-24 12:35:48.720 32298 1333 I IJKMEDIA: (und)
09-24 12:35:48.720 32298 1333 I IJKMEDIA: : Video: h264 (avc1 / 0x31637661), yuv420p(tv), 1280x720, 1600 kb/s
09-24 12:35:48.720 32298 1333 I IJKMEDIA: ,
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 23.98 fps,
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 23.98 tbr,
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 24k tbn,
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 47.95 tbc
09-24 12:35:48.720 32298 1333 I IJKMEDIA: (default)
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: Metadata:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: creation_time :
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 2017-09-13T16:22:19.000000Z
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: handler_name :
09-24 12:35:48.720 32298 1333 I IJKMEDIA: L-SMASH Video Media Handler
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: encoder :
09-24 12:35:48.720 32298 1333 I IJKMEDIA: AVC Coding
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: Stream #0:1
09-24 12:35:48.720 32298 1333 I IJKMEDIA: (und)
09-24 12:35:48.720 32298 1333 I IJKMEDIA: : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s
09-24 12:35:48.720 32298 1333 I IJKMEDIA: (default)
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: Metadata:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: creation_time :
09-24 12:35:48.720 32298 1333 I IJKMEDIA: 2017-09-13T16:22:20.000000Z
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: handler_name :
09-24 12:35:48.720 32298 1333 I IJKMEDIA: Sound Media Handler
09-24 12:35:48.720 32298 1333 I IJKMEDIA:
09-24 12:35:48.720 32298 1333 I IJKMEDIA: SDL_Android_AudioTrack: CHANNEL_OUT_STEREO
09-24 12:35:48.720 32298 1333 I IJKMEDIA: SDL_Android_AudioTrack: ENCODING_PCM_16BIT
09-24 12:35:48.720 32298 1333 I IJKMEDIA: SDL_Android_AudioTrack_new_from_spec: init volume as 1.000000/(0.000000,1.000000)
09-24 12:35:48.720 32298 1333 I IJKMEDIA: audio_session_id = 391
09-24 12:35:48.720 32298 1333 I IJKMEDIA: AudioCodec: avcodec, aac
09-24 12:35:48.730 32298 1339 I IJKMEDIA: SDL_RunThread: [1339] ff_aout_android
09-24 12:35:48.730 32298 1340 I IJKMEDIA: SDL_RunThread: [1340] ff_audio_dec
09-24 12:35:48.730 32298 1333 I IJKMEDIA: VideoCodec: avcodec, h264

09-24 12:35:48.730 32298 1333 W IJKMEDIA: fps: 23.976024 (normal)
09-24 12:35:48.730 32298 1333 W IJKMEDIA: fps: 23.976024 (normal)

09-24 12:35:48.730 32298 1331 D IJKMEDIA: FFP_MSG_COMPONENT_OPEN:
09-24 12:35:48.730 32298 1331 D IJKMEDIA: FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720
09-24 12:35:48.730 32298 1331 D IJKMEDIA: FFP_MSG_SAR_CHANGED: 0, 1
09-24 12:35:48.730 32298 1331 D IJKMEDIA: ijkmp_get_msg: FFP_MSG_PREPARED
09-24 12:35:48.730 32298 1331 D IJKMEDIA: FFP_MSG_PREPARED:
09-24 12:35:48.730 32298 1339 D android.media.AudioTrack: [HSM] AudioTrace play() uid: 10287, pid: 32298
09-24 12:35:48.730 32298 1347 I IJKMEDIA: SDL_RunThread: [1347] ff_video_dec
09-24 12:35:48.730 32298 1331 D IJKMEDIA: FFP_MSG_VIDEO_ROTATION_CHANGED: 0

09-24 12:35:48.730 32298 32298 W tv.danmaku.ijk.media.player.IjkMediaPlayer: setScreenOnWhilePlaying(true) is ineffective for Surface

09-24 12:35:48.730 32298 32298 D IJKMEDIA: IjkMediaPlayer_setVideoSurface
09-24 12:35:48.730 32298 32298 D IJKMEDIA: ijkmp_set_android_surface(surface=0xbeab3cf0)
09-24 12:35:48.730 32298 32298 D IJKMEDIA: ffpipeline_set_surface()
09-24 12:35:48.730 32298 32298 D IJKMEDIA: ijkmp_set_android_surface(surface=0xbeab3cf0)=void
09-24 12:35:48.730 32298 32298 D IJKMEDIA: IjkMediaPlayer_start
09-24 12:35:48.730 32298 32298 D IJKMEDIA: ijkmp_start()
09-24 12:35:48.730 32298 32298 D IJKMEDIA: ijkmp_start()=0
09-24 12:35:48.730 32298 1331 D IJKMEDIA: ijkmp_get_msg: FFP_REQ_START
09-24 12:35:48.730 32298 1331 D IJKMEDIA: FFP_MSG_AUDIO_RENDERING_START:
09-24 12:35:48.770 32298 1347 D IJKMEDIA: SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=RV32(0x32335652, dp=0xbc9a84a8)
09-24 12:35:48.770 32298 1331 D IJKMEDIA: FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720
09-24 12:35:48.790 32298 1347 D IJKMEDIA: Video: first frame decoded
09-24 12:35:48.790 32298 1331 D IJKMEDIA: FFP_MSG_VIDEO_DECODED_START:
09-24 12:35:48.790 32298 1347 D IJKMEDIA: SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=RV32(0x32335652, dp=0xbc9a84a8)
09-24 12:35:48.790 32298 1331 D IJKMEDIA: FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720
09-24 12:35:48.810 32298 1339 D IJKMEDIA: avcodec/Audio: first frame decoded
09-24 12:35:48.810 32298 1347 D IJKMEDIA: SDL_VoutFFmpeg_CreateOverlay(w=1280, h=720, fmt=RV32(0x32335652, dp=0xbc9a84a8)
09-24 12:35:48.820 32298 1331 D IJKMEDIA: FFP_MSG_VIDEO_RENDERING_START:
09-24 12:35:48.820 32298 1331 D IJKMEDIA: FFP_MSG_AUDIO_DECODED_START:
09-24 12:35:48.820 32298 1331 D IJKMEDIA: FFP_MSG_VIDEO_SIZE_CHANGED: 1280, 720
09-24 12:35:48.820 32298 32298 I tv.danmaku.ijk.media.player.IjkMediaPlayer: Info: MEDIA_INFO_VIDEO_RENDERING_START
09-24 12:36:02.410 32298 1331 D IJKMEDIA: FFP_MSG_BUFFERING_START:
09-24 12:36:02.490 32298 1339 D android.media.AudioTrack: [HSM] AudioTrace pause() uid: 10287, pid: 32298
09-24 12:36:06.580 32298 1331 D IJKMEDIA: FFP_MSG_BUFFERING_END:
09-24 12:36:06.580 32298 1339 D android.media.AudioTrack: [HSM] AudioTrace play() uid: 10287, pid: 32298

其它信息:

Register infos:
r0=0x1353fa60 r1=0xdead1234 r2=0x00000000 r3=0x00000003
r4=0x00000004 r5=0x7098ff08 r6=0xbe1237b8 r7=0x00000000
r8=0xbcda9e28 r9=0x0000c800 r10=0x00000010 fp=0xdead1234
ip=0x0000000c sp=0x94270020 lr=0xdead1234 pc=0xb5156786
cpsr=0xa00f0030
System SO infos:
729da000-742a4000 r-xp 01f8b000 b3:18 524293 /data/dalvik-cache/arm/system@framework@boot.oat
9f814000-9f83a000 r-xp 00000000 b3:16 1590 /system/lib/libRSCpuRef.so
9f841000-9f864000 r-xp 00000000 b3:16 1591 /system/lib/libRSDriver.so
a0064000-a04a4000 r-xp 00000000 b3:16 3232 /system/vendor/lib/libsc-a3xx.so
a1f24000-a27b8000 r-xp 00000000 b3:18 426164 /data/app/com.mc.conference-2/lib/arm/libijkffmpeg.so
a3185000-a318c000 r-xp 00000000 b3:16 2484 /system/vendor/lib/egl/eglsubAndroid.so
a3194000-a319a000 r-xp 00000000 b3:16 1838 /system/lib/libqservice.so
a319e000-a31a4000 r-xp 00000000 b3:16 1831 /system/lib/libqdutils.so
a31a7000-a31e1000 r-xp 00000000 b3:18 426162 /data/app/com.mc.conference-2/lib/arm/libijkplayer.so
a31e5000-a31e7000 r-xp 00000000 b3:16 1691 /system/lib/libeffects.so
a31e9000-a320f000 r-xp 00000000 b3:16 1939 /system/lib/libwilhelm.so
a3214000-a3216000 r-xp 00000000 b3:16 1586 /system/lib/libOpenSLES.so
a3218000-a324b000 r-xp 00000000 b3:18 426163 /data/app/com.mc.conference-2/lib/arm/libijksdl.so
a324e000-a324f000 r-xp 00000000 b3:16 1830 /system/lib/libqdMetaData.so
a3251000-a3255000 r-xp 00000000 b3:16 1787 /system/lib/libmemalloc.so
a3257000-a325b000 r-xp 00000000 b3:16 1543 /system/lib/hw/gralloc.msm8916.so
a3465000-a348c000 r-xp 00000000 b3:18 426165 /data/app/com.mc.conference-2/lib/arm/libBugly.so
a3d50000-a42c6000 r-xp 00694000 b3:18 524685 /data/dalvik-cache/arm/data@app@com.mc.conference-2@base.apk@classes.dex
ab0cd000-ab1d8000 r-xp 00000000 b3:16 2487 /system/vendor/lib/egl/libGLESv2_adreno.so
ab291000-ab2a6000 r-xp 00000000 b3:16 1747 /system/lib/libjavacrypto.so
ab2be000-ab2c5000 r-xp 00000000 b3:16 1843 /system/lib/librs_jni.so
ab2c7000-ab2cb000 r-xp 00000000 b3:16 1612 /system/lib/libaudioeffect_jni.so
ab2cd000-ab2cf000 r-xp 00000000 b3:16 1855 /system/lib/libsoundpool.so
ab2d1000-ab2d3000 r-xp 00000000 b3:16 1781 /system/lib/libmedia_jni.huawei.so
ab2d6000-ab2ee000 r-xp 00000000 b3:16 1931 /system/lib/libvorbisidec.so
ab2f0000-ab2f2000 r-xp 00000000 b3:16 1896 /system/lib/libstagefright_yuv.so
ab2f4000-ab311000 r-xp 00000000 b3:16 1873 /system/lib/libstagefright_omx.so
ab314000-ab319000 r-xp 00000000 b3:16 1867 /system/lib/libstagefright_avc_common.so
ab31b000-ab351000 r-xp 00000000 b3:16 1813 /system/lib/libopus.so
ab354000-ab7bd000 r-xp 00000000 b3:16 1601 /system/lib/lib_qcom_ffmpeg.so
abd69000-abd75000 r-xp 00000000 b3:16 1866 /system/lib/libstagefright_amrnb_common.so
abd77000-abea9000 r-xp 00000000 b3:16 1865 /system/lib/libstagefright.so
abeb2000-abec4000 r-xp 00000000 b3:16 1801 /system/lib/libmtp.so
abec7000-abecf000 r-xp 00000000 b3:16 1748 /system/lib/libjhead.so
abed3000-abef2000 r-xp 00000000 b3:16 1693 /system/lib/libexif.so
abeff000-abf37000 r-xp 00000000 b3:16 1782 /system/lib/libmedia_jni.so
acbdb000-acbdc000 r-xp 00000000 b3:16 1868 /system/lib/libstagefright_enc_common.so
b0464000-b0465000 r-xp 00000000 b3:16 1935 /system/lib/libwebviewchromium_loader.so
b0467000-b0468000 r-xp 00000000 b3:16 1769 /system/lib/libjnigraphics.so
b046a000-b0470000 r-xp 00000000 b3:16 1650 /system/lib/libcompiler_rt.so
b0472000-b047f000 r-xp 00000000 b3:16 1602 /system/lib/libandroid.so
b0483000-b04b4000 r-xp 00000000 b3:16 2486 /system/vendor/lib/egl/libGLESv1_CM_adreno.so
b04b7000-b04ea000 r-xp 00000000 b3:16 3067 /system/vendor/lib/libgsl.so
b04ec000-b04ee000 r-xp 00000000 b3:16 2625 /system/vendor/lib/libadreno_utils.so
b04f2000-b0519000 r-xp 00000000 b3:16 2485 /system/vendor/lib/egl/libEGL_adreno.so
b051c000-b051d000 r-xp 00000000 b3:16 3224 /system/vendor/lib/libqti-perfd-client.so
b051f000-b0521000 r-xp 00000000 b3:16 3084 /system/vendor/lib/libmdmdetect.so
b0523000-b0534000 r-xp 00000000 b3:16 3221 /system/vendor/lib/libqmiservices.so
b053b000-b053d000 r-xp 00000000 b3:16 3069 /system/vendor/lib/libidl.so
b053f000-b0549000 r-xp 00000000 b3:16 3063 /system/vendor/lib/libdsutils.so
b054c000-b055d000 r-xp 00000000 b3:16 3054 /system/vendor/lib/libdiag.so
b0661000-b0664000 r-xp 00000000 b3:16 3220 /system/vendor/lib/libqmi_encdec.so
b0666000-b0670000 r-xp 00000000 b3:16 3217 /system/vendor/lib/libqmi_client_qmux.so
b067f000-b0680000 r-xp 00000000 b3:16 3240 /system/vendor/lib/libsmemlog.so
b0682000-b0683000 r-xp 00000000 b3:16 1870 /system/lib/libstagefright_http_support.so
b1d7c000-b1db0000 r-xp 00000000 b3:16 1746 /system/lib/libjavacore.so
b1df0000-b1df1000 r-xp 00000000 b3:16 3218 /system/vendor/lib/libqmi_common_so.so
b1df3000-b1dfa000 r-xp 00000000 b3:16 3215 /system/vendor/lib/libqmi_cci.so
b1dfc000-b1dfe000 r-xp 00000000 b3:16 1833 /system/lib/libqmi_oem_api.so
b1e00000-b1e04000 r-xp 00000000 b3:16 1821 /system/lib/libpowergenie_native3.so
b1e06000-b1e07000 r-xp 00000000 b3:16 1549 /system/lib/hw/memtrack.msm8916.so
b1e0a000-b1e0d000 r-xp 00000000 b3:16 1665 /system/lib/libdrmbitmap.huawei.so
b4f37000-b4f38000 r-xp 00000000 b3:16 1851 /system/lib/libsigchain.so
b4f3a000-b4f40000 r-xp 00000000 b3:16 1623 /system/lib/libbacktrace_libc++.so
b4f42000-b522d000 r-xp 00000000 b3:16 1609 /system/lib/libart.so
b523a000-b523e000 r-xp 00000000 b3:16 3251 /system/vendor/lib/libvendorconn.so
b5269000-b526b000 r-xp 00000000 b3:16 1822 /system/lib/libpowermanager.so
b526e000-b5278000 r-xp 00000000 b3:16 1649 /system/lib/libcommon_time_client.so
b527d000-b52b7000 r-xp 00000000 b3:16 1625 /system/lib/libbcinfo.so
b52b9000-b52d9000 r-xp 00000000 b3:16 1624 /system/lib/libbcc.so
b52fb000-b5bb9000 r-xp 00000000 b3:16 1574 /system/lib/libLLVM.so
b5c00000-b5c02000 r-xp 00000000 b3:16 1925 /system/lib/libunwind-ptrace.so
b5c05000-b5c11000 r-xp 00000000 b3:16 1926 /system/lib/libunwind.so
b5c59000-b5c5d000 r-xp 00000000 b3:16 1712 /system/lib/libgccdemangle.so
b5c60000-b5c70000 r-xp 00000000 b3:16 1816 /system/lib/libpcre.so
b5c72000-b5cf9000 r-xp 00000000 b3:16 1635 /system/lib/libc++.so
b5cff000-b5d23000 r-xp 00000000 b3:16 1819 /system/lib/libpng.so
b5d26000-b5d7c000 r-xp 00000000 b3:16 1710 /system/lib/libft2.so
b5d7f000-b5d92000 r-xp 00000000 b3:16 1869 /system/lib/libstagefright_foundation.so
b5d96000-b5d9d000 r-xp 00000000 b3:16 1804 /system/lib/libnbaio.so
b5d9f000-b5da1000 r-xp 00000000 b3:16 1615 /system/lib/libaudioparameter.so
b5da3000-b5da7000 r-xp 00000000 b3:16 1711 /system/lib/libgabi++.so
b5da9000-b5dc3000 r-xp 00000000 b3:16 1592 /system/lib/libRScpp.so
b5dc6000-b5df9000 r-xp 00000000 b3:16 1589 /system/lib/libRS.so
b5dfd000-b5e00000 r-xp 00000000 b3:16 1942 /system/lib/libwpa_client.so
b5e02000-b5e03000 r-xp 00000000 b3:16 1812 /system/lib/liboeminfo_oem_api.so
b5e05000-b5e0e000 r-xp 00000000 b3:16 1722 /system/lib/libhuawei_secure.so
b5e14000-b5e15000 r-xp 00000000 b3:16 1664 /system/lib/libdmd_report.so
b5e17000-b5e18000 r-xp 00000000 b3:16 1904 /system/lib/libsync.so
b5e1a000-b5e1e000 r-xp 00000000 b3:16 1859 /system/lib/libspeexresampler.so
b5e20000-b5e2d000 r-xp 00000000 b3:16 1729 /system/lib/libhwgl.so
b5e2f000-b5e3d000 r-xp 00000000 b3:16 1726 /system/lib/libhwaps.so
b5e3f000-b5ea8000 r-xp 00000000 b3:16 1562 /system/lib/libGLES_trace.so
b5eaa000-b5eb0000 r-xp 00000000 b3:16 1622 /system/lib/libbacktrace.so
b5eb2000-b5ec9000 r-xp 00000000 b3:16 1944 /system/lib/libz.so
b5ecb000-b5ecd000 r-xp 00000000 b3:16 1927 /system/lib/libusbhost.so
b5ed0000-b5eda000 r-xp 00000000 b3:16 1924 /system/lib/libui.so
b5edc000-b5f0f000 r-xp 00000000 b3:16 1899 /system/lib/libstlport.so
b5f12000-b5f4b000 r-xp 00000000 b3:16 1863 /system/lib/libssl.so
b5f51000-b5fae000 r-xp 00000000 b3:16 1860 /system/lib/libsqlite.so
b5fb2000-b5fbc000 r-xp 00000000 b3:16 1856 /system/lib/libsoundtrigger.so
b5fc0000-b600e000 r-xp 00000000 b3:16 1854 /system/lib/libsonivox.so
b6016000-b6217000 r-xp 00000000 b3:16 1852 /system/lib/libskia.so
b6231000-b6232000 r-xp 00000000 b3:16 1849 /system/lib/libservices.huawei.so
b6235000-b6241000 r-xp 00000000 b3:16 1847 /system/lib/libselinux.so
b6243000-b6245000 r-xp 00000000 b3:16 1825 /system/lib/libprocessgroup.so
b6247000-b6681000 r-xp 00000000 b3:16 1817 /system/lib/libpdfium.so
b6693000-b6698000 r-xp 00000000 b3:16 1807 /system/lib/libnetutils.so
b669b000-b669d000 r-xp 00000000 b3:16 1805 /system/lib/libnetd_client.so
b669f000-b66a4000 r-xp 00000000 b3:16 1803 /system/lib/libnativehelper.so
b66a6000-b66a8000 r-xp 00000000 b3:16 1802 /system/lib/libnativebridge.so
b66aa000-b66b3000 r-xp 00000000 b3:16 1789 /system/lib/libminikin.so
b66b6000-b66b7000 r-xp 00000000 b3:16 1788 /system/lib/libmemtrack.so
b66ba000-b6739000 r-xp 00000000 b3:16 1780 /system/lib/libmedia.so
b6753000-b6782000 r-xp 00000000 b3:16 1770 /system/lib/libjpeg.so
b6785000-b67bb000 r-xp 00000000 b3:16 1741 /system/lib/libinputflinger.so
b67bf000-b67d5000 r-xp 00000000 b3:16 1740 /system/lib/libinput.so
b67d9000-b67e3000 r-xp 00000000 b3:16 1738 /system/lib/libimg_utils.so
b67e6000-b68da000 r-xp 00000000 b3:16 1737 /system/lib/libicuuc.so
b68e9000-b6a2a000 r-xp 00000000 b3:16 1736 /system/lib/libicui18n.so
b6a34000-b6a7b000 r-xp 00000000 b3:16 1735 /system/lib/libhwui.so
b6a7f000-b6ac4000 r-xp 00000000 b3:16 1717 /system/lib/libharfbuzz_ng.so
b6ac7000-b6ace000 r-xp 00000000 b3:16 1716 /system/lib/libhardware_legacy.so
b6ad1000-b6ad2000 r-xp 00000000 b3:16 1715 /system/lib/libhardware.so
b6ad4000-b6b13000 r-xp 00000000 b3:16 1714 /system/lib/libgui.so
b6b20000-b6b34000 r-xp 00000000 b3:16 1694 /system/lib/libexpat.so
b6b37000-b6b4d000 r-xp 00000000 b3:16 1667 /system/lib/libdrmframework.so
b6b52000-b6c35000 r-xp 00000000 b3:16 1654 /system/lib/libcrypto.so
b6c4a000-b6c50000 r-xp 00000000 b3:16 1639 /system/lib/libcamera_metadata.so
b6c52000-b6c87000 r-xp 00000000 b3:16 1638 /system/lib/libcamera_client.so
b6c94000-b6c98000 r-xp 00000000 b3:16 1621 /system/lib/libaudioutils.so
b6c9a000-b6cbc000 r-xp 00000000 b3:16 1605 /system/lib/libandroidfw.so
b6cbf000-b6ccf000 r-xp 00000000 b3:16 1564 /system/lib/libGLESv2.so
b6cd2000-b6cdb000 r-xp 00000000 b3:16 1563 /system/lib/libGLESv1_CM.so
b6cdd000-b6cdf000 r-xp 00000000 b3:16 1559 /system/lib/libETC1.so
b6ce2000-b6d3f000 r-xp 00000000 b3:16 1558 /system/lib/libEGL.so
b6d4d000-b6d61000 r-xp 00000000 b3:16 1928 /system/lib/libutils.so
b6d63000-b6d65000 r-xp 00000000 b3:16 1898 /system/lib/libstdc++.so
b6d67000-b6d7d000 r-xp 00000000 b3:16 1778 /system/lib/libm.so
b6d7f000-b6d84000 r-xp 00000000 b3:16 1776 /system/lib/liblog.so
b6d86000-b6d92000 r-xp 00000000 b3:16 1657 /system/lib/libcutils.so
b6d94000-b6de6000 r-xp 00000000 b3:16 1636 /system/lib/libc.so
b6df4000-b6e19000 r-xp 00000000 b3:16 1628 /system/lib/libbinder.so
b6e21000-b6ef1000 r-xp 00000000 b3:16 1603 /system/lib/libandroid_runtime.so
b6f07000-b6f08000 r-xp 00000000 00:00 0 [sigpage]
b6f08000-b6f15000 r-xp 00000000 b3:16 450 /system/bin/linker
b6f18000-b6f1b000 r-xp 00000000 b3:16 328 /system/bin/app_process32
ffff0000-ffff1000 r-xp 00000000 00:00 0 [vectors]

bugly提供的解决方案:

SIG 是信号名的通用前缀, SEGV 是 segmentation violation 的缩写

在 POSIX 兼容的平台上,SIGSEGV 是当一个进程执行了一个无效的内存引用,或发生段错误时发送给它的信号。SIGSEGV 的符号常量在头文件 signal.h 中定义。因为在不同平台上,信号数字可能变化,因此符号信号名被使用。通常,它是信号11。

对于不正确的内存处理,如当程序企图访问 CPU 无法定址的内存区块时,计算机程序可能抛出 SIGSEGV。操作系统可能使用信号栈向一个处于自然状态的应用程序通告错误,由此,开发者可以使用它来调试程序或处理错误。
在一个程序接收到 SIGSEGV 时的默认动作是异常终止。这个动作也许会结束进程,但是可能生成一个核心文件以帮助调试,或者执行一些其他特定于某些平台的动作。
SIGSEGV可以被捕获。也就是说,应用程序可以请求它们想要的动作,以替代默认发生的动作。这样的动作可以是忽略它、调用一个函数,或恢复默认的动作。在一些情形下,忽略 SIGSEGV 导致未定义行为。
一个应用程序可能处理SIGSEGV的例子是调试器,它可能检查信号栈并通知开发者目前所发生的,以及程序终止的位置。

SIGSEGV通常由操作系统生成,但是有适当权限的用户可以在需要时使用kill系统调用或kill命令(一个用户级程序,或者一个shell内建命令)来向一个进程发送信号。

闪退场景一:recorder deleteRecording 之前 先判断文件是否存在,否则会造成过度释放,解决方法:

if ([[NSFileManager defaultManager] fileExistsAtPath:self.recorder.url.path]) {
if (![self.recorder deleteRecording])
NSLog(@"Failed to delete %@", self.recorder.url);
}

闪退场景二: delegate = nil 。
将XXViewContrller设置为delegate时,当页面发生跳转时,XXViewController的对象会被释放,这是代码走到[_delegate callbackMethod],便出现crash。解决方法有二:1.将@Property (nonatomic ,assign) id delegate; 中 assign关键字改为weak。 2.在XXViewController的delloc方法中添加:xxx.delegate = nil;