AlexxIT / go2rtc

Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.
https://github.com/AlexxIT/Blog
MIT License
4.25k stars 346 forks source link

WriteRTP - fatal error: concurrent map iteration and map write #213

Closed AlexxIT closed 1 year ago

AlexxIT commented 1 year ago
2023-01-26 22:28:48.790388895  fatal error: concurrent map iteration and map write
2023-01-26 22:28:48.820731512
2023-01-26 22:28:48.820739913  goroutine 39 [running]:
2023-01-26 22:28:48.850443075  github.com/AlexxIT/go2rtc/pkg/streamer.(*Track).WriteRTP(0xc000232330, 0xc0002322d0?)
2023-01-26 22:28:48.850454121   github.com/AlexxIT/go2rtc/pkg/streamer/track.go:41 +0x8d
2023-01-26 22:28:48.850461699  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000162000)
2023-01-26 22:28:48.850469395   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:785 +0x685
2023-01-26 22:28:48.881062991  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0x0?)
2023-01-26 22:28:48.881118328   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:47 +0x94
2023-01-26 22:28:48.881128149  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc000036360, {0xc93440?, 0xc000162000?}, 0x5)
2023-01-26 22:28:48.881136983   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-01-26 22:28:48.881145099  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).reconnect
2023-01-26 22:28:48.881210325   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:179 +0x42c
2023-01-26 22:28:48.881217039
2023-01-26 22:28:48.881224906  goroutine 1 [chan receive, 86 minutes]:
2023-01-26 22:28:48.881282239  main.main()
2023-01-26 22:28:48.881290157   github.com/AlexxIT/go2rtc/main.go:56 +0xfd
2023-01-26 22:28:48.881296610
2023-01-26 22:28:48.881303927  goroutine 6 [IO wait, 86 minutes]:
2023-01-26 22:28:48.881757978  internal/poll.runtime_pollWait(0x7f0b5a306690, 0x72)
2023-01-26 22:28:48.881769568   runtime/netpoll.go:305 +0x89
2023-01-26 22:28:48.881778763  internal/poll.(*pollDesc).wait(0xc00011f500?, 0x4?, 0x0)
2023-01-26 22:28:48.881787225   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 22:28:48.881795884  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 22:28:48.881803858   internal/poll/fd_poll_runtime.go:89
2023-01-26 22:28:48.881812875  internal/poll.(*FD).Accept(0xc00011f500)
2023-01-26 22:28:48.881821937   internal/poll/fd_unix.go:614 +0x234
2023-01-26 22:28:48.881830436  net.(*netFD).accept(0xc00011f500)
2023-01-26 22:28:48.881838134   net/fd_unix.go:172 +0x35
2023-01-26 22:28:48.881891623  net.(*TCPListener).accept(0xc000010918)
2023-01-26 22:28:48.881915460   net/tcpsock_posix.go:142 +0x28
2023-01-26 22:28:48.881923539  net.(*TCPListener).Accept(0xc000010918)
2023-01-26 22:28:48.881931744   net/tcpsock.go:288 +0x3d
2023-01-26 22:28:48.881983353  net/http.(*Server).Serve(0xc0001ee000, {0xc91a08, 0xc000010918})
2023-01-26 22:28:48.881991604   net/http/server.go:3070 +0x385
2023-01-26 22:28:48.882039814  github.com/AlexxIT/go2rtc/cmd/api.Init.func1()
2023-01-26 22:28:48.882047591   github.com/AlexxIT/go2rtc/cmd/api/api.go:66 +0x32
2023-01-26 22:28:48.882093246  created by github.com/AlexxIT/go2rtc/cmd/api.Init
2023-01-26 22:28:48.882317135   github.com/AlexxIT/go2rtc/cmd/api/api.go:65 +0x43b
2023-01-26 22:28:48.882326276
2023-01-26 22:28:48.882335551  goroutine 7 [IO wait, 1 minutes]:
2023-01-26 22:28:48.882344313  internal/poll.runtime_pollWait(0x7f0b5a3065a0, 0x72)
2023-01-26 22:28:48.882351990   runtime/netpoll.go:305 +0x89
2023-01-26 22:28:48.882480793  internal/poll.(*pollDesc).wait(0xc00011f580?, 0x6?, 0x0)
2023-01-26 22:28:48.882491131   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 22:28:48.882499647  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 22:28:48.882508093   internal/poll/fd_poll_runtime.go:89
2023-01-26 22:28:48.882516719  internal/poll.(*FD).Accept(0xc00011f580)
2023-01-26 22:28:48.882525311   internal/poll/fd_unix.go:614 +0x234
2023-01-26 22:28:48.882576035  net.(*netFD).accept(0xc00011f580)
2023-01-26 22:28:48.882584885   net/fd_unix.go:172 +0x35
2023-01-26 22:28:48.882592136  net.(*TCPListener).accept(0xc0000109a8)
2023-01-26 22:28:48.882640830   net/tcpsock_posix.go:142 +0x28
2023-01-26 22:28:48.882649703  net.(*TCPListener).Accept(0xc0000109a8)
2023-01-26 22:28:48.882695283   net/tcpsock.go:288 +0x3d
2023-01-26 22:28:48.882704625  github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1()
2023-01-26 22:28:48.882749305   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:54 +0x58
2023-01-26 22:28:48.882758371  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init
2023-01-26 22:28:48.882807089   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:52 +0x32a
2023-01-26 22:28:48.882813736
2023-01-26 22:28:48.882861145  goroutine 8 [IO wait, 86 minutes]:
2023-01-26 22:28:48.882910207  internal/poll.runtime_pollWait(0x7f0b5a3064b0, 0x72)
2023-01-26 22:28:48.882956511   runtime/netpoll.go:305 +0x89
2023-01-26 22:28:48.883004254  internal/poll.(*pollDesc).wait(0xc00011f780?, 0xc0000ac000?, 0x0)
2023-01-26 22:28:48.883047530   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 22:28:48.883056231  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 22:28:48.883100495   internal/poll/fd_poll_runtime.go:89
2023-01-26 22:28:48.883164115  internal/poll.(*FD).ReadFromInet6(0xc00011f780, {0xc0000ac000, 0x2000, 0x2000}, 0x7f0b5a7a4fff?)
2023-01-26 22:28:48.883217003   internal/poll/fd_unix.go:277 +0x1e5
2023-01-26 22:28:48.883376720  net.(*netFD).readFromInet6(0xc00011f780, {0xc0000ac000?, 0x0?, 0x0?}, 0x4?)
2023-01-26 22:28:48.883385630   net/fd_posix.go:72 +0x29
2023-01-26 22:28:48.883499919  net.(*UDPConn).readFrom(0xc000088000?, {0xc0000ac000?, 0x0?, 0x1010000000000?}, 0xc00009e0f0)
2023-01-26 22:28:48.883545648   net/udpsock_posix.go:59 +0x85
2023-01-26 22:28:48.883657146  net.(*UDPConn).readFromUDP(0xc000012878, {0xc0000ac000?, 0x44f352?, 0x2000?}, 0xa925e0?)
2023-01-26 22:28:48.883702293   net/udpsock.go:149 +0x31
2023-01-26 22:28:48.883766410  net.(*UDPConn).ReadFrom(0x0?, {0xc0000ac000, 0x2000, 0x2000})
2023-01-26 22:28:48.883810139   net/udpsock.go:158 +0x50
2023-01-26 22:28:48.883858822  github.com/pion/ice/v2.(*UDPMuxDefault).connWorker(0xc00011f800)
2023-01-26 22:28:48.883905954   github.com/pion/ice/v2@v2.2.6/udp_mux.go:239 +0xdb
2023-01-26 22:28:48.883915479  created by github.com/pion/ice/v2.NewUDPMuxDefault
2023-01-26 22:28:48.883964588   github.com/pion/ice/v2@v2.2.6/udp_mux.go:68 +0x1e5
2023-01-26 22:28:48.883971460
2023-01-26 22:28:48.884013772  goroutine 9 [IO wait, 86 minutes]:
2023-01-26 22:28:48.884061707  internal/poll.runtime_pollWait(0x7f0b5a3063c0, 0x72)
2023-01-26 22:28:48.884107219   runtime/netpoll.go:305 +0x89
2023-01-26 22:28:48.884154624  internal/poll.(*pollDesc).wait(0xc00011f880?, 0x0?, 0x0)
2023-01-26 22:28:48.884200571   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 22:28:48.884208421  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 22:28:48.884254933   internal/poll/fd_poll_runtime.go:89
2023-01-26 22:28:48.884263609  internal/poll.(*FD).Accept(0xc00011f880)
2023-01-26 22:28:48.884310993   internal/poll/fd_unix.go:614 +0x234
2023-01-26 22:28:48.884358122  net.(*netFD).accept(0xc00011f880)
2023-01-26 22:28:48.884405174   net/fd_unix.go:172 +0x35
2023-01-26 22:28:48.884414586  net.(*TCPListener).accept(0xc000010b10)
2023-01-26 22:28:48.884461981   net/tcpsock_posix.go:142 +0x28
2023-01-26 22:28:48.884470675  net.(*TCPListener).Accept(0xc000010b10)
2023-01-26 22:28:48.884526554   net/tcpsock.go:288 +0x3d
2023-01-26 22:28:48.884536505  github.com/pion/ice/v2.(*TCPMuxDefault).start(0xc0001b4a40)
2023-01-26 22:28:48.884583738   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:91 +0xdd
2023-01-26 22:28:48.884592858  github.com/pion/ice/v2.NewTCPMuxDefault.func1()
2023-01-26 22:28:48.884638621   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:82 +0x5a
2023-01-26 22:28:48.884648169  created by github.com/pion/ice/v2.NewTCPMuxDefault
2023-01-26 22:28:48.884696091   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:80 +0x1a5
2023-01-26 22:28:48.884702661
2023-01-26 22:28:48.884766569  goroutine 10 [IO wait, 86 minutes]:
2023-01-26 22:28:48.884884208  internal/poll.runtime_pollWait(0x7f0b5a3062d0, 0x72)
2023-01-26 22:28:48.884933747   runtime/netpoll.go:305 +0x89
2023-01-26 22:28:48.884985276  internal/poll.(*pollDesc).wait(0xc00011fa00?, 0xc000282000?, 0x0)
2023-01-26 22:28:48.885030536   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 22:28:48.885039261  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 22:28:48.885083922   internal/poll/fd_poll_runtime.go:89
2023-01-26 22:28:48.885208009  internal/poll.(*FD).ReadFromInet6(0xc00011fa00, {0xc000282000, 0x800, 0x800}, 0x7f0b5a7a4fff?)
2023-01-26 22:28:48.885217685   internal/poll/fd_unix.go:277 +0x1e5
2023-01-26 22:28:48.885290048  net.(*netFD).readFromInet6(0xc00011fa00, {0xc000282000?, 0x0?, 0x4170cb?}, 0x1?)
2023-01-26 22:28:48.885336973   net/fd_posix.go:72 +0x29
2023-01-26 22:28:48.885447716  net.(*UDPConn).readFrom(0xc00005a800?, {0xc000282000?, 0x0?, 0x101000040dc25?}, 0xc000284000)
2023-01-26 22:28:48.885494518   net/udpsock_posix.go:59 +0x85
2023-01-26 22:28:48.885588644  net.(*UDPConn).readFromUDP(0xc0000128c8, {0xc000282000?, 0x44f352?, 0x800?}, 0xa925e0?)
2023-01-26 22:28:48.885633815   net/udpsock.go:149 +0x31
2023-01-26 22:28:48.885711442  net.(*UDPConn).ReadFrom(0x18?, {0xc000282000, 0x800, 0x800})
2023-01-26 22:28:48.885757438   net/udpsock.go:158 +0x50
2023-01-26 22:28:48.885822009  github.com/AlexxIT/go2rtc/pkg/srtp.(*Server).Serve(0xc000280000, {0xc958e0?, 0xc0000128c8})
2023-01-26 22:28:48.885867872   github.com/AlexxIT/go2rtc/pkg/srtp/server.go:41 +0x82
2023-01-26 22:28:48.885969998  github.com/AlexxIT/go2rtc/cmd/srtp.Init.func1()
2023-01-26 22:28:48.885980040   github.com/AlexxIT/go2rtc/cmd/srtp/srtp.go:39 +0x85
2023-01-26 22:28:48.885989127  created by github.com/AlexxIT/go2rtc/cmd/srtp.Init
2023-01-26 22:28:48.886037983   github.com/AlexxIT/go2rtc/cmd/srtp/srtp.go:37 +0x28f
2023-01-26 22:28:48.886046021
2023-01-26 22:28:48.886091121  goroutine 12 [syscall, 86 minutes]:
2023-01-26 22:28:48.886099596  os/signal.signal_recv()
2023-01-26 22:28:48.886146785   runtime/sigqueue.go:152 +0x2f
2023-01-26 22:28:48.886154939  os/signal.loop()
2023-01-26 22:28:48.886203806   os/signal/signal_unix.go:23 +0x19
2023-01-26 22:28:48.886211432  created by os/signal.Notify.func1.1
2023-01-26 22:28:48.886259470   os/signal/signal.go:151 +0x2a
2023-01-26 22:28:48.886267142
2023-01-26 22:28:48.886312825  goroutine 15 [runnable]:
2023-01-26 22:28:48.886321567  sync.(*RWMutex).Unlock(0xc0003140d8)
2023-01-26 22:28:48.886390872   sync/rwmutex.go:198 +0xad
2023-01-26 22:28:48.886400777  github.com/AlexxIT/go2rtc/pkg/streamer.(*Track).Unbind(0xc000232750)
2023-01-26 22:28:48.886446908   github.com/AlexxIT/go2rtc/pkg/streamer/track.go:66 +0x4b
2023-01-26 22:28:48.886494907  github.com/AlexxIT/go2rtc/cmd/streams.(*Stream).RemoveConsumer(0xc0001b4300, {0xc90e08?, 0xc0001621c0})
2023-01-26 22:28:48.886542029   github.com/AlexxIT/go2rtc/cmd/streams/stream.go:136 +0x15b
2023-01-26 22:28:48.886550402  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler.func1.1()
2023-01-26 22:28:48.886595736   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:173 +0x28
2023-01-26 22:28:48.886643654  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0001621c0)
2023-01-26 22:28:48.886688979   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:222 +0x323
2023-01-26 22:28:48.886699221  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-01-26 22:28:48.886745664   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:64 +0x48
2023-01-26 22:28:48.886753422
2023-01-26 22:28:48.886809252  goroutine 28 [syscall, 1 minutes]:
2023-01-26 22:28:48.886907941  syscall.Syscall6(0x0?, 0x0?, 0x0?, 0x4000105?, 0x0?, 0xffffffffffffffff?, 0xc0002c5f00?)
2023-01-26 22:28:48.886954687   syscall/syscall_linux.go:90 +0x36
2023-01-26 22:28:48.887001574  os.(*Process).blockUntilWaitable(0xc00003e5a0)
2023-01-26 22:28:48.887046930   os/wait_waitid.go:32 +0x87
2023-01-26 22:28:48.887055501  os.(*Process).wait(0xc00003e5a0)
2023-01-26 22:28:48.887101457   os/exec_unix.go:22 +0x28
2023-01-26 22:28:48.887109081  os.(*Process).Wait(...)
2023-01-26 22:28:48.887155294   os/exec.go:132
2023-01-26 22:28:48.887163860  os/exec.(*Cmd).Wait(0xc00014c2c0)
2023-01-26 22:28:48.887209035   os/exec/exec.go:599 +0x4b
2023-01-26 22:28:48.887218587  github.com/AlexxIT/go2rtc/cmd/exec.Handle.func2()
2023-01-26 22:28:48.887265081   github.com/AlexxIT/go2rtc/cmd/exec/exec.go:94 +0x3c
2023-01-26 22:28:48.887274015  created by github.com/AlexxIT/go2rtc/cmd/exec.Handle
2023-01-26 22:28:48.887317303   github.com/AlexxIT/go2rtc/cmd/exec/exec.go:93 +0x5ac
AlexxIT commented 1 year ago
2023-01-26 23:22:49.714867284  fatal error: concurrent map iteration and map write
2023-01-26 23:22:49.714899283
2023-01-26 23:22:49.714907442  goroutine 52 [running]:
2023-01-26 23:22:49.742813139  github.com/AlexxIT/go2rtc/pkg/streamer.(*Track).WriteRTP(0xc0000a8900, 0xc0000a88d0?)
2023-01-26 23:22:49.742829984   github.com/AlexxIT/go2rtc/pkg/streamer/track.go:41 +0xac
2023-01-26 23:22:49.742841173  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0002280e0)
2023-01-26 23:22:49.742851018   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:785 +0x685
2023-01-26 23:22:49.774756063  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0x0?)
2023-01-26 23:22:49.774770156   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:47 +0x94
2023-01-26 23:22:49.774777306  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc000036360, {0xc93440?, 0xc0002280e0?}, 0x1)
2023-01-26 23:22:49.774783294   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-01-26 23:22:49.774791372  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).reconnect
2023-01-26 23:22:49.808710373   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:179 +0x42c
2023-01-26 23:22:49.808985391
2023-01-26 23:22:49.808993766  goroutine 1 [chan receive, 30 minutes]:
2023-01-26 23:22:49.808999371  main.main()
2023-01-26 23:22:49.809005333   github.com/AlexxIT/go2rtc/main.go:56 +0xfd
2023-01-26 23:22:49.809010224
2023-01-26 23:22:49.809015620  goroutine 6 [IO wait, 30 minutes]:
2023-01-26 23:22:49.809058958  internal/poll.runtime_pollWait(0x7f98a1366658, 0x72)
2023-01-26 23:22:49.809095049   runtime/netpoll.go:305 +0x89
2023-01-26 23:22:49.809132759  internal/poll.(*pollDesc).wait(0xc00011f500?, 0x4?, 0x0)
2023-01-26 23:22:49.809180539   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 23:22:49.809226644  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 23:22:49.809232926   internal/poll/fd_poll_runtime.go:89
2023-01-26 23:22:49.809268016  internal/poll.(*FD).Accept(0xc00011f500)
2023-01-26 23:22:49.809308250   internal/poll/fd_unix.go:614 +0x234
2023-01-26 23:22:49.809342360  net.(*netFD).accept(0xc00011f500)
2023-01-26 23:22:49.809382549   net/fd_unix.go:172 +0x35
2023-01-26 23:22:49.809422888  net.(*TCPListener).accept(0xc000010948)
2023-01-26 23:22:49.809460918   net/tcpsock_posix.go:142 +0x28
2023-01-26 23:22:49.809495877  net.(*TCPListener).Accept(0xc000010948)
2023-01-26 23:22:49.809530512   net/tcpsock.go:288 +0x3d
2023-01-26 23:22:49.809590792  net/http.(*Server).Serve(0xc0001ee000, {0xc91a08, 0xc000010948})
2023-01-26 23:22:49.809632749   net/http/server.go:3070 +0x385
2023-01-26 23:22:49.809667892  github.com/AlexxIT/go2rtc/cmd/api.Init.func1()
2023-01-26 23:22:49.809702981   github.com/AlexxIT/go2rtc/cmd/api/api.go:66 +0x32
2023-01-26 23:22:49.809741064  created by github.com/AlexxIT/go2rtc/cmd/api.Init
2023-01-26 23:22:49.809775988   github.com/AlexxIT/go2rtc/cmd/api/api.go:65 +0x43b
2023-01-26 23:22:49.809780890
2023-01-26 23:22:49.809843928  goroutine 7 [IO wait, 1 minutes]:
2023-01-26 23:22:49.809881159  internal/poll.runtime_pollWait(0x7f98a1366568, 0x72)
2023-01-26 23:22:49.809949265   runtime/netpoll.go:305 +0x89
2023-01-26 23:22:49.810015700  internal/poll.(*pollDesc).wait(0xc00011f580?, 0x6?, 0x0)
2023-01-26 23:22:49.810062520   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 23:22:49.810070721  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 23:22:49.810106662   internal/poll/fd_poll_runtime.go:89
2023-01-26 23:22:49.810140798  internal/poll.(*FD).Accept(0xc00011f580)
2023-01-26 23:22:49.810179106   internal/poll/fd_unix.go:614 +0x234
2023-01-26 23:22:49.810212851  net.(*netFD).accept(0xc00011f580)
2023-01-26 23:22:49.810250815   net/fd_unix.go:172 +0x35
2023-01-26 23:22:49.810285787  net.(*TCPListener).accept(0xc0000109d8)
2023-01-26 23:22:49.810320049   net/tcpsock_posix.go:142 +0x28
2023-01-26 23:22:49.810357762  net.(*TCPListener).Accept(0xc0000109d8)
2023-01-26 23:22:49.810391409   net/tcpsock.go:288 +0x3d
2023-01-26 23:22:49.810427764  github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1()
2023-01-26 23:22:49.810464826   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:54 +0x58
2023-01-26 23:22:49.810498806  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init
2023-01-26 23:22:49.810537359   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:52 +0x32a
2023-01-26 23:22:49.810543521
2023-01-26 23:22:49.810591531  goroutine 8 [IO wait, 30 minutes]:
2023-01-26 23:22:49.810630370  internal/poll.runtime_pollWait(0x7f98a1366478, 0x72)
2023-01-26 23:22:49.810889603   runtime/netpoll.go:305 +0x89
2023-01-26 23:22:49.810940169  internal/poll.(*pollDesc).wait(0xc00011f780?, 0xc000222000?, 0x0)
2023-01-26 23:22:49.810977379   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 23:22:49.811035263  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 23:22:49.811041564   internal/poll/fd_poll_runtime.go:89
2023-01-26 23:22:49.811124759  internal/poll.(*FD).ReadFromInet6(0xc00011f780, {0xc000222000, 0x2000, 0x2000}, 0x7f98a1804fff?)
2023-01-26 23:22:49.811164610   internal/poll/fd_unix.go:277 +0x1e5
2023-01-26 23:22:49.811261545  net.(*netFD).readFromInet6(0xc00011f780, {0xc000222000?, 0x0?, 0x0?}, 0x4?)
2023-01-26 23:22:49.811305299   net/fd_posix.go:72 +0x29
2023-01-26 23:22:49.811403824  net.(*UDPConn).readFrom(0xc00005a400?, {0xc000222000?, 0x0?, 0x1010000000000?}, 0xc0002140f0)
2023-01-26 23:22:49.811444131   net/udpsock_posix.go:59 +0x85
2023-01-26 23:22:49.811543707  net.(*UDPConn).readFromUDP(0xc000012880, {0xc000222000?, 0x44f352?, 0x2000?}, 0xa925e0?)
2023-01-26 23:22:49.811584797   net/udpsock.go:149 +0x31
2023-01-26 23:22:49.811660845  net.(*UDPConn).ReadFrom(0x0?, {0xc000222000, 0x2000, 0x2000})
2023-01-26 23:22:49.811704442   net/udpsock.go:158 +0x50
2023-01-26 23:22:49.811741883  github.com/pion/ice/v2.(*UDPMuxDefault).connWorker(0xc00011f800)
2023-01-26 23:22:49.811776569   github.com/pion/ice/v2@v2.2.6/udp_mux.go:239 +0xdb
2023-01-26 23:22:49.811814352  created by github.com/pion/ice/v2.NewUDPMuxDefault
2023-01-26 23:22:49.811850219   github.com/pion/ice/v2@v2.2.6/udp_mux.go:68 +0x1e5
2023-01-26 23:22:49.811855040
2023-01-26 23:22:49.811902053  goroutine 9 [IO wait, 30 minutes]:
2023-01-26 23:22:49.811942649  internal/poll.runtime_pollWait(0x7f98a1366388, 0x72)
2023-01-26 23:22:49.811991525   runtime/netpoll.go:305 +0x89
2023-01-26 23:22:49.812054588  internal/poll.(*pollDesc).wait(0xc00011f880?, 0x0?, 0x0)
2023-01-26 23:22:49.812097406   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 23:22:49.812134694  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 23:22:49.812175724   internal/poll/fd_poll_runtime.go:89
2023-01-26 23:22:49.812183214  internal/poll.(*FD).Accept(0xc00011f880)
2023-01-26 23:22:49.812220834   internal/poll/fd_unix.go:614 +0x234
2023-01-26 23:22:49.812254589  net.(*netFD).accept(0xc00011f880)
2023-01-26 23:22:49.812291655   net/fd_unix.go:172 +0x35
2023-01-26 23:22:49.812325169  net.(*TCPListener).accept(0xc000010b40)
2023-01-26 23:22:49.812361284   net/tcpsock_posix.go:142 +0x28
2023-01-26 23:22:49.812401438  net.(*TCPListener).Accept(0xc000010b40)
2023-01-26 23:22:49.812442718   net/tcpsock.go:288 +0x3d
2023-01-26 23:22:49.812488379  github.com/pion/ice/v2.(*TCPMuxDefault).start(0xc0001b4c00)
2023-01-26 23:22:49.812494540   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:91 +0xdd
2023-01-26 23:22:49.812529844  github.com/pion/ice/v2.NewTCPMuxDefault.func1()
2023-01-26 23:22:49.812567337   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:82 +0x5a
2023-01-26 23:22:49.812602408  created by github.com/pion/ice/v2.NewTCPMuxDefault
2023-01-26 23:22:49.812641163   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:80 +0x1a5
2023-01-26 23:22:49.812645996
2023-01-26 23:22:49.812688743  goroutine 10 [IO wait, 30 minutes]:
2023-01-26 23:22:49.812728252  internal/poll.runtime_pollWait(0x7f98a1366298, 0x72)
2023-01-26 23:22:49.812765321   runtime/netpoll.go:305 +0x89
2023-01-26 23:22:49.812837765  internal/poll.(*pollDesc).wait(0xc00011fa00?, 0xc0000a6000?, 0x0)
2023-01-26 23:22:49.812877033   internal/poll/fd_poll_runtime.go:84 +0x32
2023-01-26 23:22:49.812913462  internal/poll.(*pollDesc).waitRead(...)
2023-01-26 23:22:49.812919459   internal/poll/fd_poll_runtime.go:89
2023-01-26 23:22:49.813016339  internal/poll.(*FD).ReadFromInet6(0xc00011fa00, {0xc0000a6000, 0x800, 0x800}, 0x7f98a1804fff?)
2023-01-26 23:22:49.813058027   internal/poll/fd_unix.go:277 +0x1e5
2023-01-26 23:22:49.813156707  net.(*netFD).readFromInet6(0xc00011fa00, {0xc0000a6000?, 0x0?, 0x4170cb?}, 0x1?)
2023-01-26 23:22:49.813211022   net/fd_posix.go:72 +0x29
2023-01-26 23:22:49.813301528  net.(*UDPConn).readFrom(0xc000088000?, {0xc0000a6000?, 0x0?, 0x1010000000000?}, 0xc0000a8000)
2023-01-26 23:22:49.813342469   net/udpsock_posix.go:59 +0x85
2023-01-26 23:22:49.813441151  net.(*UDPConn).readFromUDP(0xc0000128d0, {0xc0000a6000?, 0x44f352?, 0x800?}, 0xa925e0?)
2023-01-26 23:22:49.813481216   net/udpsock.go:149 +0x31
2023-01-26 23:22:49.813552536  net.(*UDPConn).ReadFrom(0x18?, {0xc0000a6000, 0x800, 0x800})
2023-01-26 23:22:49.813594669   net/udpsock.go:158 +0x50
2023-01-26 23:22:49.813666804  github.com/AlexxIT/go2rtc/pkg/srtp.(*Server).Serve(0xc0000a4000, {0xc958e0?, 0xc0000128d0})
2023-01-26 23:22:49.813709560   github.com/AlexxIT/go2rtc/pkg/srtp/server.go:41 +0x82
2023-01-26 23:22:49.813717622  github.com/AlexxIT/go2rtc/cmd/srtp.Init.func1()
2023-01-26 23:22:49.813863620   github.com/AlexxIT/go2rtc/cmd/srtp/srtp.go:39 +0x85
2023-01-26 23:22:49.814154411  created by github.com/AlexxIT/go2rtc/cmd/srtp.Init
2023-01-26 23:22:49.814167178   github.com/AlexxIT/go2rtc/cmd/srtp/srtp.go:37 +0x28f
2023-01-26 23:22:49.814175083
2023-01-26 23:22:49.814182414  goroutine 12 [syscall, 30 minutes]:
2023-01-26 23:22:49.814191375  os/signal.signal_recv()
2023-01-26 23:22:49.814199342   runtime/sigqueue.go:152 +0x2f
2023-01-26 23:22:49.814207568  os/signal.loop()
2023-01-26 23:22:49.814216772   os/signal/signal_unix.go:23 +0x19
2023-01-26 23:22:49.814225372  created by os/signal.Notify.func1.1
2023-01-26 23:22:49.814233471   os/signal/signal.go:151 +0x2a
2023-01-26 23:22:49.814292990
2023-01-26 23:22:49.814301616  goroutine 17 [runnable]:
2023-01-26 23:22:49.814308422  sync.(*RWMutex).Unlock(0xc0000d0090)
2023-01-26 23:22:49.814317203   sync/rwmutex.go:198 +0xad
2023-01-26 23:22:49.814327231  github.com/AlexxIT/go2rtc/pkg/streamer.(*Track).Unbind(0xc0000a8780)
2023-01-26 23:22:49.814376932   github.com/AlexxIT/go2rtc/pkg/streamer/track.go:66 +0x4b
2023-01-26 23:22:49.814387669  github.com/AlexxIT/go2rtc/cmd/streams.(*Stream).RemoveConsumer(0xc0001b4380, {0xc90e08?, 0xc000228000})
2023-01-26 23:22:49.814447933   github.com/AlexxIT/go2rtc/cmd/streams/stream.go:136 +0x15b
2023-01-26 23:22:49.814457378  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler.func1.1()
2023-01-26 23:22:49.814505188   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:173 +0x28
2023-01-26 23:22:49.814514803  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc000228000)
2023-01-26 23:22:49.814562125   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:222 +0x323
2023-01-26 23:22:49.814572176  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-01-26 23:22:49.814730033   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:64 +0x48
2023-01-26 23:22:49.814738876
2023-01-26 23:22:49.814747682  goroutine 50 [syscall, 1 minutes]:
2023-01-26 23:22:49.814807845  syscall.Syscall6(0x0?, 0x0?, 0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
2023-01-26 23:22:49.814854138   syscall/syscall_linux.go:90 +0x36
2023-01-26 23:22:49.814863017  os.(*Process).blockUntilWaitable(0xc00003e420)
2023-01-26 23:22:49.814909541   os/wait_waitid.go:32 +0x87
2023-01-26 23:22:49.815046386  os.(*Process).wait(0xc00003e420)
2023-01-26 23:22:49.815055677   os/exec_unix.go:22 +0x28
2023-01-26 23:22:49.815061853  os.(*Process).Wait(...)
2023-01-26 23:22:49.815069746   os/exec.go:132
2023-01-26 23:22:49.815078695  os/exec.(*Cmd).Wait(0xc00014c2c0)
2023-01-26 23:22:49.815198087   os/exec/exec.go:599 +0x4b
2023-01-26 23:22:49.815206337  github.com/AlexxIT/go2rtc/cmd/exec.Handle.func2()
2023-01-26 23:22:49.815214581   github.com/AlexxIT/go2rtc/cmd/exec/exec.go:94 +0x3c
2023-01-26 23:22:49.815222200  created by github.com/AlexxIT/go2rtc/cmd/exec.Handle
2023-01-26 23:22:49.815230205   github.com/AlexxIT/go2rtc/cmd/exec/exec.go:93 +0x5ac
jmtatsch commented 1 year ago

Same error here but after just a few minutes.

bagobones commented 1 year ago

FYI this may be related to bad camera inputs or at least exasperated by them. I was switching back and forth with some troubled cameras (wyse and tapo) and had this error again within less than an hour of having frigate pull the streams from go2rtc from the bad cameras.

jmtatsch commented 1 year ago

I also have two Tapo cameras and 2 hacked Dafang cameras (the same hardware as wyze cam 2 ). There are a lot of RTSP wrong input errors, maybe misconfiguration on my part?

2023-02-04 22:20:45.094876943  22:20:45.094 INF go2rtc version 1.1.1 linux/amd64
2023-02-04 22:20:45.095176985  22:20:45.095 INF [api] listen addr=:1984
2023-02-04 22:20:45.095659660  22:20:45.095 INF [rtsp] listen addr=:8554
2023-02-04 22:20:45.096198164  22:20:45.096 INF [srtp] listen addr=:8443
2023-02-04 22:20:45.096493141  22:20:45.096 INF [webrtc] listen addr=:8555
2023-02-04 22:20:51.765839464  22:20:51.765 ERR github.com/AlexxIT/go2rtc/cmd/streams/producer.go:52 > error="exec: exit status 1" url=ffmpeg:vorne_1#audio=opus#async
2023-02-04 22:20:53.655309417  22:20:53.655 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:20:57.084456268  22:20:57.084 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:00.952416467  22:21:00.952 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:02.843639076  22:21:02.843 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:05.893066158  22:21:05.892 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:07.931305850  22:21:07.930 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:10.301650797  22:21:10.301 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:13.326249414  22:21:13.320 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:14.984538952  22:21:14.984 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:17.302398267  22:21:17.302 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:19.747543544  22:21:19.747 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:20.511214945  22:21:20.510 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:23.169842745  22:21:23.169 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:24.889333390  22:21:24.888 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:28.291057636  22:21:28.290 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:30.563159373  22:21:30.563 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:33.028977440  22:21:33.028 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:35.309997900  22:21:35.309 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:38.127984161  22:21:38.127 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:39.858810811  22:21:39.858 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:42.446981528  22:21:42.446 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:45.716143460  22:21:45.715 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
2023-02-04 22:21:49.973411790  22:21:49.973 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://192.168.179.56:8554/unicast
go2rtc:
  streams:
    # first two cams are like wyze2
    vorne_1:
      - rtsp://192.168.179.59:8554/unicast
      - "ffmpeg:vorne_1#audio=opus#async"
    seite_1:
      - rtsp://192.168.179.56:8554/unicast
      - "ffmpeg:seite_1#audio=opus#async"
    seite_2: 
      - "ffmpeg:http://192.168.179.48:8081#video=h264#hardware" # <- use hardware acceleration to recode mjpg to a h264 stream usable for other components.
    hinten_1: rtsp://192.168.179.44:8554/
    # tapo cams produce a pcma audio stream
    hinten_2:
      - rtsp://{FRIGATE_TAPO_RTSP_CREDENTIALS}@192.168.179.101:554/stream1
      - "ffmpeg:hinten_2#audio=opus#async"
    gartenhaus:
      - rtsp://{FRIGATE_TAPO_RTSP_CREDENTIALS}@192.168.179.83:554/stream1
      - "ffmpeg:gartenhaus#audio=opus#async"
    dahua_1:
      - rtsp://{FRIGATE_DAHUA_RTSP_CREDENTIALS}@192.168.179.87:554/cam/realmonitor?channel=1&subtype=0
      - "ffmpeg:dahua_1#audio=opus#async"
    dahua_1_sub: rtsp://{FRIGATE_DAHUA_RTSP_CREDENTIALS}@192.168.179.87:554/cam/realmonitor?channel=1&subtype=2
    dahua_2:
      - rtsp://{FRIGATE_DAHUA_RTSP_CREDENTIALS}@192.168.179.88:554/cam/realmonitor?channel=1&subtype=0
      - "ffmpeg:dahua_2#audio=opus#async"
    dahua_2_sub: rtsp://{FRIGATE_DAHUA_RTSP_CREDENTIALS}@192.168.179.88:554/cam/realmonitor?channel=1&subtype=2
AlexxIT commented 1 year ago

Wrong input is another issue. This means that the camera is sending garbage instead of data. This usually happens with cameras that are garbage.

jmtatsch commented 1 year ago

Issue is still present with 1.1.2

2023-02-12 15:29:25.066449660  15:29:25.066 INF go2rtc version 1.1.2 linux/amd64
2023-02-12 15:29:25.066732669  15:29:25.066 INF [api] listen addr=:1984
2023-02-12 15:29:25.067160536  15:29:25.067 INF [rtsp] listen addr=:8554
2023-02-12 15:29:25.067651988  15:29:25.067 INF [srtp] listen addr=:8443
2023-02-12 15:29:25.067934415  15:29:25.067 INF [webrtc] listen addr=:8555
2023-02-12 15:30:22.181862064  15:30:22.181 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="read tcp 172.18.0.2:56544->192.168.179.56:8554: i/o timeout" url=rtsp://192.168.179.56:8554/unicast
2023-02-12 15:30:56.022968090  15:30:56.022 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="read tcp 127.0.0.1:8554->127.0.0.1:40742: i/o timeout" url=ffmpeg:hinten_2#audio=opus#async
2023-02-12 15:30:56.855812808  15:30:56.024 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="read tcp 127.0.0.1:8554->127.0.0.1:40740: i/o timeout" url=ffmpeg:gartenhaus#audio=opus#async
2023-02-12 15:30:56.855817372  15:30:56.634 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="read tcp 127.0.0.1:8554->127.0.0.1:40736: i/o timeout" url=ffmpeg:dahua_2#audio=opus#async
2023-02-12 15:30:56.855824158  15:30:56.661 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="read tcp 127.0.0.1:8554->127.0.0.1:40738: i/o timeout" url=ffmpeg:dahua_1#audio=opus#async
2023-02-12 15:31:06.676330240  fatal error: concurrent map iteration and map write
2023-02-12 15:31:06.676335268  
2023-02-12 15:31:06.676336998  goroutine 77 [running]:
2023-02-12 15:31:06.676339003  github.com/AlexxIT/go2rtc/pkg/streamer.(*Track).WriteRTP(0xc000302930, 0xc000302960?)
2023-02-12 15:31:06.676340811   github.com/AlexxIT/go2rtc/pkg/streamer/track.go:41 +0x8d
2023-02-12 15:31:06.676342630  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000316960)
2023-02-12 15:31:06.676344327   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:837 +0x95b
2023-02-12 15:31:06.676346047  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0xc000316960?)
2023-02-12 15:31:06.676347737   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:66 +0x94
2023-02-12 15:31:06.676350721  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc000176360, {0xc9c280?, 0xc000316960?}, 0x1)
2023-02-12 15:31:06.676353807   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-12 15:31:06.676355703  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).reconnect
2023-02-12 15:31:06.676368327   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:179 +0x42c
2023-02-12 15:31:06.676369741  
2023-02-12 15:31:06.676371156  goroutine 1 [chan receive]:
2023-02-12 15:31:06.676386780  main.main()
2023-02-12 15:31:06.676388654   github.com/AlexxIT/go2rtc/main.go:55 +0xfd
2023-02-12 15:31:06.676389836  
2023-02-12 15:31:06.676391239  goroutine 6 [IO wait]:
2023-02-12 15:31:06.676393094  internal/poll.runtime_pollWait(0x7f5edf318718, 0x72)
2023-02-12 15:31:06.676394571   runtime/netpoll.go:305 +0x89
2023-02-12 15:31:06.676396224  internal/poll.(*pollDesc).wait(0xc000123600?, 0x4?, 0x0)
2023-02-12 15:31:06.676397836   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-12 15:31:06.676399360  internal/poll.(*pollDesc).waitRead(...)
2023-02-12 15:31:06.676400886   internal/poll/fd_poll_runtime.go:89
2023-02-12 15:31:06.676402442  internal/poll.(*FD).Accept(0xc000123600)
2023-02-12 15:31:06.676413968   internal/poll/fd_unix.go:614 +0x234
2023-02-12 15:31:06.676415676  net.(*netFD).accept(0xc000123600)
2023-02-12 15:31:06.676417089   net/fd_unix.go:172 +0x35
2023-02-12 15:31:06.676418595  net.(*TCPListener).accept(0xc0000108a0)
2023-02-12 15:31:06.676420201   net/tcpsock_posix.go:142 +0x28
2023-02-12 15:31:06.676421663  net.(*TCPListener).Accept(0xc0000108a0)
2023-02-12 15:31:06.676423043   net/tcpsock.go:288 +0x3d
2023-02-12 15:31:06.676424753  net/http.(*Server).Serve(0xc0001f8000, {0xc9a848, 0xc0000108a0})
2023-02-12 15:31:06.676426184   net/http/server.go:3070 +0x385
2023-02-12 15:31:06.676437128  github.com/AlexxIT/go2rtc/cmd/api.Init.func1()
2023-02-12 15:31:06.676439071   github.com/AlexxIT/go2rtc/cmd/api/api.go:73 +0x32
2023-02-12 15:31:06.676440640  created by github.com/AlexxIT/go2rtc/cmd/api.Init
2023-02-12 15:31:06.676442179   github.com/AlexxIT/go2rtc/cmd/api/api.go:72 +0x47d
2023-02-12 15:31:06.676443404  
2023-02-12 15:31:06.676445032  goroutine 7 [IO wait]:
2023-02-12 15:31:06.676446666  internal/poll.runtime_pollWait(0x7f5edf318628, 0x72)
2023-02-12 15:31:06.676448133   runtime/netpoll.go:305 +0x89
2023-02-12 15:31:06.676449753  internal/poll.(*pollDesc).wait(0xc000123780?, 0x6?, 0x0)
2023-02-12 15:31:06.676451284   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-12 15:31:06.676452792  internal/poll.(*pollDesc).waitRead(...)
2023-02-12 15:31:06.676454379   internal/poll/fd_poll_runtime.go:89
2023-02-12 15:31:06.676455859  internal/poll.(*FD).Accept(0xc000123780)
2023-02-12 15:31:06.676457314   internal/poll/fd_unix.go:614 +0x234
2023-02-12 15:31:06.676458764  net.(*netFD).accept(0xc000123780)
2023-02-12 15:31:06.676460153   net/fd_unix.go:172 +0x35
2023-02-12 15:31:06.676461651  net.(*TCPListener).accept(0xc000010ba0)
2023-02-12 15:31:06.676463063   net/tcpsock_posix.go:142 +0x28
2023-02-12 15:31:06.676480248  net.(*TCPListener).Accept(0xc000010ba0)
2023-02-12 15:31:06.676481936   net/tcpsock.go:288 +0x3d
2023-02-12 15:31:06.676483478  github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1()
2023-02-12 15:31:06.676485047   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:62 +0x58
2023-02-12 15:31:06.676486655  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init
2023-02-12 15:31:06.676488248   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:60 +0x413

Let me know if you need more logs or I can be of help somehow.

bagobones commented 1 year ago

Frigate beta 8 go2rtc version 1.1.2

Things had been running smoothly for over a day.. This failure killed all video input in frigate with no auto recovery.

Of note this was after a restart from small configuration changes to adjust zone lines in frigate, no major changes to streams / cameras.

2023-02-13 13:11:02.510061566  13:11:02.509 INF go2rtc version 1.1.2 linux/amd64
2023-02-13 13:11:02.512285124  13:11:02.510 INF [api] listen addr=:1984
2023-02-13 13:11:02.512289945  13:11:02.510 INF [rtsp] listen addr=:8554
2023-02-13 13:11:02.512295445  13:11:02.511 INF [srtp] listen addr=:8443
2023-02-13 13:11:02.512299259  13:11:02.511 INF [webrtc] listen addr=:8555
2023-02-13 13:16:46.634163105  13:16:46.633 WRN github.com/AlexxIT/go2rtc/cmd/streams/producer.go:132 > error="RTSP wrong input" url=rtsp://tapo_admin:*********@192.168.103.45/stream1
2023-02-13 13:17:34.025206827  fatal error: concurrent map iteration and map write
2023-02-13 13:17:34.217523611  
2023-02-13 13:17:34.217528439  goroutine 84 [running]:
2023-02-13 13:17:34.217549483  github.com/AlexxIT/go2rtc/pkg/streamer.(*Track).WriteRTP(0xc0001aca50, 0xc0001acab0?)
2023-02-13 13:17:34.217551740   github.com/AlexxIT/go2rtc/pkg/streamer/track.go:41 +0x8d
2023-02-13 13:17:34.217553903  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000350780)
2023-02-13 13:17:34.217555967   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:837 +0x95b
2023-02-13 13:17:34.245478148  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0xc000350780?)
2023-02-13 13:17:34.261168532   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:66 +0x94
2023-02-13 13:17:34.261174182  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a8870, {0xc9c280?, 0xc000350780?}, 0x1)
2023-02-13 13:17:34.261177997   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.261180949  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).reconnect
2023-02-13 13:17:34.261201143   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:179 +0x42c
2023-02-13 13:17:34.261203410  
2023-02-13 13:17:34.261206188  goroutine 1 [chan receive, 6 minutes]:
2023-02-13 13:17:34.261208239  main.main()
2023-02-13 13:17:34.261210679   github.com/AlexxIT/go2rtc/main.go:55 +0xfd
2023-02-13 13:17:34.261223699  
2023-02-13 13:17:34.261226072  goroutine 18 [IO wait, 6 minutes]:
2023-02-13 13:17:34.261228610  internal/poll.runtime_pollWait(0x7f82187d6900, 0x72)
2023-02-13 13:17:34.261231122   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.261253286  internal/poll.(*pollDesc).wait(0xc000147700?, 0x400000?, 0x0)
2023-02-13 13:17:34.261255789   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.261258155  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.261260469   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.261262755  internal/poll.(*FD).Accept(0xc000147700)
2023-02-13 13:17:34.261265052   internal/poll/fd_unix.go:614 +0x234
2023-02-13 13:17:34.261267306  net.(*netFD).accept(0xc000147700)
2023-02-13 13:17:34.261269489   net/fd_unix.go:172 +0x35
2023-02-13 13:17:34.261271802  net.(*TCPListener).accept(0xc0001288b8)
2023-02-13 13:17:34.261274043   net/tcpsock_posix.go:142 +0x28
2023-02-13 13:17:34.261276321  net.(*TCPListener).Accept(0xc0001288b8)
2023-02-13 13:17:34.261278482   net/tcpsock.go:288 +0x3d
2023-02-13 13:17:34.276605280  net/http.(*Server).Serve(0xc000230000, {0xc9a848, 0xc0001288b8})
2023-02-13 13:17:34.276642253   net/http/server.go:3070 +0x385
2023-02-13 13:17:34.276647959  github.com/AlexxIT/go2rtc/cmd/api.Init.func1()
2023-02-13 13:17:34.276673036   github.com/AlexxIT/go2rtc/cmd/api/api.go:73 +0x32
2023-02-13 13:17:34.276678330  created by github.com/AlexxIT/go2rtc/cmd/api.Init
2023-02-13 13:17:34.276702469   github.com/AlexxIT/go2rtc/cmd/api/api.go:72 +0x47d
2023-02-13 13:17:34.276706321  
2023-02-13 13:17:34.276726797  goroutine 19 [IO wait, 6 minutes]:
2023-02-13 13:17:34.276752238  internal/poll.runtime_pollWait(0x7f82187d6810, 0x72)
2023-02-13 13:17:34.276756752   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.276789920  internal/poll.(*pollDesc).wait(0xc000147980?, 0x6?, 0x0)
2023-02-13 13:17:34.276813390   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.276818776  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.276841627   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.276847650  internal/poll.(*FD).Accept(0xc000147980)
2023-02-13 13:17:34.276885197   internal/poll/fd_unix.go:614 +0x234
2023-02-13 13:17:34.276889977  net.(*netFD).accept(0xc000147980)
2023-02-13 13:17:34.276915753   net/fd_unix.go:172 +0x35
2023-02-13 13:17:34.276920518  net.(*TCPListener).accept(0xc000128c78)
2023-02-13 13:17:34.276945753   net/tcpsock_posix.go:142 +0x28
2023-02-13 13:17:34.276950363  net.(*TCPListener).Accept(0xc000128c78)
2023-02-13 13:17:34.276975393   net/tcpsock.go:288 +0x3d
2023-02-13 13:17:34.276980896  github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1()
2023-02-13 13:17:34.277004151   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:62 +0x58
2023-02-13 13:17:34.277008932  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init
2023-02-13 13:17:34.277036367   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:60 +0x413
2023-02-13 13:17:34.289463972  
2023-02-13 13:17:34.289469374  goroutine 20 [IO wait, 6 minutes]:
2023-02-13 13:17:34.289500043  internal/poll.runtime_pollWait(0x7f82187d6720, 0x72)
2023-02-13 13:17:34.289524609   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.289550646  internal/poll.(*pollDesc).wait(0xc000147d80?, 0xc0000a0000?, 0x0)
2023-02-13 13:17:34.289569585   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.301081520  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.301090723   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.301125503  internal/poll.(*FD).ReadFromInet6(0xc000147d80, {0xc0000a0000, 0x800, 0x800}, 0x7f8218cbafff?)
2023-02-13 13:17:34.301146539   internal/poll/fd_unix.go:277 +0x1e5
2023-02-13 13:17:34.301180427  net.(*netFD).readFromInet6(0xc000147d80, {0xc0000a0000?, 0x0?, 0x0?}, 0x4?)
2023-02-13 13:17:34.301200219   net/fd_posix.go:72 +0x29
2023-02-13 13:17:34.301233380  net.(*UDPConn).readFrom(0xc00006a800?, {0xc0000a0000?, 0x0?, 0x1010000000000?}, 0xc00009c0f0)
2023-02-13 13:17:34.301252933   net/udpsock_posix.go:59 +0x85
2023-02-13 13:17:34.301279803  net.(*UDPConn).readFromUDP(0xc00012ea70, {0xc0000a0000?, 0x44f352?, 0x800?}, 0xa9c240?)
2023-02-13 13:17:34.301299025   net/udpsock.go:149 +0x31
2023-02-13 13:17:34.301325378  net.(*UDPConn).ReadFrom(0x18?, {0xc0000a0000, 0x800, 0x800})
2023-02-13 13:17:34.301344639   net/udpsock.go:158 +0x50
2023-02-13 13:17:34.313671667  github.com/AlexxIT/go2rtc/pkg/srtp.(*Server).Serve(0xc000010018, {0xc9e780?, 0xc00012ea70})
2023-02-13 13:17:34.313680859   github.com/AlexxIT/go2rtc/pkg/srtp/server.go:41 +0x82
2023-02-13 13:17:34.317021368  github.com/AlexxIT/go2rtc/cmd/srtp.Init.func1()
2023-02-13 13:17:34.317044486   github.com/AlexxIT/go2rtc/cmd/srtp/srtp.go:39 +0x85
2023-02-13 13:17:34.317049091  created by github.com/AlexxIT/go2rtc/cmd/srtp.Init
2023-02-13 13:17:34.317070979   github.com/AlexxIT/go2rtc/cmd/srtp/srtp.go:37 +0x28f
2023-02-13 13:17:34.351063929  
2023-02-13 13:17:34.363554112  goroutine 21 [IO wait, 6 minutes]:
2023-02-13 13:17:34.363558761  internal/poll.runtime_pollWait(0x7f82187d6630, 0x72)
2023-02-13 13:17:34.363562480   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.363566483  internal/poll.(*pollDesc).wait(0xc000288000?, 0xc0002ae000?, 0x0)
2023-02-13 13:17:34.363570024   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.363573451  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.363576701   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.363580872  internal/poll.(*FD).ReadFromInet6(0xc000288000, {0xc0002ae000, 0x2000, 0x2000}, 0x7f8218cbafff?)
2023-02-13 13:17:34.363584169   internal/poll/fd_unix.go:277 +0x1e5
2023-02-13 13:17:34.363587991  net.(*netFD).readFromInet6(0xc000288000, {0xc0002ae000?, 0x0?, 0x0?}, 0x1?)
2023-02-13 13:17:34.363591161   net/fd_posix.go:72 +0x29
2023-02-13 13:17:34.363595246  net.(*UDPConn).readFrom(0xc000245c00?, {0xc0002ae000?, 0x0?, 0x1010000000000?}, 0xc00029c060)
2023-02-13 13:17:34.363598351   net/udpsock_posix.go:59 +0x85
2023-02-13 13:17:34.363603051  net.(*UDPConn).readFromUDP(0xc00012eb10, {0xc0002ae000?, 0x44f352?, 0x2000?}, 0xa9c240?)
2023-02-13 13:17:34.363606490   net/udpsock.go:149 +0x31
2023-02-13 13:17:34.363610984  net.(*UDPConn).ReadFrom(0x0?, {0xc0002ae000, 0x2000, 0x2000})
2023-02-13 13:17:34.363614969   net/udpsock.go:158 +0x50
2023-02-13 13:17:34.363652653  github.com/pion/ice/v2.(*UDPMuxDefault).connWorker(0xc000288080)
2023-02-13 13:17:34.363656483   github.com/pion/ice/v2@v2.2.6/udp_mux.go:239 +0xdb
2023-02-13 13:17:34.363659907  created by github.com/pion/ice/v2.NewUDPMuxDefault
2023-02-13 13:17:34.377212988   github.com/pion/ice/v2@v2.2.6/udp_mux.go:68 +0x1e5
2023-02-13 13:17:34.388163499  
2023-02-13 13:17:34.388185776  goroutine 22 [IO wait, 6 minutes]:
2023-02-13 13:17:34.388204758  internal/poll.runtime_pollWait(0x7f82187d6540, 0x72)
2023-02-13 13:17:34.388220710   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.388236436  internal/poll.(*pollDesc).wait(0xc000288180?, 0x0?, 0x0)
2023-02-13 13:17:34.388251538   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.388254795  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.388269953   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.388273259  internal/poll.(*FD).Accept(0xc000288180)
2023-02-13 13:17:34.388288265   internal/poll/fd_unix.go:614 +0x234
2023-02-13 13:17:34.388303557  net.(*netFD).accept(0xc000288180)
2023-02-13 13:17:34.388318480   net/fd_unix.go:172 +0x35
2023-02-13 13:17:34.388321679  net.(*TCPListener).accept(0xc000128e58)
2023-02-13 13:17:34.388336666   net/tcpsock_posix.go:142 +0x28
2023-02-13 13:17:34.388351817  net.(*TCPListener).Accept(0xc000128e58)
2023-02-13 13:17:34.388354860   net/tcpsock.go:288 +0x3d
2023-02-13 13:17:34.388370146  github.com/pion/ice/v2.(*TCPMuxDefault).start(0xc0001ed000)
2023-02-13 13:17:34.388385233   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:91 +0xdd
2023-02-13 13:17:34.388388542  github.com/pion/ice/v2.NewTCPMuxDefault.func1()
2023-02-13 13:17:34.388404005   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:82 +0x5a
2023-02-13 13:17:34.388407367  created by github.com/pion/ice/v2.NewTCPMuxDefault
2023-02-13 13:17:34.388422609   github.com/pion/ice/v2@v2.2.6/tcp_mux.go:80 +0x1a5
2023-02-13 13:17:34.401532188  
2023-02-13 13:17:34.401539458  goroutine 24 [syscall, 6 minutes]:
2023-02-13 13:17:34.401560779  os/signal.signal_recv()
2023-02-13 13:17:34.401564478   runtime/sigqueue.go:152 +0x2f
2023-02-13 13:17:34.401567601  os/signal.loop()
2023-02-13 13:17:34.401583186   os/signal/signal_unix.go:23 +0x19
2023-02-13 13:17:34.401586483  created by os/signal.Notify.func1.1
2023-02-13 13:17:34.416014527   os/signal/signal.go:151 +0x2a
2023-02-13 13:17:34.443358046  
2023-02-13 13:17:34.443388981  goroutine 25 [IO wait]:
2023-02-13 13:17:34.443393476  internal/poll.runtime_pollWait(0x7f82187d6450, 0x72)
2023-02-13 13:17:34.443396321   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.443399446  internal/poll.(*pollDesc).wait(0xc000288380?, 0xc0002b0000?, 0x0)
2023-02-13 13:17:34.443402222   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.443404886  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.443407488   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.443410550  internal/poll.(*FD).Read(0xc000288380, {0xc0002b0000, 0x1000, 0x1000})
2023-02-13 13:17:34.443413080   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.443416031  net.(*netFD).Read(0xc000288380, {0xc0002b0000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.443418354   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.443421239  net.(*conn).Read(0xc00012eba0, {0xc0002b0000?, 0xc000288380?, 0x0?})
2023-02-13 13:17:34.443423590   net/net.go:183 +0x45
2023-02-13 13:17:34.498118176  bufio.(*Reader).fill(0xc000130f60)
2023-02-13 13:17:34.506568314   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.506571996  bufio.(*Reader).Peek(0xc000130f60, 0x4)
2023-02-13 13:17:34.506574172   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.506576665  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0002300f0)
2023-02-13 13:17:34.506578977   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.506581319  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0002300f0)
2023-02-13 13:17:34.506583583   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.506585832  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.506588065   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.506589870  
2023-02-13 13:17:34.506591881  goroutine 28 [IO wait]:
2023-02-13 13:17:34.506594119  internal/poll.runtime_pollWait(0x7f82187d5eb0, 0x72)
2023-02-13 13:17:34.506596195   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.506598569  internal/poll.(*pollDesc).wait(0xc000288500?, 0xc0002b4000?, 0x0)
2023-02-13 13:17:34.506600734   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.506602877  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.506604962   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.506607369  internal/poll.(*FD).Read(0xc000288500, {0xc0002b4000, 0x1000, 0x1000})
2023-02-13 13:17:34.506609492   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.506611777  net.(*netFD).Read(0xc000288500, {0xc0002b4000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.506614346   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.506616713  net.(*conn).Read(0xc00012ebf0, {0xc0002b4000?, 0xc000288500?, 0x0?})
2023-02-13 13:17:34.506618596   net/net.go:183 +0x45
2023-02-13 13:17:34.506643464  bufio.(*Reader).fill(0xc000131140)
2023-02-13 13:17:34.506645626   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.506647779  bufio.(*Reader).Peek(0xc000131140, 0x4)
2023-02-13 13:17:34.506649716   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.506652238  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0002303c0)
2023-02-13 13:17:34.506654476   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.506656867  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0002303c0)
2023-02-13 13:17:34.506659208   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.506661428  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.506663631   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.506665321  
2023-02-13 13:17:34.506667300  goroutine 26 [IO wait]:
2023-02-13 13:17:34.506685076  internal/poll.runtime_pollWait(0x7f82187d6270, 0x72)
2023-02-13 13:17:34.506687249   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.506689618  internal/poll.(*pollDesc).wait(0xc000288400?, 0xc0002b1000?, 0x0)
2023-02-13 13:17:34.506691815   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.506693948  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.506696296   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.506698704  internal/poll.(*FD).Read(0xc000288400, {0xc0002b1000, 0x1000, 0x1000})
2023-02-13 13:17:34.506700756   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.506703070  net.(*netFD).Read(0xc000288400, {0xc0002b1000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.506705020   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.506707541  net.(*conn).Read(0xc00012ebb8, {0xc0002b1000?, 0xc000288400?, 0x0?})
2023-02-13 13:17:34.506709430   net/net.go:183 +0x45
2023-02-13 13:17:34.506711559  bufio.(*Reader).fill(0xc000130fc0)
2023-02-13 13:17:34.506713516   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.506715633  bufio.(*Reader).Peek(0xc000130fc0, 0x4)
2023-02-13 13:17:34.506717584   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.506719893  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0002301e0)
2023-02-13 13:17:34.506738632   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.506741040  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0002301e0)
2023-02-13 13:17:34.506743275   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.506745537  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.506747726   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.506749383  
2023-02-13 13:17:34.506751299  goroutine 66 [sleep]:
2023-02-13 13:17:34.506753451  time.Sleep(0x5d21dba00)
2023-02-13 13:17:34.506755435   runtime/time.go:195 +0x135
2023-02-13 13:17:34.506778618  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).keepalive(0xc0003500f0)
2023-02-13 13:17:34.506781027   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:862 +0x70
2023-02-13 13:17:34.506783408  created by github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle
2023-02-13 13:17:34.506785624   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:719 +0x2fe
2023-02-13 13:17:34.527487582  
2023-02-13 13:17:34.656136494  goroutine 38 [select, 6 minutes]:
2023-02-13 13:17:34.656145257  net/http.(*persistConn).readLoop(0xc000352120)
2023-02-13 13:17:34.656148954   net/http/transport.go:2213 +0xd85
2023-02-13 13:17:34.656152542  created by net/http.(*Transport).dialConn
2023-02-13 13:17:34.656188805   net/http/transport.go:1751 +0x173e
2023-02-13 13:17:34.656191856  
2023-02-13 13:17:34.656194902  goroutine 27 [IO wait]:
2023-02-13 13:17:34.656198357  internal/poll.runtime_pollWait(0x7f82187d6090, 0x72)
2023-02-13 13:17:34.656201498   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.656205124  internal/poll.(*pollDesc).wait(0xc000288480?, 0xc0002b2000?, 0x0)
2023-02-13 13:17:34.656208434   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.656211755  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.656214949   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.656218570  internal/poll.(*FD).Read(0xc000288480, {0xc0002b2000, 0x1000, 0x1000})
2023-02-13 13:17:34.656221866   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.656225452  net.(*netFD).Read(0xc000288480, {0xc0002b2000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.656228526   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.656232042  net.(*conn).Read(0xc00012ebd0, {0xc0002b2000?, 0xc000288480?, 0x0?})
2023-02-13 13:17:34.656234948   net/net.go:183 +0x45
2023-02-13 13:17:34.656238024  bufio.(*Reader).fill(0xc000131020)
2023-02-13 13:17:34.656241054   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.656244154  bufio.(*Reader).Peek(0xc000131020, 0x4)
2023-02-13 13:17:34.656247105   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.656250468  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0002302d0)
2023-02-13 13:17:34.656253806   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.656257238  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0002302d0)
2023-02-13 13:17:34.656260553   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.656263900  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.656267338   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.656269970  
2023-02-13 13:17:34.656273070  goroutine 39 [select, 6 minutes]:
2023-02-13 13:17:34.656276272  net/http.(*persistConn).writeLoop(0xc000352120)
2023-02-13 13:17:34.656279357   net/http/transport.go:2392 +0xf5
2023-02-13 13:17:34.656282486  created by net/http.(*Transport).dialConn
2023-02-13 13:17:34.656285556   net/http/transport.go:1752 +0x1791
2023-02-13 13:17:34.656288264  
2023-02-13 13:17:34.656291372  goroutine 42 [select, 6 minutes]:
2023-02-13 13:17:34.656294543  net/http.(*persistConn).readLoop(0xc000352240)
2023-02-13 13:17:34.656297561   net/http/transport.go:2213 +0xd85
2023-02-13 13:17:34.656300704  created by net/http.(*Transport).dialConn
2023-02-13 13:17:34.656303806   net/http/transport.go:1751 +0x173e
2023-02-13 13:17:34.656306551  
2023-02-13 13:17:34.656309681  goroutine 43 [select, 6 minutes]:
2023-02-13 13:17:34.656313033  net/http.(*persistConn).writeLoop(0xc000352240)
2023-02-13 13:17:34.656316145   net/http/transport.go:2392 +0xf5
2023-02-13 13:17:34.656319376  created by net/http.(*Transport).dialConn
2023-02-13 13:17:34.656322578   net/http/transport.go:1752 +0x1791
2023-02-13 13:17:34.656325250  
2023-02-13 13:17:34.656328240  goroutine 29 [IO wait]:
2023-02-13 13:17:34.656331654  internal/poll.runtime_pollWait(0x7f82187d5cd0, 0x72)
2023-02-13 13:17:34.656334646   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.656338157  internal/poll.(*pollDesc).wait(0xc000288580?, 0xc0002b5000?, 0x0)
2023-02-13 13:17:34.656341408   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.656344606  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.656347795   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.656351414  internal/poll.(*FD).Read(0xc000288580, {0xc0002b5000, 0x1000, 0x1000})
2023-02-13 13:17:34.656354525   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.656358035  net.(*netFD).Read(0xc000288580, {0xc0002b5000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.656361048   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.656364536  net.(*conn).Read(0xc00012ec08, {0xc0002b5000?, 0xc000288580?, 0x0?})
2023-02-13 13:17:34.656367513   net/net.go:183 +0x45
2023-02-13 13:17:34.656370607  bufio.(*Reader).fill(0xc0001311a0)
2023-02-13 13:17:34.656373645   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.656376880  bufio.(*Reader).Peek(0xc0001311a0, 0x4)
2023-02-13 13:17:34.656379901   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.656383311  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0002304b0)
2023-02-13 13:17:34.656386613   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.656390038  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0002304b0)
2023-02-13 13:17:34.656393422   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.656396784  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.656400143   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.656402757  
2023-02-13 13:17:34.656405653  goroutine 46 [IO wait]:
2023-02-13 13:17:34.656408972  internal/poll.runtime_pollWait(0x7f82187d5af0, 0x72)
2023-02-13 13:17:34.656411921   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.656469385  internal/poll.(*pollDesc).wait(0xc000302400?, 0xc00036b000?, 0x0)
2023-02-13 13:17:34.656472964   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.656476164  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.656479299   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.656483029  internal/poll.(*FD).Read(0xc000302400, {0xc00036b000, 0x1000, 0x1000})
2023-02-13 13:17:34.656486182   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.656489770  net.(*netFD).Read(0xc000302400, {0xc00036b000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.656492740   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.656496411  net.(*conn).Read(0xc000306088, {0xc00036b000?, 0xc000302400?, 0x0?})
2023-02-13 13:17:34.656500005   net/net.go:183 +0x45
2023-02-13 13:17:34.656503157  bufio.(*Reader).fill(0xc000329200)
2023-02-13 13:17:34.656506195   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.656509381  bufio.(*Reader).Peek(0xc000329200, 0x4)
2023-02-13 13:17:34.656512380   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.656515938  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0003502d0)
2023-02-13 13:17:34.656519377   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.656522917  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0003502d0)
2023-02-13 13:17:34.656526366   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.656529820  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.656533488   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.656536011  
2023-02-13 13:17:34.656538938  goroutine 48 [runnable]:
2023-02-13 13:17:34.656542676  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).stop(0xc0001a8870)
2023-02-13 13:17:34.656546345   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:199 +0x127
2023-02-13 13:17:34.656550178  github.com/AlexxIT/go2rtc/cmd/streams.(*Stream).stopProducers(0xc0001ec6c0)
2023-02-13 13:17:34.656553792   github.com/AlexxIT/go2rtc/cmd/streams/stream.go:177 +0xb2
2023-02-13 13:17:34.656558121  github.com/AlexxIT/go2rtc/cmd/streams.(*Stream).RemoveConsumer(0xc0001ec6c0, {0xc99c48?, 0xc0003504b0})
2023-02-13 13:17:34.656561644   github.com/AlexxIT/go2rtc/cmd/streams/stream.go:147 +0x13a
2023-02-13 13:17:34.656565058  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler.func1.1()
2023-02-13 13:17:34.656608050   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:191 +0x28
2023-02-13 13:17:34.656611775  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0003504b0)
2023-02-13 13:17:34.656615172   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:240 +0x323
2023-02-13 13:17:34.656618633  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.656622111   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.656624657  
2023-02-13 13:17:34.656627625  goroutine 56 [sleep]:
2023-02-13 13:17:34.656630666  time.Sleep(0x5d21dba00)
2023-02-13 13:17:34.656633639   runtime/time.go:195 +0x135
2023-02-13 13:17:34.656637224  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).keepalive(0xc0003503c0)
2023-02-13 13:17:34.656640725   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:862 +0x70
2023-02-13 13:17:34.656644306  created by github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle
2023-02-13 13:17:34.656647744   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:719 +0x2fe
2023-02-13 13:17:34.656688710  
2023-02-13 13:17:34.656691900  goroutine 50 [IO wait]:
2023-02-13 13:17:34.656695344  internal/poll.runtime_pollWait(0x7f821877beb8, 0x72)
2023-02-13 13:17:34.656698394   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.656701985  internal/poll.(*pollDesc).wait(0xc000302600?, 0xc00037a000?, 0x0)
2023-02-13 13:17:34.656705247   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.656708515  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.656711681   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.656715359  internal/poll.(*FD).Read(0xc000302600, {0xc00037a000, 0x1000, 0x1000})
2023-02-13 13:17:34.656718508   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.656722130  net.(*netFD).Read(0xc000302600, {0xc00037a000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.656725100   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.656728782  net.(*conn).Read(0xc0003060f0, {0xc00037a000?, 0xc000302600?, 0x0?})
2023-02-13 13:17:34.656731699   net/net.go:183 +0x45
2023-02-13 13:17:34.656734820  bufio.(*Reader).fill(0xc000329620)
2023-02-13 13:17:34.656738155   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.656741343  bufio.(*Reader).Peek(0xc000329620, 0x4)
2023-02-13 13:17:34.656744309   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.656747830  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000350690)
2023-02-13 13:17:34.656751234   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.656754742  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc000350690)
2023-02-13 13:17:34.656758141   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.656761535  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.656764942   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.656767478  
2023-02-13 13:17:34.656770387  goroutine 13 [sleep]:
2023-02-13 13:17:34.656773339  time.Sleep(0x5d21dba00)
2023-02-13 13:17:34.656776331   runtime/time.go:195 +0x135
2023-02-13 13:17:34.656779933  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).keepalive(0xc000350870)
2023-02-13 13:17:34.656783372   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:862 +0x70
2023-02-13 13:17:34.656786899  created by github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle
2023-02-13 13:17:34.656790277   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:719 +0x2fe
2023-02-13 13:17:34.656833961  
2023-02-13 13:17:34.656837063  goroutine 85 [sleep]:
2023-02-13 13:17:34.656840029  time.Sleep(0x5d21dba00)
2023-02-13 13:17:34.656843053   runtime/time.go:195 +0x135
2023-02-13 13:17:34.656852764  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).keepalive(0xc000350780)
2023-02-13 13:17:34.656856197   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:862 +0x70
2023-02-13 13:17:34.656859785  created by github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle
2023-02-13 13:17:34.656863177   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:719 +0x2fe
2023-02-13 13:17:34.656865802  
2023-02-13 13:17:34.656868711  goroutine 65 [IO wait]:
2023-02-13 13:17:34.656872142  internal/poll.runtime_pollWait(0x7f82187d5be0, 0x72)
2023-02-13 13:17:34.656875202   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.656878753  internal/poll.(*pollDesc).wait(0xc000302380?, 0xc0002b6000?, 0x0)
2023-02-13 13:17:34.656881948   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.656885120  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.656888245   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.656891838  internal/poll.(*FD).Read(0xc000302380, {0xc0002b6000, 0x1000, 0x1000})
2023-02-13 13:17:34.656894907   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.656898403  net.(*netFD).Read(0xc000302380, {0xc0002b6000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.656955231   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.656959115  net.(*conn).Read(0xc00012ec20, {0xc0002b6000?, 0xc000302380?, 0x0?})
2023-02-13 13:17:34.656961986   net/net.go:183 +0x45
2023-02-13 13:17:34.656965065  bufio.(*Reader).fill(0xc000131200)
2023-02-13 13:17:34.656968043   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.656971174  bufio.(*Reader).Peek(0xc000131200, 0x4)
2023-02-13 13:17:34.656974129   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.656977630  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0003501e0)
2023-02-13 13:17:34.656981028   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.656984548  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0xc0003501e0?)
2023-02-13 13:17:34.656987966   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:66 +0x94
2023-02-13 13:17:34.656992255  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a8630, {0xc9c280?, 0xc0003501e0?}, 0x1)
2023-02-13 13:17:34.656995895   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.656999530  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).start
2023-02-13 13:17:34.657003121   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:119 +0x1be
2023-02-13 13:17:34.657005868  
2023-02-13 13:17:34.657008833  goroutine 53 [sleep]:
2023-02-13 13:17:34.657011826  time.Sleep(0x5d21dba00)
2023-02-13 13:17:34.657014825   runtime/time.go:195 +0x135
2023-02-13 13:17:34.657018529  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).keepalive(0xc0003501e0)
2023-02-13 13:17:34.657022403   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:862 +0x70
2023-02-13 13:17:34.657025942  created by github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle
2023-02-13 13:17:34.657029356   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:719 +0x2fe
2023-02-13 13:17:34.657031887  
2023-02-13 13:17:34.657034813  goroutine 11 [IO wait]:
2023-02-13 13:17:34.657076386  internal/poll.runtime_pollWait(0x7f82187d5dc0, 0x72)
2023-02-13 13:17:34.657079710   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.657083307  internal/poll.(*pollDesc).wait(0xc000302300?, 0xc00036a000?, 0x0)
2023-02-13 13:17:34.657086550   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.657089761  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.657092884   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.657096663  internal/poll.(*FD).Read(0xc000302300, {0xc00036a000, 0x1000, 0x1000})
2023-02-13 13:17:34.657099815   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.657103366  net.(*netFD).Read(0xc000302300, {0xc00036a000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.657106241   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.657109893  net.(*conn).Read(0xc000306078, {0xc00036a000?, 0xc000302300?, 0x0?})
2023-02-13 13:17:34.657112820   net/net.go:183 +0x45
2023-02-13 13:17:34.657115904  bufio.(*Reader).fill(0xc000329080)
2023-02-13 13:17:34.657118870   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.657122112  bufio.(*Reader).Peek(0xc000329080, 0x4)
2023-02-13 13:17:34.657125042   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.657128599  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0003500f0)
2023-02-13 13:17:34.657131994   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.657135548  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0xc0003500f0?)
2023-02-13 13:17:34.657138962   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:66 +0x94
2023-02-13 13:17:34.657143174  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a8510, {0xc9c280?, 0xc0003500f0?}, 0x1)
2023-02-13 13:17:34.657146696   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.657150304  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).start
2023-02-13 13:17:34.657153868   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:119 +0x1be
2023-02-13 13:17:34.657156450  
2023-02-13 13:17:34.657159443  goroutine 12 [IO wait]:
2023-02-13 13:17:34.657162892  internal/poll.runtime_pollWait(0x7f821877bdc8, 0x72)
2023-02-13 13:17:34.657165927   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.657169465  internal/poll.(*pollDesc).wait(0xc000302a00?, 0xc00039a000?, 0x0)
2023-02-13 13:17:34.657172732   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.657175900  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.657179030   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.657182723  internal/poll.(*FD).Read(0xc000302a00, {0xc00039a000, 0x1000, 0x1000})
2023-02-13 13:17:34.657185906   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.657189462  net.(*netFD).Read(0xc000302a00, {0xc00039a000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.657192426   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.657196057  net.(*conn).Read(0xc000306180, {0xc00039a000?, 0xc000302a00?, 0x0?})
2023-02-13 13:17:34.657198937   net/net.go:183 +0x45
2023-02-13 13:17:34.657202132  bufio.(*Reader).fill(0xc000329d40)
2023-02-13 13:17:34.657205075   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.657208239  bufio.(*Reader).Peek(0xc000329d40, 0x4)
2023-02-13 13:17:34.657211216   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.657214753  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000350870)
2023-02-13 13:17:34.657218135   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.657221752  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0xc000350870?)
2023-02-13 13:17:34.657225179   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:66 +0x94
2023-02-13 13:17:34.657229387  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a8990, {0xc9c280?, 0xc000350870?}, 0x1)
2023-02-13 13:17:34.657232880   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.657236539  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).reconnect
2023-02-13 13:17:34.657240051   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:179 +0x42c
2023-02-13 13:17:34.657242623  
2023-02-13 13:17:34.657245574  goroutine 97 [IO wait]:
2023-02-13 13:17:34.657248959  internal/poll.runtime_pollWait(0x7f82187d6360, 0x72)
2023-02-13 13:17:34.657252042   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.657255630  internal/poll.(*pollDesc).wait(0xc000302080?, 0xc0002b3000?, 0x0)
2023-02-13 13:17:34.657258851   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.657262038  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.657265201   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.657268830  internal/poll.(*FD).Read(0xc000302080, {0xc0002b3000, 0x1000, 0x1000})
2023-02-13 13:17:34.657271958   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.657275550  net.(*netFD).Read(0xc000302080, {0xc0002b3000?, 0x12a05f09f?, 0x72?})
2023-02-13 13:17:34.657278566   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.657282223  net.(*conn).Read(0xc00012ebe8, {0xc0002b3000?, 0x0?, 0x7f823fdec108?})
2023-02-13 13:17:34.657285093   net/net.go:183 +0x45
2023-02-13 13:17:34.657288732  bufio.(*Reader).Read(0xc0001310e0, {0xc0006bdd27, 0x85, 0x44f352?})
2023-02-13 13:17:34.657291704   bufio/bufio.go:237 +0x1bb
2023-02-13 13:17:34.657295416  io.ReadAtLeast({0xc958c0, 0xc0001310e0}, {0xc0006bd800, 0x5ac, 0x5ac}, 0x5ac)
2023-02-13 13:17:34.657298314   io/io.go:332 +0x9a
2023-02-13 13:17:34.657301150  io.ReadFull(...)
2023-02-13 13:17:34.657303948   io/io.go:351
2023-02-13 13:17:34.657307532  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000350000)
2023-02-13 13:17:34.657310926   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:823 +0x757
2023-02-13 13:17:34.657314462  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0xc000350000?)
2023-02-13 13:17:34.657317883   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:66 +0x94
2023-02-13 13:17:34.657322087  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a83f0, {0xc9c280?, 0xc000350000?}, 0x1)
2023-02-13 13:17:34.657325586   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.657329235  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).start
2023-02-13 13:17:34.657332717   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:119 +0x1be
2023-02-13 13:17:34.657335287  
2023-02-13 13:17:34.657338244  goroutine 71 [sleep]:
2023-02-13 13:17:34.657341162  time.Sleep(0x5d21dba00)
2023-02-13 13:17:34.657344160   runtime/time.go:195 +0x135
2023-02-13 13:17:34.657347832  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).keepalive(0xc000350000)
2023-02-13 13:17:34.657351298   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:862 +0x70
2023-02-13 13:17:34.657354805  created by github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle
2023-02-13 13:17:34.657358267   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:719 +0x2fe
2023-02-13 13:17:34.657360872  
2023-02-13 13:17:34.657363817  goroutine 72 [IO wait]:
2023-02-13 13:17:34.657367180  internal/poll.runtime_pollWait(0x7f82187d5fa0, 0x72)
2023-02-13 13:17:34.657370161   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.657373734  internal/poll.(*pollDesc).wait(0xc000302280?, 0xc000368000?, 0x0)
2023-02-13 13:17:34.657376973   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.657380128  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.657383246   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.657386911  internal/poll.(*FD).Read(0xc000302280, {0xc000368000, 0x1000, 0x1000})
2023-02-13 13:17:34.657390060   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.657393853  net.(*netFD).Read(0xc000302280, {0xc000368000?, 0xc000368000?, 0x4d3900?})
2023-02-13 13:17:34.657396817   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.657400560  net.(*conn).Read(0xc000306068, {0xc000368000?, 0xc0000cb040?, 0x7f8218cbafff?})
2023-02-13 13:17:34.657403416   net/net.go:183 +0x45
2023-02-13 13:17:34.657407375  net/http.(*persistConn).Read(0xc000352240, {0xc000368000?, 0xc0002d5938?, 0xc0002d5998?})
2023-02-13 13:17:34.657410470   net/http/transport.go:1929 +0x4e
2023-02-13 13:17:34.657413584  bufio.(*Reader).fill(0xc000328d80)
2023-02-13 13:17:34.657416483   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.657419728  bufio.(*Reader).ReadSlice(0xc000328d80, 0xc0?)
2023-02-13 13:17:34.657422750   bufio/bufio.go:372 +0x2f
2023-02-13 13:17:34.657426014  net/http/internal.readChunkLine(0xc000288480?)
2023-02-13 13:17:34.657429124   net/http/internal/chunked.go:129 +0x25
2023-02-13 13:17:34.657432600  net/http/internal.(*chunkedReader).beginChunk(0xc00029c180)
2023-02-13 13:17:34.657435729   net/http/internal/chunked.go:48 +0x28
2023-02-13 13:17:34.657439542  net/http/internal.(*chunkedReader).Read(0xc00029c180, {0xc0000ec000?, 0x5b4?, 0x0?})
2023-02-13 13:17:34.657442702   net/http/internal/chunked.go:98 +0x156
2023-02-13 13:17:34.657446416  net/http.(*body).readLocked(0xc0001ec040, {0xc0000ec000?, 0x5b4?, 0x5a4?})
2023-02-13 13:17:34.657449473   net/http/transfer.go:846 +0x3c
2023-02-13 13:17:34.657452997  net/http.(*body).Read(0x0?, {0xc0000ec000?, 0x5a4?, 0x5a4?})
2023-02-13 13:17:34.657456077   net/http/transfer.go:838 +0x125
2023-02-13 13:17:34.657459870  net/http.(*bodyEOFSignal).Read(0xc0001ec0c0, {0xc0000ec000, 0x10000, 0x10000})
2023-02-13 13:17:34.657462948   net/http/transport.go:2774 +0x142
2023-02-13 13:17:34.657466702  net/http.(*cancelTimerBody).Read(0xc000134040, {0xc0000ec000?, 0x0?, 0x0?})
2023-02-13 13:17:34.657469713   net/http/client.go:954 +0x33
2023-02-13 13:17:34.657473299  bufio.(*Reader).Read(0xc000130360, {0xc00035e300, 0xb, 0x5a4?})
2023-02-13 13:17:34.657476267   bufio/bufio.go:237 +0x1bb
2023-02-13 13:17:34.657479983  io.ReadAtLeast({0xc958c0, 0xc000130360}, {0xc00035e300, 0xb, 0x100}, 0xb)
2023-02-13 13:17:34.657482825   io/io.go:332 +0x9a
2023-02-13 13:17:34.657485601  io.ReadFull(...)
2023-02-13 13:17:34.657488397   io/io.go:351
2023-02-13 13:17:34.657492584  github.com/AlexxIT/go2rtc/pkg/httpflv.ReadTag({0xc958c0?, 0xc000130360?}, {0xc00035e300?, 0x100?, 0x100?})
2023-02-13 13:17:34.657495979   github.com/AlexxIT/go2rtc/pkg/httpflv/flvio.go:13 +0x9f
2023-02-13 13:17:34.657499640  github.com/AlexxIT/go2rtc/pkg/httpflv.(*Conn).ReadPacket(0xc0001ec100)
2023-02-13 13:17:34.657503097   github.com/AlexxIT/go2rtc/pkg/httpflv/httpflv.go:144 +0x8b
2023-02-13 13:17:34.657506597  github.com/AlexxIT/go2rtc/pkg/rtmp.(*Client).Handle(0xc0001e0930)
2023-02-13 13:17:34.657510063   github.com/AlexxIT/go2rtc/pkg/rtmp/client.go:134 +0x132
2023-02-13 13:17:34.657513507  github.com/AlexxIT/go2rtc/pkg/rtmp.(*Client).Start(0x0?)
2023-02-13 13:17:34.657516907   github.com/AlexxIT/go2rtc/pkg/rtmp/streamer.go:24 +0x19
2023-02-13 13:17:34.657521128  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a8360, {0xc9c240?, 0xc0001e0930?}, 0x1)
2023-02-13 13:17:34.657524619   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.657528178  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).start
2023-02-13 13:17:34.657531643   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:119 +0x1be
2023-02-13 13:17:34.657534314  
2023-02-13 13:17:34.657537430  goroutine 82 [syscall, 6 minutes]:
2023-02-13 13:17:34.657540803  syscall.Syscall6(0x0?, 0x0?, 0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
2023-02-13 13:17:34.657543825   syscall/syscall_linux.go:90 +0x36
2023-02-13 13:17:34.657547191  os.(*Process).blockUntilWaitable(0xc00034c0c0)
2023-02-13 13:17:34.657550230   os/wait_waitid.go:32 +0x87
2023-02-13 13:17:34.657553333  os.(*Process).wait(0xc00034c0c0)
2023-02-13 13:17:34.657556348   os/exec_unix.go:22 +0x28
2023-02-13 13:17:34.657559302  os.(*Process).Wait(...)
2023-02-13 13:17:34.657562032   os/exec.go:132
2023-02-13 13:17:34.657565122  os/exec.(*Cmd).Wait(0xc0001822c0)
2023-02-13 13:17:34.657568148   os/exec/exec.go:599 +0x4b
2023-02-13 13:17:34.657571434  github.com/AlexxIT/go2rtc/cmd/exec.Handle.func2()
2023-02-13 13:17:34.657574770   github.com/AlexxIT/go2rtc/cmd/exec/exec.go:94 +0x3c
2023-02-13 13:17:34.657578102  created by github.com/AlexxIT/go2rtc/cmd/exec.Handle
2023-02-13 13:17:34.657581419   github.com/AlexxIT/go2rtc/cmd/exec/exec.go:93 +0x5ac
2023-02-13 13:17:34.657584015  
2023-02-13 13:17:34.657586968  goroutine 98 [IO wait]:
2023-02-13 13:17:34.657590304  internal/poll.runtime_pollWait(0x7f821877bcd8, 0x72)
2023-02-13 13:17:34.657593246   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.657596824  internal/poll.(*pollDesc).wait(0xc000302800?, 0xc0000b7000?, 0x0)
2023-02-13 13:17:34.657600011   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.657603108  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.657606227   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.657609838  internal/poll.(*FD).Read(0xc000302800, {0xc0000b7000, 0x1000, 0x1000})
2023-02-13 13:17:34.657612976   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.657616548  net.(*netFD).Read(0xc000302800, {0xc0000b7000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.657619508   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.657623119  net.(*conn).Read(0xc00012e108, {0xc0000b7000?, 0xc000302800?, 0x400?})
2023-02-13 13:17:34.657625980   net/net.go:183 +0x45
2023-02-13 13:17:34.657629065  bufio.(*Reader).fill(0xc000328360)
2023-02-13 13:17:34.657632069   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.657635204  bufio.(*Reader).Peek(0xc000328360, 0x4)
2023-02-13 13:17:34.657638162   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.657641639  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000350960)
2023-02-13 13:17:34.657645014   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.657676123  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc000350960)
2023-02-13 13:17:34.657679773   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.657683214  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.657686587   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
2023-02-13 13:17:34.657689141  
2023-02-13 13:17:34.657692087  goroutine 99 [IO wait]:
2023-02-13 13:17:34.657695457  internal/poll.runtime_pollWait(0x7f82187d5a00, 0x72)
2023-02-13 13:17:34.657698497   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.657702122  internal/poll.(*pollDesc).wait(0xc000302480?, 0xc000376000?, 0x0)
2023-02-13 13:17:34.657705340   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.657708530  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.657711684   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.657715346  internal/poll.(*FD).Read(0xc000302480, {0xc000376000, 0x1000, 0x1000})
2023-02-13 13:17:34.657718499   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.657722075  net.(*netFD).Read(0xc000302480, {0xc000376000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.657725024   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.657728653  net.(*conn).Read(0xc0003060b8, {0xc000376000?, 0xc000302480?, 0x0?})
2023-02-13 13:17:34.657731528   net/net.go:183 +0x45
2023-02-13 13:17:34.657734734  bufio.(*Reader).fill(0xc000329440)
2023-02-13 13:17:34.657737663   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.657740856  bufio.(*Reader).Peek(0xc000329440, 0x4)
2023-02-13 13:17:34.657743827   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.657747390  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc0003503c0)
2023-02-13 13:17:34.657750789   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.657754368  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0xc0003503c0?)
2023-02-13 13:17:34.657757805   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:66 +0x94
2023-02-13 13:17:34.657762010  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a8750, {0xc9c280?, 0xc0003503c0?}, 0x1)
2023-02-13 13:17:34.657765530   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.657769147  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).start
2023-02-13 13:17:34.657772684   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:119 +0x1be
2023-02-13 13:17:34.657775293  
2023-02-13 13:17:34.657778288  goroutine 114 [IO wait]:
2023-02-13 13:17:34.657781673  internal/poll.runtime_pollWait(0x7f821877bbe8, 0x72)
2023-02-13 13:17:34.657784659   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.657788275  internal/poll.(*pollDesc).wait(0xc0000b2080?, 0xc00039b000?, 0x0)
2023-02-13 13:17:34.657791516   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.657794732  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.657797908   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.657801620  internal/poll.(*FD).Read(0xc0000b2080, {0xc00039b000, 0x1000, 0x1000})
2023-02-13 13:17:34.657804779   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.657808331  net.(*netFD).Read(0xc0000b2080, {0xc00039b000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.657811308   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.657814980  net.(*conn).Read(0xc000306020, {0xc00039b000?, 0xc0000b2080?, 0x0?})
2023-02-13 13:17:34.657817879   net/net.go:183 +0x45
2023-02-13 13:17:34.657821002  bufio.(*Reader).fill(0xc000328de0)
2023-02-13 13:17:34.657824007   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.657827224  bufio.(*Reader).Peek(0xc000328de0, 0x4)
2023-02-13 13:17:34.657830190   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.657833767  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000350a50)
2023-02-13 13:17:34.657837196   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.657840629  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Start(0x0?)
2023-02-13 13:17:34.657844063   github.com/AlexxIT/go2rtc/pkg/rtsp/streamer.go:66 +0x94
2023-02-13 13:17:34.657848303  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a87e0, {0xc9c280?, 0xc000350a50?}, 0x1)
2023-02-13 13:17:34.657851817   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.657855455  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).start
2023-02-13 13:17:34.657858994   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:119 +0x1be
2023-02-13 13:17:34.657861586  
2023-02-13 13:17:34.657864531  goroutine 73 [IO wait]:
2023-02-13 13:17:34.657867923  internal/poll.runtime_pollWait(0x7f82187d6180, 0x72)
2023-02-13 13:17:34.657870958   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.657874574  internal/poll.(*pollDesc).wait(0xc000302200?, 0xc00035a000?, 0x0)
2023-02-13 13:17:34.657877793   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.657880984  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.657884096   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.657887747  internal/poll.(*FD).Read(0xc000302200, {0xc00035a000, 0x1000, 0x1000})
2023-02-13 13:17:34.657890895   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.657894418  net.(*netFD).Read(0xc000302200, {0xc00035a000?, 0x0?, 0x4d39c0?})
2023-02-13 13:17:34.657897360   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.657900995  net.(*conn).Read(0xc000306040, {0xc00035a000?, 0xc00035a002?, 0x0?})
2023-02-13 13:17:34.657903862   net/net.go:183 +0x45
2023-02-13 13:17:34.657907777  net/http.(*persistConn).Read(0xc000352120, {0xc00035a000?, 0x46667b?, 0xc0000cb380?})
2023-02-13 13:17:34.657910859   net/http/transport.go:1929 +0x4e
2023-02-13 13:17:34.657913933  bufio.(*Reader).fill(0xc000328780)
2023-02-13 13:17:34.657916897   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.657920127  bufio.(*Reader).ReadSlice(0xc000328780, 0x0?)
2023-02-13 13:17:34.657923072   bufio/bufio.go:372 +0x2f
2023-02-13 13:17:34.657926311  net/http/internal.readChunkLine(0x4d23d2?)
2023-02-13 13:17:34.657929447   net/http/internal/chunked.go:129 +0x25
2023-02-13 13:17:34.657932947  net/http/internal.(*chunkedReader).beginChunk(0xc00009cd20)
2023-02-13 13:17:34.657936094   net/http/internal/chunked.go:48 +0x28
2023-02-13 13:17:34.657940202  net/http/internal.(*chunkedReader).Read(0xc00009cd20, {0xc000440000?, 0xc000561a98?, 0xc000561af8?})
2023-02-13 13:17:34.657943332   net/http/internal/chunked.go:98 +0x156
2023-02-13 13:17:34.657947174  net/http.(*body).readLocked(0xc0003222c0, {0xc000440000?, 0xc000561b40?, 0x567245?})
2023-02-13 13:17:34.657950238   net/http/transfer.go:846 +0x3c
2023-02-13 13:17:34.657953645  net/http.(*body).Read(0x0?, {0xc000440000?, 0x0?, 0x0?})
2023-02-13 13:17:34.657956707   net/http/transfer.go:838 +0x125
2023-02-13 13:17:34.657960471  net/http.(*bodyEOFSignal).Read(0xc000322340, {0xc000440000, 0x10000, 0x10000})
2023-02-13 13:17:34.657963561   net/http/transport.go:2774 +0x142
2023-02-13 13:17:34.657967335  net/http.(*cancelTimerBody).Read(0xc000134880, {0xc000440000?, 0x204?, 0x204?})
2023-02-13 13:17:34.657970342   net/http/client.go:954 +0x33
2023-02-13 13:17:34.657973835  bufio.(*Reader).Read(0xc000088180, {0xc00015a900, 0xb, 0x0?})
2023-02-13 13:17:34.657976851   bufio/bufio.go:237 +0x1bb
2023-02-13 13:17:34.657980498  io.ReadAtLeast({0xc958c0, 0xc000088180}, {0xc00015a900, 0xb, 0x100}, 0xb)
2023-02-13 13:17:34.657983373   io/io.go:332 +0x9a
2023-02-13 13:17:34.657986240  io.ReadFull(...)
2023-02-13 13:17:34.657989019   io/io.go:351
2023-02-13 13:17:34.657993240  github.com/AlexxIT/go2rtc/pkg/httpflv.ReadTag({0xc958c0?, 0xc000088180?}, {0xc00015a900?, 0x100?, 0x100?})
2023-02-13 13:17:34.657996708   github.com/AlexxIT/go2rtc/pkg/httpflv/flvio.go:13 +0x9f
2023-02-13 13:17:34.658000385  github.com/AlexxIT/go2rtc/pkg/httpflv.(*Conn).ReadPacket(0xc0003223c0)
2023-02-13 13:17:34.658003852   github.com/AlexxIT/go2rtc/pkg/httpflv/httpflv.go:144 +0x8b
2023-02-13 13:17:34.658007423  github.com/AlexxIT/go2rtc/pkg/rtmp.(*Client).Handle(0xc0002e2a10)
2023-02-13 13:17:34.658010834   github.com/AlexxIT/go2rtc/pkg/rtmp/client.go:134 +0x132
2023-02-13 13:17:34.658014244  github.com/AlexxIT/go2rtc/pkg/rtmp.(*Client).Start(0x0?)
2023-02-13 13:17:34.658017708   github.com/AlexxIT/go2rtc/pkg/rtmp/streamer.go:24 +0x19
2023-02-13 13:17:34.658021838  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).worker(0xc0001a82d0, {0xc9c240?, 0xc0002e2a10?}, 0x1)
2023-02-13 13:17:34.658025353   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:123 +0x35
2023-02-13 13:17:34.658028927  created by github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).start
2023-02-13 13:17:34.658032441   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:119 +0x1be
2023-02-13 13:17:34.658035039  
2023-02-13 13:17:34.658037964  goroutine 83 [IO wait]:
2023-02-13 13:17:34.658041341  internal/poll.runtime_pollWait(0x7f821877baf8, 0x72)
2023-02-13 13:17:34.658044366   runtime/netpoll.go:305 +0x89
2023-02-13 13:17:34.658047954  internal/poll.(*pollDesc).wait(0xc000302700?, 0xc0002bb000?, 0x0)
2023-02-13 13:17:34.658051150   internal/poll/fd_poll_runtime.go:84 +0x32
2023-02-13 13:17:34.658054333  internal/poll.(*pollDesc).waitRead(...)
2023-02-13 13:17:34.658057461   internal/poll/fd_poll_runtime.go:89
2023-02-13 13:17:34.658061138  internal/poll.(*FD).Read(0xc000302700, {0xc0002bb000, 0x1000, 0x1000})
2023-02-13 13:17:34.658064289   internal/poll/fd_unix.go:167 +0x25a
2023-02-13 13:17:34.658067848  net.(*netFD).Read(0xc000302700, {0xc0002bb000?, 0x0?, 0x4d29e0?})
2023-02-13 13:17:34.658070733   net/fd_posix.go:55 +0x29
2023-02-13 13:17:34.658074349  net.(*conn).Read(0xc000012048, {0xc0002bb000?, 0xc000302700?, 0x0?})
2023-02-13 13:17:34.658077255   net/net.go:183 +0x45
2023-02-13 13:17:34.658080348  bufio.(*Reader).fill(0xc000329740)
2023-02-13 13:17:34.658083320   bufio/bufio.go:106 +0xff
2023-02-13 13:17:34.658086472  bufio.(*Reader).Peek(0xc000329740, 0x4)
2023-02-13 13:17:34.658089437   bufio/bufio.go:144 +0x5d
2023-02-13 13:17:34.658092957  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Handle(0xc000350b40)
2023-02-13 13:17:34.658096360   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:747 +0x3c5
2023-02-13 13:17:34.658099881  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc000350b40)
2023-02-13 13:17:34.658103355   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:236 +0x2a7
2023-02-13 13:17:34.658106761  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2023-02-13 13:17:34.658110139   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:72 +0x48
bagobones commented 1 year ago

I should also note that frigate 0.12 beta 8 continues to run as this error did not seem to cause a fatal problem for the frigate docker container but all streams stop and the go2rtc api stops responding.

bagobones commented 1 year ago

This might be relevant.

https://medium.com/@rishabhmishra131/concurrent-map-access-issues-in-golang-fdb0deeafe48

AlexxIT commented 1 year ago

I know what is concurrent access to the map. There are just so many places in the code where it can happen. And the repeatability is very low.

bagobones commented 1 year ago

I know what is concurrent access to the map. There are just so many places in the code where it can happen. And the repeatability is very low.

I thought it was more useful for the general solutions lower in the article about how to lock / mutex the calls to avoid concurrency issues as two methods are described.

"Go" is not a language I know however concurrent access to variables is a common problem for all languages.

In other languages I would suggest wrapping the access in try / catch logic but it appears Go doesn’t have exceptions

If turning up debug logging in some area or what not would help let me know.. Unfortunately I have so far only seen this happen with all my cameras configured at once which means any test build I need to " run as if it was production" in an essence.

bagobones commented 1 year ago

https://tip.golang.org/doc/go1.8#mapiter

Looks like you can compile an app with a race detector enabled?

I guess the most useful thing at this point would be a finding a way to reproduce the issue more frequently than "sometimes once a day"

Real-Time-Kodi commented 1 year ago

Wrong input is another issue. This means that the camera is sending garbage instead of data. This usually happens with cameras that are garbage.

Is there any good way to sanitize inputs from garbage cam streams or is it more practical to just buy better cameras?

AlexxIT commented 1 year ago

Should be fixed in latest versions