Symlinked blend file not reading properly (macOS server, Windows client) #104335
Labels
No Label
Good First Issue
Priority
High
Priority
Low
Priority
Normal
Status
Archived
Status
Confirmed
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Job Type
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: studio/flamenco#104335
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Operating System(s):
[Manager] macOS Sonoma 14.4
[Worker] Windows 10 Home
Version(s):
Blender 4.2
Flamenco 3.5
Description:
First-time Flamenco user, have read all existing documentation with special attention to the section on Code 1. My shared storage is a shared directory on my Mac to which I've applied a static IP address (192.168.0.9). Before setting up two-way variables due to my mixed setup, I received the "no such file or directory" code 1 error in the second screenshot. I have since modified my flamenco-manager.yaml to account for this (third screenshot) and am now receiving the "invalid argument" code 1 error seen in the first screenshot. Unsure where to begin troubleshooting, please advise.
Error Steps
Welcome!
Excellent :) Not sure what you mean with "Code 1" though.
In the future, please don't attach text as screenshots. It makes it impossible for me (or anyone else) to copy-paste anything from it. See https://stuvel.eu/post/2021-07-11-code-in-markdown/ for more info & instructions.
The error you're seeing is due to the Manager using symlinks, and Windows not understanding those (at least not in the way that macOS serves them right now). https://flamenco.blender.org/usage/shared-storage/shaman/ explains some options on how to deal with those. Alternatively you could turn off the Shaman system and switch to the 1st or 2nd option listed in https://flamenco.blender.org/usage/shared-storage/
Since there hasn’t been a response in a few weeks, I’ll close this report.
Apologies for the long wait and for the screenshots, not sure what the policy is here on reopening tickets so please let me know if a separate ticket is preferable. Will also be sure to provide copy-pasteable code going forward. Thank you for your help on this issue! After re-reading the Shaman documentation I realized I missed a step while setting up my Windows worker, and have since enabled Developer Mode to make symlinks translate correctly to Windows 10 Home. Unfortunately this hasn't resolved the issue, and I'm curious if there are any additional steps I can take to troubleshoot symlink functionality on my worker machine.
The task log for the error message in the Flamenco interface is as follows:
The console for the worker machine is as follows:
This may or may not be a factor, but the worker is failing to locate Blender on launch and relies on the two-way variable I established for the Windows Blender path in flamenco-manager.yaml. My worker's Blender installation is stored in the standard location (C:\Program Files\Blender Foundation\Blender 4.0\blender.exe), is there any method for helping the worker find Blender without the two-way variable?
Reopening the issue is the right approach. That way we don't spread out over too many issues, and keep things a bit more focused. Thanks :)
This is not the issue. You can see in the task log that Blender runs, but that it cannot load the blend file.
The problem is likely the symlinks, how these are served by your mac, and how they are interpreted by Windows. Windows and symlinks is always tricky. To debug this, you'll likely have to change some settings on your mac and/or on Windows, outside of Flamenco. The good news is that you can test those without Flamenco as well, just try to open the blend file yourself on Windows. That should at least make the testing faster.
Now, how to deal with macOS I don't quite know. @fsiddi did some investigation here -- Francesco, do you have some knowledge to share?
Error: Cannot read file [PATH] Invalid argument (Code 1)to Symlinked blend file not reading properly (macOS server, Windows client)Thank you for the guidance! I've just tested opening the symlink of the Blender file manually from my PC's Blender installation. It recognizes the .blend extension of the file, but fails to open the file and gives the same "Invalid Argument" error message, which supports your theory that Windows isn't properly translating the symlink. Since I've already enabled Developer Mode, are there any other Windows settings I should experiment with to troubleshoot? Would it help to copy and paste the contents of my flamenco-manager.yaml here for context?
Update! I found a command online ("fsutil behavior query symlinkevaluation") that I pasted into Command Prompt and it returned the following information:
C:\Users\elimu>fsutil behavior query symlinkevaluation Local to local symbolic links are enabled. Local to remote symbolic links are enabled. Remote to local symbolic links are disabled. Remote to remote symbolic links are disabled.
I'm not sure if this information is helpful, but I thought I'd provide it just in case. From here, I figured out how to enable the latter two remote options through the command line and attempted another Flamenco render, which produced the same result.
Thanks for the investigation. I think for this to work, remote-to-remote symlinks have to be enabled. I found an article that says this command could work:
Remote-to-remote symlinks have been enabled, still receiving the same error message. Could it be something on the Mac side?
This is just another guess, but running the Worker application on my Windows machine sometimes displays an error about having difficulty locating FFmpeg, could this be causing the error?
For troubleshooting purposes I attempted the same setup without Shaman today (working directly on shared storage) and received a similar error. The worker's task log is as follows:
Correct me if I'm wrong, but I have a suspicion that "C:\Users\elimurphy\Public\RENDER\TestWithoutShaman" is the result of a two-way variable being misinterpreted, and may be the cause of our original issue. I'm unclear why it's affixing "C:" to my Windows storage filepath when my storage directory is mounted as "Y:" and specified in my flamenco-manager.yaml as "Y:\Renders". For context, my variables are as follows:
My shared storage path near the top of flamenco-manager.yaml is as follows:
shared_storage_path: /Users/elimurphy/Public/RENDER
Please let me know if I'm doing the path prefix replacement incorrectly.
If the mac is using Samba, you could even configure it so that it doesn't even show the Windows client that there are symlinks. You'd have to dig through the Samba docs to find how to do that, though.
https://flamenco.blender.org/usage/shared-storage/shaman/#enabling-symlinks-on-samba might also help.
Is that actually an error? Or a warning? Is it this? https://flamenco.blender.org/faq/#my-worker-cannot-find-blender-what-do-i-do
The render output is set to
/Users/elimurphy/Public/RENDER/TestWithoutShaman/...
but the two-way variable is set to/Users/elimurphy/Public/RENDER/Renders
. The render output doesn't match the two-way variable.You were right! Turns out the issue was caused by the discrepancy between the render output and the two-way variable. Problem solved! Thank you so much for all of your help and insight. Also, totally unrelated, just listened to your talk on scripting for artists and thoroughly enjoyed it :)