go2rtc icon indicating copy to clipboard operation
go2rtc copied to clipboard

SIGSEGV fault with version 1.9.10 on arm release

Open ounie-os opened this issue 2 months ago • 1 comments

# ./go2rtc_linux_arm
00:46:34.806 INF go2rtc platform=linux/arm revision=df95ce3 version=1.9.10
00:46:34.807 INF config path=/mnt/go2rtc.yaml
00:46:34.815 INF [api] listen addr=:1984
00:46:34.825 INF [webrtc] listen addr=:8555
00:46:34.835 INF [rtmp] listen addr=:1935
00:48:49.448 INF go2rtc platform=linux/arm revision=df95ce3 version=1.9.10
00:48:49.449 INF config path=/mnt/go2rtc.yaml
00:48:49.462 INF [api] listen addr=:1984
00:48:49.467 INF [webrtc] listen addr=:8555
00:48:49.477 INF [rtmp] listen addr=:1935
unexpected fault address 0xb686a000
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0xb686a000 pc=0xa3ec8]

goroutine 17 gp=0x2d3b568 m=6 mp=0x2d70808 [running]:
runtime.throw({0x97a37a, 0x5})
        runtime/panic.go:1094 +0x34 fp=0x4d9be5c sp=0x4d9be48 pc=0x9c290
runtime.sigpanic()
        runtime/signal_unix.go:939 +0x2a8 fp=0x4d9be8c sp=0x4d9be5c pc=0x9e784
runtime.memmove(0x4f96000, 0xb686a000, 0xd647)
        runtime/memmove_arm.s:143 +0xc4 fp=0x4d9be98 sp=0x4d9be90 pc=0xa3ec8
github.com/AlexxIT/go2rtc/pkg/v4l2/device.(*Device).Capture(0x2d26a20)
        github.com/AlexxIT/go2rtc/pkg/v4l2/device/device.go:220 +0x1d4 fp=0x4d9bf7c sp=0x4d9be98 pc=0x78ed80
github.com/AlexxIT/go2rtc/pkg/v4l2.(*Producer).Start(0x2d46a00)
        github.com/AlexxIT/go2rtc/pkg/v4l2/producer.go:116 +0x108 fp=0x4d9bfac sp=0x4d9bf7c pc=0x78fd1c
github.com/AlexxIT/go2rtc/internal/streams.(*Producer).worker(0x2cfbe00, {0xab443c, 0x2d46a00}, 0x1)
        github.com/AlexxIT/go2rtc/internal/streams/producer.go:161 +0x24 fp=0x4d9bfd8 sp=0x4d9bfac pc=0x41b210
github.com/AlexxIT/go2rtc/internal/streams.(*Producer).start.gowrap2()
        github.com/AlexxIT/go2rtc/internal/streams/producer.go:157 +0x40 fp=0x4d9bfec sp=0x4d9bfd8 pc=0x41b168
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x4d9bfec sp=0x4d9bfec pc=0xa354c
created by github.com/AlexxIT/go2rtc/internal/streams.(*Producer).start in goroutine 15
        github.com/AlexxIT/go2rtc/internal/streams/producer.go:157 +0x18c

goroutine 1 gp=0x2c02128 m=nil [chan receive]:
runtime.gopark(0x9d1ec4, 0x2d38ef8, 0xe, 0x7, 0x2)
        runtime/proc.go:460 +0x104 fp=0x2c7cefc sp=0x2c7cee8 pc=0x9c3d0
runtime.chanrecv(0x2d38ec0, 0x2d05f78, 0x1)
        runtime/chan.go:667 +0x550 fp=0x2c7cf44 sp=0x2c7cefc pc=0x272bc
runtime.chanrecv1(0x2d38ec0, 0x2d05f78)
        runtime/chan.go:509 +0x20 fp=0x2c7cf58 sp=0x2c7cf44 pc=0x26d3c
github.com/AlexxIT/go2rtc/pkg/shell.RunUntilSignal()
        github.com/AlexxIT/go2rtc/pkg/shell/shell.go:77 +0x88 fp=0x2c7cf90 sp=0x2c7cf58 pc=0x39e83c
main.main()
        github.com/AlexxIT/go2rtc/main.go:110 +0x5b4 fp=0x2c7cfa8 sp=0x2c7cf90 pc=0x7a4be4
runtime.main()
        runtime/proc.go:285 +0x2f0 fp=0x2c7cfec sp=0x2c7cfa8 pc=0x61cd4
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c7cfec sp=0x2c7cfec pc=0xa354c

goroutine 2 gp=0x2c02488 m=nil [force gc (idle)]:
runtime.gopark(0x9d203c, 0xf8c628, 0x11, 0xa, 0x1)
        runtime/proc.go:460 +0x104 fp=0x2c3efd4 sp=0x2c3efc0 pc=0x9c3d0
runtime.goparkunlock(...)
        runtime/proc.go:466
runtime.forcegchelper()
        runtime/proc.go:373 +0xe4 fp=0x2c3efec sp=0x2c3efd4 pc=0x62138
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c3efec sp=0x2c3efec pc=0xa354c
created by runtime.init.6 in goroutine 1
        runtime/proc.go:361 +0x1c

goroutine 3 gp=0x2c025a8 m=nil [GC sweep wait]:
runtime.gopark(0x9d203c, 0xf8c9c8, 0xc, 0x9, 0x1)
        runtime/proc.go:460 +0x104 fp=0x2c3f7c4 sp=0x2c3f7b0 pc=0x9c3d0
runtime.goparkunlock(...)
        runtime/proc.go:466
runtime.bgsweep(0x2c4c000)
        runtime/mgcsweep.go:323 +0x11c fp=0x2c3f7e4 sp=0x2c3f7c4 pc=0x4a3f8
runtime.gcenable.gowrap1()
        runtime/mgc.go:212 +0x28 fp=0x2c3f7ec sp=0x2c3f7e4 pc=0x39a78
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c3f7ec sp=0x2c3f7ec pc=0xa354c
created by runtime.gcenable in goroutine 1
        runtime/mgc.go:212 +0x74

goroutine 4 gp=0x2c026c8 m=nil [GC scavenge wait]:
runtime.gopark(0x9d203c, 0xf8d778, 0xd, 0xa, 0x2)
        runtime/proc.go:460 +0x104 fp=0x2c3ffb4 sp=0x2c3ffa0 pc=0x9c3d0
runtime.goparkunlock(...)
        runtime/proc.go:466
runtime.(*scavengerState).park(0xf8d778)
        runtime/mgcscavenge.go:425 +0x68 fp=0x2c3ffc8 sp=0x2c3ffb4 pc=0x477d0
runtime.bgscavenge(0x2c4c000)
        runtime/mgcscavenge.go:658 +0x60 fp=0x2c3ffe4 sp=0x2c3ffc8 pc=0x47f10
runtime.gcenable.gowrap2()
        runtime/mgc.go:213 +0x28 fp=0x2c3ffec sp=0x2c3ffe4 pc=0x39a24
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c3ffec sp=0x2c3ffec pc=0xa354c
created by runtime.gcenable in goroutine 1
        runtime/mgc.go:213 +0xbc

goroutine 5 gp=0x2c02c68 m=nil [finalizer wait]:
runtime.gopark(0x9d1ee8, 0xf98b50, 0x10, 0xa, 0x1)
        runtime/proc.go:460 +0x104 fp=0x2c3e788 sp=0x2c3e774 pc=0x9c3d0
runtime.runFinalizers()
        runtime/mfinal.go:210 +0x110 fp=0x2c3e7ec sp=0x2c3e788 pc=0x386cc
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c3e7ec sp=0x2c3e7ec pc=0xa354c
created by runtime.createfing in goroutine 1
        runtime/mfinal.go:172 +0x5c

goroutine 6 gp=0x2c030e8 m=nil [cleanup wait]:
runtime.gopark(0x9d203c, 0xf8d950, 0x2e, 0xa, 0x1)
        runtime/proc.go:460 +0x104 fp=0x2c407a4 sp=0x2c40790 pc=0x9c3d0
runtime.goparkunlock(...)
        runtime/proc.go:466
runtime.(*cleanupQueue).dequeue(0xf8d8f0)
        runtime/mcleanup.go:439 +0x12c fp=0x2c407c4 sp=0x2c407a4 pc=0x34afc
runtime.runCleanups()
        runtime/mcleanup.go:635 +0x7c fp=0x2c407ec sp=0x2c407c4 pc=0x35698
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c407ec sp=0x2c407ec pc=0xa354c
created by runtime.(*cleanupQueue).createGs in goroutine 1
        runtime/mcleanup.go:589 +0x124

goroutine 7 gp=0x2c03568 m=nil [IO wait]:
runtime.gopark(0x9d2030, 0xb6c6ae10, 0x2, 0x2, 0x5)
        runtime/proc.go:460 +0x104 fp=0x2c7ad90 sp=0x2c7ad7c pc=0x9c3d0
runtime.netpollblock(0xb6c6ae00, 0x72, 0x0)
        runtime/netpoll.go:575 +0x100 fp=0x2c7ada8 sp=0x2c7ad90 pc=0x5a040
internal/poll.runtime_pollWait(0xb6c6ae00, 0x72)
        runtime/netpoll.go:351 +0x54 fp=0x2c7adbc sp=0x2c7ada8 pc=0x9b474
internal/poll.(*pollDesc).wait(0x2cffb48, 0x72, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x30 fp=0x2c7add0 sp=0x2c7adbc pc=0x122bfc
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0x2cffb30)
        internal/poll/fd_unix.go:613 +0x284 fp=0x2c7ae18 sp=0x2c7add0 pc=0x1273b4
net.(*netFD).accept(0x2cffb30)
        net/fd_unix.go:161 +0x20 fp=0x2c7ae80 sp=0x2c7ae18 pc=0x1d9040
net.(*TCPListener).accept(0x2c00f60)
        net/tcpsock_posix.go:159 +0x20 fp=0x2c7aed4 sp=0x2c7ae80 pc=0x1f4d64
net.(*TCPListener).Accept(0x2c00f60)
        net/tcpsock.go:380 +0x30 fp=0x2c7aef0 sp=0x2c7aed4 pc=0x1f39b0
net/http.(*onceCloseListener).Accept(0x2ce1220)
        <autogenerated>:1 +0x34 fp=0x2c7af08 sp=0x2c7aef0 pc=0x357454
net/http.(*Server).Serve(0x2cc2798, {0xab3af8, 0x2c00f60})
        net/http/server.go:3463 +0x2d8 fp=0x2c7afa0 sp=0x2c7af08 pc=0x32fc3c
github.com/AlexxIT/go2rtc/internal/api.listen({0x9792e6, 0x3}, {0x2c0ef60, 0x5})
        github.com/AlexxIT/go2rtc/internal/api/api.go:101 +0x1ac fp=0x2c7afd8 sp=0x2c7afa0 pc=0x3f1e50
github.com/AlexxIT/go2rtc/internal/api.Init.gowrap1()
        github.com/AlexxIT/go2rtc/internal/api/api.go:74 +0x40 fp=0x2c7afec sp=0x2c7afd8 pc=0x3f17d0
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c7afec sp=0x2c7afec pc=0xa354c
created by github.com/AlexxIT/go2rtc/internal/api.Init in goroutine 1
        github.com/AlexxIT/go2rtc/internal/api/api.go:74 +0x4c8

goroutine 8 gp=0x2c03688 m=nil [IO wait]:
runtime.gopark(0x9d2030, 0xb6c6b010, 0x2, 0x2, 0x5)
        runtime/proc.go:460 +0x104 fp=0x2c41648 sp=0x2c41634 pc=0x9c3d0
runtime.netpollblock(0xb6c6b000, 0x72, 0x0)
        runtime/netpoll.go:575 +0x100 fp=0x2c41660 sp=0x2c41648 pc=0x5a040
internal/poll.runtime_pollWait(0xb6c6b000, 0x72)
        runtime/netpoll.go:351 +0x54 fp=0x2c41674 sp=0x2c41660 pc=0x9b474
internal/poll.(*pollDesc).wait(0x2cfed38, 0x72, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x30 fp=0x2c41688 sp=0x2c41674 pc=0x122bfc
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0x2cfed20)
        internal/poll/fd_unix.go:613 +0x284 fp=0x2c416d0 sp=0x2c41688 pc=0x1273b4
net.(*netFD).accept(0x2cfed20)
        net/fd_unix.go:161 +0x20 fp=0x2c41738 sp=0x2c416d0 pc=0x1d9040
net.(*TCPListener).accept(0x2c00de0)
        net/tcpsock_posix.go:159 +0x20 fp=0x2c4178c sp=0x2c41738 pc=0x1f4d64
net.(*TCPListener).Accept(0x2c00de0)
        net/tcpsock.go:380 +0x30 fp=0x2c417a8 sp=0x2c4178c pc=0x1f39b0
github.com/AlexxIT/go2rtc/internal/rtsp.Init.func1()
        github.com/AlexxIT/go2rtc/internal/rtsp/rtsp.go:65 +0x4c fp=0x2c417ec sp=0x2c417a8 pc=0x488758
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c417ec sp=0x2c417ec pc=0xa354c
created by github.com/AlexxIT/go2rtc/internal/rtsp.Init in goroutine 1
        github.com/AlexxIT/go2rtc/internal/rtsp/rtsp.go:63 +0x4d8

goroutine 9 gp=0x2c03c28 m=nil [IO wait]:
runtime.gopark(0x9d2030, 0xb6c6ac10, 0x2, 0x2, 0x5)
        runtime/proc.go:460 +0x104 fp=0x2c40e38 sp=0x2c40e24 pc=0x9c3d0
runtime.netpollblock(0xb6c6ac00, 0x72, 0x0)
        runtime/netpoll.go:575 +0x100 fp=0x2c40e50 sp=0x2c40e38 pc=0x5a040
internal/poll.runtime_pollWait(0xb6c6ac00, 0x72)
        runtime/netpoll.go:351 +0x54 fp=0x2c40e64 sp=0x2c40e50 pc=0x9b474
internal/poll.(*pollDesc).wait(0x2cffbe8, 0x72, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x30 fp=0x2c40e78 sp=0x2c40e64 pc=0x122bfc
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0x2cffbd0)
        internal/poll/fd_unix.go:613 +0x284 fp=0x2c40ec0 sp=0x2c40e78 pc=0x1273b4
net.(*netFD).accept(0x2cffbd0)
        net/fd_unix.go:161 +0x20 fp=0x2c40f28 sp=0x2c40ec0 pc=0x1d9040
net.(*TCPListener).accept(0x2c00f90)
        net/tcpsock_posix.go:159 +0x20 fp=0x2c40f7c sp=0x2c40f28 pc=0x1f4d64
net.(*TCPListener).Accept(0x2c00f90)
        net/tcpsock.go:380 +0x30 fp=0x2c40f98 sp=0x2c40f7c pc=0x1f39b0
github.com/pion/ice/v4.(*TCPMuxDefault).start(0x2c00ff0)
        github.com/pion/ice/[email protected]/tcp_mux.go:101 +0xfc fp=0x2c40fd4 sp=0x2c40f98 pc=0x5fdeec
github.com/pion/ice/v4.NewTCPMuxDefault.func1()
        github.com/pion/ice/[email protected]/tcp_mux.go:92 +0x50 fp=0x2c40fec sp=0x2c40fd4 pc=0x5fdd60
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c40fec sp=0x2c40fec pc=0xa354c
created by github.com/pion/ice/v4.NewTCPMuxDefault in goroutine 1
        github.com/pion/ice/[email protected]/tcp_mux.go:90 +0x234

goroutine 10 gp=0x2d3a128 m=nil [IO wait]:
runtime.gopark(0x9d2030, 0xb6c6aa10, 0x2, 0x2, 0x5)
        runtime/proc.go:460 +0x104 fp=0x2c41d34 sp=0x2c41d20 pc=0x9c3d0
runtime.netpollblock(0xb6c6aa00, 0x72, 0x0)
        runtime/netpoll.go:575 +0x100 fp=0x2c41d4c sp=0x2c41d34 pc=0x5a040
internal/poll.runtime_pollWait(0xb6c6aa00, 0x72)
        runtime/netpoll.go:351 +0x54 fp=0x2c41d60 sp=0x2c41d4c pc=0x9b474
internal/poll.(*pollDesc).wait(0x2cffc38, 0x72, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x30 fp=0x2c41d74 sp=0x2c41d60 pc=0x122bfc
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).ReadFromInet4(0x2cffc20, {0x2d6a000, 0x2000, 0x2000}, 0x2c41e44)
        internal/poll/fd_unix.go:241 +0x220 fp=0x2c41db8 sp=0x2c41d74 pc=0x124678
net.(*netFD).readFromInet4(0x2cffc20, {0x2d6a000, 0x2000, 0x2000}, 0x2c41e44)
        net/fd_posix.go:79 +0x40 fp=0x2c41de8 sp=0x2c41db8 pc=0x1d74b8
net.(*UDPConn).readFrom(0x2c25ba8, {0x2d6a000, 0x2000, 0x2000}, 0x2d26900)
        net/udpsock_posix.go:52 +0x19c fp=0x2c41e88 sp=0x2c41de8 pc=0x1f8058
net.(*UDPConn).readFromUDP(0x2c25ba8, {0x2d6a000, 0x2000, 0x2000}, 0x2d26900)
        net/udpsock.go:146 +0x48 fp=0x2c41ec0 sp=0x2c41e88 pc=0x1f62f8
net.(*UDPConn).ReadFrom(0x2c25ba8, {0x2d6a000, 0x2000, 0x2000})
        net/udpsock.go:155 +0x48 fp=0x2c41ee8 sp=0x2c41ec0 pc=0x1f649c
github.com/pion/ice/v4.(*UDPMuxDefault).connWorker(0x2c27ab0)
        github.com/pion/ice/[email protected]/udp_mux.go:293 +0xa4 fp=0x2c41fe4 sp=0x2c41ee8 pc=0x60544c
github.com/pion/ice/v4.NewUDPMuxDefault.gowrap1()
        github.com/pion/ice/[email protected]/udp_mux.go:127 +0x28 fp=0x2c41fec sp=0x2c41fe4 pc=0x60425c
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c41fec sp=0x2c41fec pc=0xa354c
created by github.com/pion/ice/v4.NewUDPMuxDefault in goroutine 1
        github.com/pion/ice/[email protected]/udp_mux.go:127 +0x3a4

goroutine 11 gp=0x2d3a248 m=nil [IO wait]:
runtime.gopark(0x9d2030, 0xb6c6a810, 0x2, 0x2, 0x5)
        runtime/proc.go:460 +0x104 fp=0x2c3a534 sp=0x2c3a520 pc=0x9c3d0
runtime.netpollblock(0xb6c6a800, 0x72, 0x0)
        runtime/netpoll.go:575 +0x100 fp=0x2c3a54c sp=0x2c3a534 pc=0x5a040
internal/poll.runtime_pollWait(0xb6c6a800, 0x72)
        runtime/netpoll.go:351 +0x54 fp=0x2c3a560 sp=0x2c3a54c pc=0x9b474
internal/poll.(*pollDesc).wait(0x2cffc88, 0x72, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x30 fp=0x2c3a574 sp=0x2c3a560 pc=0x122bfc
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).ReadFromInet6(0x2cffc70, {0x2d6c000, 0x2000, 0x2000}, 0x2c3a610)
        internal/poll/fd_unix.go:268 +0x220 fp=0x2c3a5b8 sp=0x2c3a574 pc=0x1249a4
net.(*netFD).readFromInet6(0x2cffc70, {0x2d6c000, 0x2000, 0x2000}, 0x2c3a610)
        net/fd_posix.go:85 +0x40 fp=0x2c3a5e8 sp=0x2c3a5b8 pc=0x1d75c0
net.(*UDPConn).readFrom(0x2c25bb0, {0x2d6c000, 0x2000, 0x2000}, 0x2d26918)
        net/udpsock_posix.go:59 +0x78 fp=0x2c3a688 sp=0x2c3a5e8 pc=0x1f7f34
net.(*UDPConn).readFromUDP(0x2c25bb0, {0x2d6c000, 0x2000, 0x2000}, 0x2d26918)
        net/udpsock.go:146 +0x48 fp=0x2c3a6c0 sp=0x2c3a688 pc=0x1f62f8
net.(*UDPConn).ReadFrom(0x2c25bb0, {0x2d6c000, 0x2000, 0x2000})
        net/udpsock.go:155 +0x48 fp=0x2c3a6e8 sp=0x2c3a6c0 pc=0x1f649c
github.com/pion/ice/v4.(*UDPMuxDefault).connWorker(0x2c27b20)
        github.com/pion/ice/[email protected]/udp_mux.go:293 +0xa4 fp=0x2c3a7e4 sp=0x2c3a6e8 pc=0x60544c
github.com/pion/ice/v4.NewUDPMuxDefault.gowrap1()
        github.com/pion/ice/[email protected]/udp_mux.go:127 +0x28 fp=0x2c3a7ec sp=0x2c3a7e4 pc=0x60425c
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c3a7ec sp=0x2c3a7ec pc=0xa354c
created by github.com/pion/ice/v4.NewUDPMuxDefault in goroutine 1
        github.com/pion/ice/[email protected]/udp_mux.go:127 +0x3a4

goroutine 12 gp=0x2d3a6c8 m=nil [IO wait]:
runtime.gopark(0x9d2030, 0xb6c6a610, 0x2, 0x2, 0x5)
        runtime/proc.go:460 +0x104 fp=0x2c3ae60 sp=0x2c3ae4c pc=0x9c3d0
runtime.netpollblock(0xb6c6a600, 0x72, 0x0)
        runtime/netpoll.go:575 +0x100 fp=0x2c3ae78 sp=0x2c3ae60 pc=0x5a040
internal/poll.runtime_pollWait(0xb6c6a600, 0x72)
        runtime/netpoll.go:351 +0x54 fp=0x2c3ae8c sp=0x2c3ae78 pc=0x9b474
internal/poll.(*pollDesc).wait(0x2d4d5f8, 0x72, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x30 fp=0x2c3aea0 sp=0x2c3ae8c pc=0x122bfc
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0x2d4d5e0)
        internal/poll/fd_unix.go:613 +0x284 fp=0x2c3aee8 sp=0x2c3aea0 pc=0x1273b4
net.(*netFD).accept(0x2d4d5e0)
        net/fd_unix.go:161 +0x20 fp=0x2c3af50 sp=0x2c3aee8 pc=0x1d9040
net.(*TCPListener).accept(0x2c01c20)
        net/tcpsock_posix.go:159 +0x20 fp=0x2c3afa4 sp=0x2c3af50 pc=0x1f4d64
net.(*TCPListener).Accept(0x2c01c20)
        net/tcpsock.go:380 +0x30 fp=0x2c3afc0 sp=0x2c3afa4 pc=0x1f39b0
github.com/AlexxIT/go2rtc/internal/rtmp.Init.func1()
        github.com/AlexxIT/go2rtc/internal/rtmp/rtmp.go:54 +0x64 fp=0x2c3afec sp=0x2c3afc0 pc=0x787d20
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c3afec sp=0x2c3afec pc=0xa354c
created by github.com/AlexxIT/go2rtc/internal/rtmp.Init in goroutine 1
        github.com/AlexxIT/go2rtc/internal/rtmp/rtmp.go:52 +0x44c

goroutine 13 gp=0x2d3a908 m=nil [select, locked to thread]:
runtime.gopark(0x9d2070, 0x0, 0x9, 0x3, 0x1)
        runtime/proc.go:460 +0x104 fp=0x2c3b6e8 sp=0x2c3b6d4 pc=0x9c3d0
runtime.selectgo(0x2c3b7d8, 0x2c3b7c0, 0x0, 0x0, 0x2, 0x1)
        runtime/select.go:351 +0xc4c fp=0x2c3b798 sp=0x2c3b6e8 pc=0x77b00
runtime.ensureSigM.func1()
        runtime/signal_unix.go:1085 +0x1b8 fp=0x2c3b7ec sp=0x2c3b798 pc=0x96938
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c3b7ec sp=0x2c3b7ec pc=0xa354c
created by runtime.ensureSigM in goroutine 1
        runtime/signal_unix.go:1068 +0xf8

goroutine 14 gp=0x2d3ac68 m=3 mp=0x2c43008 [syscall]:
runtime.notetsleepg(0xf992b0, 0xffffffffffffffff)
        runtime/lock_futex.go:123 +0x24 fp=0x2c3bfc0 sp=0x2c3bfa8 pc=0x2c60c
os/signal.signal_recv()
        runtime/sigqueue.go:152 +0x34 fp=0x2c3bfe0 sp=0x2c3bfc0 pc=0x9e968
os/signal.loop()
        os/signal/signal_unix.go:23 +0x14 fp=0x2c3bfec sp=0x2c3bfe0 pc=0x37fb74
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2c3bfec sp=0x2c3bfec pc=0xa354c
created by os/signal.Notify.func1.1 in goroutine 1
        os/signal/signal.go:152 +0x28

goroutine 16 gp=0x2d3b448 m=nil [runnable]:
runtime.asyncPreempt2()
        runtime/preempt.go:308 +0x38 fp=0x2d053b4 sp=0x2d053a8 pc=0x6066c
runtime.asyncPreempt()
        runtime/preempt_arm.s:44 +0x98 fp=0x2d05470 sp=0x2d053b4 pc=0xa40a4
image/jpeg.yCbCrToYCbCr(0x2d38140, {0x68, 0x50}, 0x2d05ce0, 0x2d059e0, 0x2d055e0)
        image/jpeg/writer.go:460 +0xf0 fp=0x2d054a0 sp=0x2d05474 pc=0x477710
image/jpeg.(*encoder).writeSOS(0x2cc2218, {0xab3ba0, 0x2d38140})
        image/jpeg/writer.go:547 +0x414 fp=0x2d05e00 sp=0x2d054a0 pc=0x477ca0
image/jpeg.Encode({0xab113c, 0x2d260c0}, {0xab3ba0, 0x2d38140}, 0x0)
        image/jpeg/writer.go:634 +0x3ac fp=0x2d05e3c sp=0x2d05e00 pc=0x47818c
github.com/AlexxIT/go2rtc/pkg/mjpeg.Transcode({0x300e000, 0xcffa, 0xcffa})
        github.com/AlexxIT/go2rtc/pkg/mjpeg/rtp.go:215 +0x210 fp=0x2d05e78 sp=0x2d05e3c pc=0x47da24
github.com/AlexxIT/go2rtc/pkg/mjpeg.RTPPay.func1(0x2d59630)
        github.com/AlexxIT/go2rtc/pkg/mjpeg/rtp.go:99 +0x4c fp=0x2d05fc4 sp=0x2d05e78 pc=0x47cff4
github.com/AlexxIT/go2rtc/pkg/core.NewSender.func2(0x2d59630)
        github.com/AlexxIT/go2rtc/pkg/core/track.go:112 +0x28 fp=0x2d05fcc sp=0x2d05fc4 pc=0x412838
github.com/AlexxIT/go2rtc/pkg/core.(*Sender).Start.func1(0x2d38fc0)
        github.com/AlexxIT/go2rtc/pkg/core/track.go:145 +0x44 fp=0x2d05fe4 sp=0x2d05fcc pc=0x412c2c
github.com/AlexxIT/go2rtc/pkg/core.(*Sender).Start.gowrap2()
        github.com/AlexxIT/go2rtc/pkg/core/track.go:148 +0x30 fp=0x2d05fec sp=0x2d05fe4 pc=0x412bbc
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x2d05fec sp=0x2d05fec pc=0xa354c
created by github.com/AlexxIT/go2rtc/pkg/core.(*Sender).Start in goroutine 15
        github.com/AlexxIT/go2rtc/pkg/core/track.go:143 +0x164

goroutine 18 gp=0x2d3b8c8 m=nil [GC worker (idle)]:
runtime.gopark(0x9d1ef4, 0x2d4ae00, 0x1c, 0xa, 0x0)
        runtime/proc.go:460 +0x104 fp=0x3059f88 sp=0x3059f74 pc=0x9c3d0
runtime.gcBgMarkWorker(0x2c69d80)
        runtime/mgc.go:1463 +0xf4 fp=0x3059fe4 sp=0x3059f88 pc=0x3cd70
runtime.gcBgMarkStartWorkers.gowrap1()
        runtime/mgc.go:1373 +0x28 fp=0x3059fec sp=0x3059fe4 pc=0x3cc50
runtime.goexit({})
        runtime/asm_arm.s:877 +0x4 fp=0x3059fec sp=0x3059fec pc=0xa354c
created by runtime.gcBgMarkStartWorkers in goroutine 17
        runtime/mgc.go:1373 +0x14c

config file is:

streams:
  cam:
   - "v4l2:device?video=/dev/video0&input_format=mjpeg&video_size=1280x720&framerate=25"
   - "rtsp://192.168.8.250"
api:
  listen: ":1984"        
webrtc:
  listen: ":8555"
rtmp:
  listen: ":1935"         
srt:
  listen: ":9000"          
rtsp:
  listen: ":8554"
log:
  level: info  # default level
  api: info
  exec: debug
  ngrok: info
  rtsp: warn
  streams: error
  webrtc: debug

vlc media player is going to play rtsp while go2rtc stopped with these infomation.

ounie-os avatar Oct 04 '25 23:10 ounie-os

Does this issue happen often?

AlexxIT avatar Nov 20 '25 17:11 AlexxIT