isaackogan / TikTokLive

Python library to receive live stream events (comments, gifts, etc.) in realtime from TikTok LIVE.
https://isaackogan.github.io/TikTokLive/
MIT License
752 stars 154 forks source link

ValueError: Too many bytes when decoding varint #187

Closed jeremyfabre closed 2 months ago

jeremyfabre commented 3 months ago

Describe the bug

Script exited unexpectidly after running base example

Package Version

My version of TikTokLive is 6.0.1.

Operating System

Docker on image python:3.11.5-alpine

Trace

Traceback (most recent call last): File "/project/python/./main.py", line 24, in client.run() File "/user/Library/Python/3.9/lib/python/site-packages/TikTokLive/client/client.py", line 170, in run return self._asyncio_loop.run_until_complete(self.connect(**kwargs)) File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete return future.result() File "/user/Library/Python/3.9/lib/python/site-packages/TikTokLive/client/client.py", line 155, in connect await task File "/user/Library/Python/3.9/lib/python/site-packages/TikTokLive/client/client.py", line 203, in _client_loop async for event in self._ws_loop(initial_response): File "/user/Library/Python/3.9/lib/python/site-packages/TikTokLive/client/client.py", line 240, in _ws_loop for event in self._parse_webcast_response(response_message): File "/user/Library/Python/3.9/lib/python/site-packages/TikTokLive/client/client.py", line 322, in _parse_webcast_response proto_event: ProtoEvent = event_type().parse(response.payload) File "/user/Library/Python/3.9/lib/python/site-packages/betterproto/init.py", line 1015, in parse value = self._postprocess_single( File "/user/Library/Python/3.9/lib/python/site-packages/betterproto/init.py", line 955, in _postprocess_single value = cls().parse(value) File "/user/Library/Python/3.9/lib/python/site-packages/betterproto/init.py", line 1015, in parse value = self._postprocess_single( File "/user/Library/Python/3.9/lib/python/site-packages/betterproto/init.py", line 955, in _postprocess_single value = cls().parse(value) File "/user/Library/Python/3.9/lib/python/site-packages/betterproto/init.py", line 1008, in parse decoded, pos = decode_varint(parsed.value, pos) File "/user/Library/Python/3.9/lib/python/site-packages/betterproto/init.py", line 487, in decode_varint raise ValueError("Too many bytes when decoding varint.") ValueError: Too many bytes when decoding varint. Task was destroyed but it is pending! task: <Task pending name='Task-6' coro=<WebSocketCommonProtocol.transfer_data() running at /user/Library/Python/3.9/lib/python/site-packages/websockets/legacy/protocol.py:963> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x102716ee0>()]> cb=[<TaskWakeupMethWrapper object at 0x1026d13d0>()]> Task was destroyed but it is pending! task: <Task pending name='Task-7' coro=<WebSocketCommonProtocol.keepalive_ping() running at /user/Library/Python/3.9/lib/python/site-packages/websockets/legacy/protocol.py:1254> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x102716f70>()]>> Task was destroyed but it is pending! task: <Task pending name='Task-8' coro=<WebSocketCommonProtocol.close_connection() running at /user/Library/Python/3.9/lib/python/site-packages/websockets/legacy/protocol.py:1301> wait_for=<Task pending name='Task-6' coro=<WebSocketCommonProtocol.transfer_data() running at /user/Library/Python/3.9/lib/python/site-packages/websockets/legacy/protocol.py:963> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x102716ee0>()]> cb=[<TaskWakeupMethWrapper object at 0x1026d13d0>()]>> Exception ignored in: <coroutine object WebSocketCommonProtocol.close_connection at 0x1026c46c0> Traceback (most recent call last): File "/user/Library/Python/3.9/lib/python/site-packages/websockets/legacy/protocol.py", line 1337, in close_connection File "/user/Library/Python/3.9/lib/python/site-packages/websockets/legacy/protocol.py", line 1355, in close_transport File "/user/Library/Python/3.9/lib/python/site-packages/websockets/legacy/protocol.py", line 1379, in wait_for_connection_lost File "/user/Library/Python/3.9/lib/python/site-packages/websockets/legacy/async_timeout.py", line 74, in timeout RuntimeError: no running event loop

isaackogan commented 2 months ago

Does this occur on 6.0.2-post1?

If so, can I have a bit more info about the code causing this exception?

isaackogan commented 2 months ago

fixed 6.0.3 (i think). reopen if continues