mynaparrot / plugNmeet-server

WebRTC based Scalable, High Performance, Open source web conferencing system using Livekit.
https://www.plugnmeet.org
MIT License
286 stars 73 forks source link

problem with the whiteboard #455

Closed ddd793 closed 5 months ago

ddd793 commented 5 months ago

Hello.

My system works with Docker (containers - redis, mariadb, livekit, livekit-ingress, plugnmeet-api). Version - Server: v1.5.14; Client: v1.5.14. The system is configured according to the instructions from the documentation.

After about 7-10 days of use, problems with the whiteboard start to occur. The participants do not see what the other participant draws on the whiteboard. This happens in different rooms.

Rebooting the Docker containers resolves this problem.

At the beginning of the issue, the following logs were present in the Docker container's logs, among other things:: redis:

{"log":"3979:C 03 Apr 2024 10:20:15.017 * DB saved on disk\n","stream":"stdout","time":"2024-04-03T10:20:15.018625552Z"}
{"log":"3979:C 03 Apr 2024 10:20:15.019 * RDB: 0 MB of memory used by copy-on-write\n","stream":"stdout","time":"2024-04-03T10:20:15.01922656Z"}
{"log":"1:M 03 Apr 2024 10:20:15.112 * Background saving terminated with success\n","stream":"stdout","time":"2024-04-03T10:20:15.11272254Z"}
{"log":"1:M 03 Apr 2024 10:24:42.042 # Client id=441 addr=172.27.0.1:42144 laddr=172.27.0.2:6379 fd=12 name= age=170837 idle=3 flags=P db=0 sub=1 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=941 omem=20965432 tot-mem=20985928 events=rw cmd=ping user=default redir=-1 closed for overcoming of output buffer limits.\n","stream":"stdout","time":"2024-04-03T10:24:42.042915872Z"}

plugnmeet-api:

{"log":"redis: 2024/04/03 10:23:51 pubsub.go:666: redis: \u0026{%!s(*redis.PubSub=\u0026{0xc000137560 0x931980 0xab3d20 {0 0} 0xc002ce8960 map[plug-n-meet-whiteboard-websocket:{}] map[] map[] false 0xc000030060 0xc0004b7d40 {1 {0 0}} 0xc0005bfbc0 \u003cnil\u003e}) %!s(chan *redis.Message=0xc0004b7e60) %!s(chan interface {}=\u003cnil\u003e) %!s(chan struct {}=0xc000047080) %!s(int=100) %!s(time.Duration=60000000000) %!s(time.Duration=3000000000)} channel is full for 1m0s (message is dropped)\r\n","stream":"stdout","time":"2024-04-03T10:23:51.119157148Z"}

livekit-server:

{"log":"2024-04-03T10:24:16.210Z\u0009WARN\u0009livekit\u0009service/auth.go:90\u0009error handling request\u0009{\"status\": 401, \"method\": \"GET\", \"path\": \"/rtc/validate\", \"error\": \"invalid token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIxMzc4MDgsImlzcyI6IkFQSWlZQUE1dzM3Q2ZvMiIsIm1ldGFkYXRhIjoie1wiaXNfYWRtaW5cIjpmYWxzZSxcInJlY29yZF93ZWJjYW1cIjp0cnVlLFwiaXNfcHJlc2VudGVyXCI6ZmFsc2UsXCJyYWlzZWRfaGFuZFwiOmZhbHNlLFwid2FpdF9mb3JfYXBwcm92YWxcIjpmYWxzZSxcImxvY2tfc2V0dGluZ3NcIjp7XCJsb2NrX21pY3JvcGhvbmVcIjpmYWxzZSxcImxvY2tfd2ViY2FtXCI6ZmFsc2UsXCJsb2NrX3NjcmVlbl9zaGFyaW5nXCI6dHJ1ZSxcImxvY2tfY2hhdFwiOmZhbHNlLFwibG9ja19jaGF0X3NlbmRfbWVzc2FnZVwiOmZhbHNlLFwibG9ja19jaGF0X2ZpbGVfc2hhcmVcIjpmYWxzZSxcImxvY2tfcHJpdmF0ZV9jaGF0XCI6ZmFsc2UsXCJsb2NrX3doaXRlYm9hcmRcIjpmYWxzZSxcImxvY2tfc2hhcmVkX25vdGVwYWRcIjp0cnVlfSxcIm1ldGFkYXRhX2lkXCI6XCI3NzEzNjJiZS02ZmZlLTQwZGMtODIzZS0yZDFmMDc3Njk5ZDhcIn0iLCJuYW1lIjoi0JzQsNGC0LLQtdC5IiwibmJmIjoxNzEyMTM3MjA4LCJzdWIiOiJmZjk1Y2MwOS1kNDNjLTRiYTUtOGI4Ni0zZWRhOGZlMDQ3YzEiLCJ2aWRlbyI6eyJyb29tIjoiMjUiLCJyb29tSm9pbiI6dHJ1ZX19.lkrlLqdXpLgKEAGEA-5b3IAaxEJqhryGu5AhrBF0AfQ, error: go-jose/go-jose/jwt: validation failed, token is expired (exp)\"}\n","stream":"stderr","time":"2024-04-03T10:24:16.211225228Z"}

Why might this problem arise?

jibon57 commented 5 months ago

@ddd793 you did not mentioned about your server's hardware configuration. The problem you mentioned was not related with plugNmeet. When redis channel full because it could not deliver message by websocket that time it may unsubscribed. This mostly happen if do not have enough resources or slow connection