Skip to content

[Bug]: Crash when start live recording #814

@emericv

Description

@emericv

Prerequisites

  • I have searched existing issues and discussions to ensure this bug hasn't been reported before
  • I have read the troubleshooting section in the README
  • I have tested this issue with yt-dlp directly (not just through MeTube UI) as described in the README
  • I have checked that this is not a yt-dlp issue (if it is, please report it to yt-dlp repository instead)

Bug Description

metube  | INFO:main:Listening on 0.0.0.0:8081
metube  | INFO:ytdl:Initializing DownloadQueue
metube  | INFO:main:Client connected: YyJDs1lpLQhxxHElAAAB
metube  | INFO:main:Received request to add download
metube  | INFO:main:Request data: {'url': 'https://www.youtube.com/watch?v=xxxxxxxx', 'quality': 'best', 'format': 'any', 'playlist_strict_mode': False, 'auto_start': True}
metube  | INFO:ytdl:adding https://www.youtube.com/watch?v=xxxxxxxxx: quality='best' format='any' already=None folder=None custom_name_prefix='' playlist_strict_mode=False playlist_item_limit=0 auto_start=True
metube  | WARNING: Writing cache to '/dev/null/.cache/yt-dlp/youtube-sts/c6d7bdc9-main.json' failed: Traceback (most recent call last):
metube  |   File "/usr/local/lib/python3.13/site-packages/yt_dlp/cache.py", line 41, in store
metube  |     os.makedirs(os.path.dirname(fn), exist_ok=True)
metube  |     ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
metube  |   File "<frozen os>", line 218, in makedirs
metube  |   File "<frozen os>", line 218, in makedirs
metube  |   File "<frozen os>", line 228, in makedirs
metube  | NotADirectoryError: [Errno 20] Not a directory: '/dev/null/.cache'
metube  | 
metube  | ERROR:aiohttp.server:Error handling request from 192.168.250.4
metube  | Traceback (most recent call last):
metube  |   File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 510, in _handle_request
metube  |     resp = await request_handler(request)
metube  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
metube  |   File "/usr/local/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle
metube  |     return await handler(request)
metube  |            ^^^^^^^^^^^^^^^^^^^^^^
metube  |   File "/app/app/main.py", line 238, in add
metube  |     status = await dqueue.add(url, quality, format, folder, custom_name_prefix, playlist_strict_mode, playlist_item_limit, auto_start)
metube  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
metube  |   File "/app/app/ytdl.py", line 416, in add
metube  |     return await self.__add_entry(entry, quality, format, folder, custom_name_prefix, playlist_strict_mode, playlist_item_limit, auto_start, already)
metube  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
metube  |   File "/app/app/ytdl.py", line 400, in __add_entry
metube  |     await self.__add_download(dl, auto_start)
metube  |   File "/app/app/ytdl.py", line 352, in __add_download
metube  |     self.queue.put(download)
metube  |     ~~~~~~~~~~~~~~^^^^^^^^^^
metube  |   File "/app/app/ytdl.py", line 211, in put
metube  |     shelf[key] = value.info
metube  |     ~~~~~^^^^^
metube  |   File "/usr/local/lib/python3.13/shelve.py", line 124, in __setitem__
metube  |     p.dump(value)
metube  |     ~~~~~~^^^^^^^
metube  | TypeError: cannot pickle '_thread.lock' object

yt-dlp Direct Test Results

With direct yt-dlp, no problem.

Environment & Configuration

Using Docker latest image

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions