metartc / metaRTC

A cross-platform webRTC SDK
Apache License 2.0
868 stars 218 forks source link

arm64 测试重复推流拉流遇到corrupted double-linked list #86

Open ypbwithyou opened 4 weeks ago

ypbwithyou commented 4 weeks ago

2024-08-16 12:53:06.284965 [info] [10968] [main.cpp|53|operator()] ==========================================:19 2024-08-16 12:53:06.285146 [info] [10968] [MetaPushStreamManager.cpp|97|startPush] YangM_Push_Connect:webrtc://192.168.1.155:1985/live/livestream_rk3568

netType==2,server=192.168.1.155,port=1985,app=live,stream=livestream_rk3568

netType==2,server=192.168.1.155,port=1985,app=live,stream=livestream_rk3568 [New Thread 0x7f2d7b1ef0 (LWP 13166)] [OpenH264] this = 0x0x7f64101df0, Warning:bEnableFrameSkip = 0,bitrate can't be controlled for RC_QUALITY_MODE,RC_BITRATE_MODE and RC_TIMESTAMP_MODE without enabling skip frame.

openh264 encoder is ready. srtp init success!

startRtc,port=16809 candidate:ip==192.168.1.155,type=host,port=8000 candidate:ip==192.168.1.155,type=host,port=8000 remoteIp=192.168.1.155,port=8000 [New Thread 0x7f2cfb0ef0 (LWP 13167)] [New Thread 0x7f2c7afef0 (LWP 13168)] [New Thread 0x7f2bfaeef0 (LWP 13169)] dtls is openssl [New Thread 0x7f2b7adef0 (LWP 13176)] rtc udp(IPV4) server is starting,localPort=16809 DTLS: Reset the timer for ServerHello dtls handshake is sucess [Thread 0x7f2b7adef0 (LWP 13176) exited]

webrtc disconnected Yang INFO: dtls info method=write,retcode=256,type==warning,desc==CN 2024-08-16 12:53:16.285514 [info] [10968] [MetaPushStreamManager.cpp|111|stopPush] YangM_Push_Disconnect [Thread 0x7f2c7afef0 (LWP 13168) exited] corrupted double-linked list [Thread 0x7f2cfb0ef0 (LWP 13167) exited]

Thread 5 "electronic_clas" received signal SIGABRT, Aborted. [Switching to Thread 0x7f86acdef0 (LWP 10952)] 0x0000007f9340d378 in raise () from /lib/libc.so.6 (gdb) bt

0 0x0000007f9340d378 in raise () from /lib/libc.so.6

1 0x0000007f933fb9c0 in abort () from /lib/libc.so.6

2 0x0000007f93444fdc in ?? () from /lib/libc.so.6

3 0x0000007f9344b4dc in ?? () from /lib/libc.so.6

4 0x0000007f9344bbd4 in ?? () from /lib/libc.so.6

5 0x0000007f9344cdb4 in ?? () from /lib/libc.so.6

6 0x00000000004753d0 in yang_destroy_rtpBuffer ()

7 0x000000000045cdc8 in yang_destroy_rtcConnection ()

8 0x000000000045b018 in yang_destroy_peerConnection ()

9 0x000000000044bad0 in YangPeerConnection2::~YangPeerConnection2() ()

10 0x000000000043b894 in YangRtcPublish::disConnectMediaServer (this=0x7f7005e910)

at /home/cyj/rk3568/RK356X_LINUX_SDK_V1.1_20210520/buildroot/output/rockchip_rk3568_cyj/host/aarch64-buildroot-linux-gnu/include/c++/9.3.0/bits/stl_iterator.h:867

11 0x000000000043991c in YangPushHandleImpl::stopPublish (this=0x3715b3a0)

at /root/projects/zyrj_electronic_class_board/hotpot/Vegetables/Works/zyrj/electronic_class_board/metapushstream7/yangpush/YangPushHandleImpl.cpp:107

12 0x0000000000439fa4 in YangPushMessageHandle::handleMessage (this=0x3715b2b0, mss=0x7f74000910)

at /root/projects/zyrj_electronic_class_board/hotpot/Vegetables/Works/zyrj/electronic_class_board/metapushstream7/yangpush/YangPushMessageHandle.cpp:85

13 0x000000000044917c in YangSysMessageHandle::startLoop() ()

14 0x000000000044920c in YangSysMessageHandle::run() ()

15 0x0000000000449734 in YangThread::go(void*) ()

16 0x0000007f948de6d0 in start_thread () from /lib/libpthread.so.0

17 0x0000007f934a46cc in ?? () from /lib/libc.so.6

测试了19次的打开推流和关闭推流程序崩溃,yang_destroy_rtpBuffer 出现问题,经多次测试都是在重复一定次数时出现内存问题

Heliyang0818 commented 3 weeks ago

可能是板子设了重连