-
-
Notifications
You must be signed in to change notification settings - Fork 402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No usable temporary directory found #1161
Comments
Same issue here, using latest stable version of Seal with latest version of yt-dlp, trying to download this video: https://youtu.be/yDp3cB5fHXQ?si=K9Qgv43k6Xk7Amgc |
Exact same error message here, see below. I remember seeing it once before, about 6 weeks ago. As it occurs so infrequently, I find it hard to track it down, and so far, cannot attribute it to any particular triggers or circumstances. The only additional context I'm currently able to provide is the following log entries:
Please note that most of these entries share the same timestamp, hence may have actually occurred in any order. I wouldn't rely on the order they are displayed. |
Just now experienced this problem after having updated the app to v1.11.2 |
We couldn't find a stable way to reproduce this issue yet, but I guess this is because the filesystem of the device is temporarily mounted as read-only, at least in our python runtime environment, which should be considered as a system bug. A workaround should work is to reboot your device. We'll continue to investigate this further |
I don't know what happened, but it seems to have resolved on its own. But it was an issue during the time of the update, like in the immediate time after the update. |
Of the roughly six youtube videos I've encountered this error with last month, exactly one "self-healed" when I rebooted the phone. The other ones still threw the error - go figure. However, I've finally found something that might hint at the underlying problem: In my today's test series of 8 different download attempts,
If in Seal Settings --> Format"" --> "Preferred video format", I switched from "Quality" (my default) to "Legacy", the video download succeeded regardless of webm being available or not. In other words, the error only occured to me while Seal's option"Preferred video format" was set to "Quality"! I've also tried to test it the other way around (i. e. "Legacy" setting with webm-only videos), but couldn't find any webm video that didn't also offer a few mp4 options. Given this new insight, the curious "self-healing" mentioned above could simply result from the video being transcoded and made available as webm that very moment. |
@GfEW Could you switch |
Re video link Re
This error, however, occurs at the start of step 3, preventing Seal from fetching that list of available audio/video formats, and me from checking and possibly adjusting any selection. Does this answer your question? Should you rather want me to specify a format via custom command, please provide me with the particular custom command line that I may then enter. I'm unfortunately not familiar enough with the bells and whistles of yt-dlp, would need far more time and practice than I have ATM. (*) Off topic: |
Sorry, while editing my previous comment to make it clearer, I didn't notice yours. Please see above. |
The app runs yt-dlp commands for twice for a download:
Based on your description, the |
I can see your point. I don't mean to claim any reasoning but mainly describe my observations regarding correlations of the It turns out the error does not necessarily relate to the set of available formats as such, since all failing videos in my yesterday's sample are also from a single, very small yt video channel that happens to contain mp4-only videos, only. I've been able to "extend" the problem by six additional videos from that specific channel, all of which also fail. Unfortunately, such mp4-only channels are hard to find by their nature - I guess they are numerous, but each of them so unpopular that google doesn't even want to spend cpu cycles on transcoding them. I can only speculate what's the crux of the matter with this example of a problematic channel. Some ideas:
|
I'll just download the video on my own every time when I notice a user posting report of this issue with related video URL attached. But none of them could be reproduced on my device. Reinstalling won't work for this issue, either, according to a few feedbacks |
After further systematic testing, the correlation looks like more than accidental statistics. For the first time, it allows me to reproduce occurrence/non-occurrence of the error, although so far, only in a tiny confined space of two binary parameters:
So far, "problematic" videos can be identified by the following two properties:
(Lacking video examples that have only one of these properties, it is still unclear which property causes the problem.) Even with video links that I've never tested before: If
then As of now, the following little results table holds, without a single exception in 26 tests:
In order to allow you to also reproduce these findings, I'm still trying to find other affected videos or channels, hope I can provide you with working, sharable examples soon. |
Maybe we are interacting with some sort of transcoding automatism on the side of youtube here? Like:
(Both video URLs posted in this issue by @abdullahamin665 and @FoxTrotte were very new at that time.) EDIT: This hypothesis still holds after extensive testing, and has brought about two procedures that reproduce the error, see core points and example videos below. |
2 h of binge testing various arcane youtube channels/videos has, instead of the hoped-for triggers, brought up one video that is neither transcoded nor "problematic". How confusing! Also, some of my yesterday's failing examples have stopped failing. (Most videos in the same "problematic" channel still do fail.) These news invalidate my proposal "problematic" videos could be identified by the following two properties:
Core PointsHere's my understanding gathered so far, including a few side notes:
|
Can at least confirm @GfEW's hypothesis about switching formats. Had a video that would consistently fail with the temporary directory error, not even getting to the'select formats' stage. Switching to 'Legacy' quality preference made it download as expected. |
Thanks for the report! that's quite weird because this option should have nothing to do with any "directory". If anyone is interested in the issue and has a link which can reproduce this. You can help test this bug by:
|
I'm sorry I haven't been able to give a particular failing video link before now. Due to the either obscure or transitory nature of affected videos, searching for sharable examples got too time consuming, I had to stop it for a while. However, as I keep testing occasional stray video links that could (momentarily) be unpopular enough to trigger the error, I've indeed found one today: @JunkFood02
Whilst switching to "Audio" (cf. no. 3 in above "core points") still does fetch the list of formats (even with I'm not sure how |
I think we can treat this explanation as a given, by now. Therefore, there's little use in providing you with ever new video link examples, most of them just stop failing too soon. (Usually, that's within less than a day, and the exceptions to this rule tend to be extremely "arcane" (like double digit view counts) - it wouldn't feel right for me to expose them here.) However, I have finally found a "more robustly public" yt channel where you have a high chance of finding "problematic" videos by yourself anytime: Just try the five most recent videos posted there, the newer the better. Should (rarely) none of them trigger the error, give it some hours for new videos to appear, then try again. At this very moment, three out of the newest five do trigger the error. Hope that helps. :-) |
@JunkFood02 (Not meant to urge, just asking for clearity.) |
Hello everyone!!! I decided to join the discussion and share my findings with you. |
@rudelf Since I've developed a habit of stripping all unnecessary parts like the si=... (supposedly, session ID) from the URL long ago, all error reports provided to this issue by me were based on just the core video URL, e. g. https://www.youtube.com/watch?v=PoesvM362bk or, equivalently, https://youtu.be/PoesvM362bk . You could try the same by copying the video link from wherever you find it, then quickly editing it e. g. in simple clipboard editor, then 'sharing' it with Seal. So far, on my side, the only key difference that reliably allows to either trigger the error or to successfully fetch the list of available formats at will, is the one described here. |
Thanks for all the efforts on this! Though it's difficult to reproduce this issue and get a detailed stacktrace, we're working on updating the built-in python environment for Seal recently, which could possibly solve this issue. |
@JunkFood02 Re stacktrace: If I knew how to inspect the GUI-configured yt-dlp command line verbatim (for a generic suggestion, see #1337), I'd have started experimenting with it in termux months ago - including more vebose modes - and likely be able to provide a much more detailled picture of the error by now. (I still don't manage to familiarize myself with the vast range of yt-dlp options to a degree that would allow me to reverse-engineer Seal's internally used yt-dlp commands from the GUI options alone. |
I'm afraid not. The error itself does not have any relevant information reflected in the logs, any of them, so that we can only guess its cause based on some clumsy A/B testing. And these attempts are even not reproducible, like I've never met this error on my own when download from YouTube |
Do you actually think more useful information could be retrieved on the commandline with some of yt-dlp's verbosity options, or am I beating a dead horse there?
EDIT: My original answer here was due to a misunderstanding. By reading more carefully, I realize you don't mean to refer to A/B testing on the side of youtube here, but instead, to say A/B testing on our side is all we're left with to guess the cause of the error. I'm afraid that's mostly true, although I hope there can be a setup that allows you to drill down to the root cause once you're able to reproduce the error by yourselves. |
We've already enabled this with
Absolutely not! We've been tracking this error for months, receiving lots of error reporting regarding different videos and download configurations. The lesson we learnt is actually that, the issue is too complicated for us to get a minimal reproducible sample, find the root cause, and solve it by patching it in our code or yt-dlp. Moreover, it's probably a combination from a corrupted python environment(the |
Thanks a lot for this elaboration, @JunkFood02 . It provides several formerly missing pieces that allow to understand the problem with this issue, and your handling thereof, much better now. If I find the time, I'll try to reproduce the error in an android emulator. That way, it should become reproducible for you guys, too. |
Having the same error here with most links, like https://youtu.be/U_LlX4t0A9I. |
At the time of your post, that video link was younger than 12 hours, which fits well into the pattern described here. Have you tried to download it more recently again? |
|
i did some testing to generate some data
and also other videos uploaded by the same 9.5M-sub-channel (-> probably prio on yt servers) in the same hour (~7h before testing)
Note: during testing i had tested settings (with the
tested formats (in order of tests -> if server changed itd be reflected)
patterns i can see:
|
Checklist
Describe the bug
No response
To Reproduce
No response
Error reports
App version: 1.10.0 (11000)
Device information: Android 12 (API 31)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
Yt-dlp version: 2023.10.13
URL: https://youtu.be/Cgx46Wnrusc?si=r4tGMXkLSuOut3KY
ERROR: Unable to download video subtitles for 'en-ehkg1hFWq8A': [Errno 2] No usable temporary directory found in ['/data/data/com.termux/files/usr/tmp', '/']
Screenshots & Screen Records
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: