fully fix shaman
This commit is contained in:
3461
.specstory/history/2026-01-09_18-22Z-nexus-manager-access-issue.md
Normal file
3461
.specstory/history/2026-01-09_18-22Z-nexus-manager-access-issue.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,69 @@
|
||||
<!-- Generated by SpecStory, Markdown v2.1.0 -->
|
||||
|
||||
<!-- cursor Session ce0482b1-b455-4f1b-bdb4-685ed183c431 (2026-01-09 18:37Z) -->
|
||||
|
||||
# Nexus Flamenco manager batch script (2026-01-09 18:37Z)
|
||||
|
||||
_**User**_
|
||||
|
||||
context:@.specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md @.specstory/history/2026-01-08_23-42Z-windows-symlinking-error.md @.specstory/history/2026-01-09_18-22Z-nexus-manager-access-issue.md
|
||||
|
||||
@ssh (82-117)
|
||||
i need you to create a batch that:
|
||||
1. ssh nexus
|
||||
2. cd to /mnt/PHOENIX/flamenco/software/Flamenco
|
||||
3. run the flamenco manager (linux executable)
|
||||
|
||||
---
|
||||
|
||||
_**Agent (model default, mode Agent)**_
|
||||
|
||||
|
||||
Creating a batch file to SSH to nexus, change to the Flamenco directory, and run the manager. Checking existing batch files for style:
|
||||
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
|
||||
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.bat</summary>
|
||||
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
|
||||
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_sheepit_launcher.bat</summary>
|
||||
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
|
||||
Creating a batch file to SSH to nexus and run the Flamenco manager:
|
||||
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="write" data-tool-name="edit_file_v2">
|
||||
|
||||
<details><summary>Tool use: **edit_file_v2** • Edit file: c:\Users\Nathan\Desktop\flamenco\nexus_flamenco_manager.bat</summary>
|
||||
|
||||
</details>
|
||||
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
|
||||
Created `nexus_flamenco_manager.bat`. It:
|
||||
|
||||
1. Connects to nexus via SSH
|
||||
2. Changes to `/mnt/PHOENIX/flamenco/software/Flamenco`
|
||||
3. Runs `./flamenco-manager`
|
||||
|
||||
The batch file uses a single SSH command that chains the directory change and execution. Double-click the batch file to run it, or run it from the command line.
|
||||
|
||||
---
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
**System Information**
|
||||
Operating System(s): Win11 25h2
|
||||
|
||||
**Flamenco Version**
|
||||
Is Broken: 3.8.2
|
||||
Worked OK: unknown
|
||||
|
||||
When Flamenco is ran from a Windows machine, with the shared-storage set to an SMB share, the symlinks (Windows reparse points) created by Shaman appear to be either completely useless at worst, or context dependent at best.
|
||||
|
||||
I don't know if this is a bug, or if I'm doing something wrong. But I can't get a windows system to create proper Windows Reparse points on an SMB share. And I'm [not the only one in recent history](https://www.reddit.com/r/blenderhelp/comments/1onwaj1/need_help_with_windows_flamenco_worker_file/) who has struggled to get Shaman to work with Windows and Samba.
|
||||
|
||||
1. Download and configure Flamenco
|
||||
2. Configure the security policy as instructed [in the documentation](https://flamenco.blender.org/usage/shared-storage/shaman/#windows)
|
||||
3. Enable symlinks on the (Linux) machine hosting your SMB share, as instructed [in the documentation](https://flamenco.blender.org/usage/shared-storage/shaman/#enabling-symlinks-on-samba)
|
||||
4. Set `shaman: enabled: true`.
|
||||
5. Set `shared_storage_path`. I was originally hosting the files on a TrueNAS SMB share (mapped to F:\). Testing it with a local drive (T:\Flamenco) results with the intended behavior.
|
||||
6. Submit job
|
||||
|
||||
The symlinks created within `jobs` will not be universally accessible by Windows. All Windows workers (I have only tested Windows) will fail:
|
||||
|
||||
```
|
||||
2026-01-08T15:51:58-07:00 Task assigned to worker i9kf (3690a968-f7ee-49d5-adb7-76154761d435)
|
||||
2026-01-08T15:51:58-07:00 task changed status queued -> active
|
||||
going to run:
|
||||
|
||||
'F:\software\Blender\blender.exe' -b -y --gpu-backend opengl 'F:\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '
|
||||
import bpy
|
||||
|
||||
cycles_prefs = bpy.context.preferences.addons['"'"'cycles'"'"'].preferences
|
||||
cycles_prefs.compute_device_type = '"'"'OPTIX'"'"'
|
||||
for dev in cycles_prefs.get_devices_for_type('"'"'OPTIX'"'"'):
|
||||
dev.use = (dev.type != '"'"'CPU'"'"')
|
||||
' --python-expr 'import bpy; bpy.context.scene.cycles.device = '"'"'GPU'"'"'' --render-output 'F:/renders/SSD_2B/2026-01-08_151057/######' --render-format PNG --render-frame 0..15
|
||||
|
||||
pid=32124 > 00:10.047 reports | ERROR File format is not supported in file "F:\jobs\SSD_2B\SSD_2B.flamenco.blend"
|
||||
pid=32124 > Blender 5.0.1 (hash a3db93c5b259 built 2025-12-16 01:32:30)
|
||||
pid=32124 > Cannot read ARP prefs
|
||||
pid=32124 > Update armature presets...
|
||||
pid=32124 > animation_layers_updater addon: Verbose is enabled
|
||||
pid=32124 > animation_layers_updater addon: Read in JSON settings from file
|
||||
pid=32124 >
|
||||
pid=32124 > Blender quit
|
||||
Failed: command exited abnormally with code 1
|
||||
2026-01-08T15:52:11-07:00 Task failed by 1 worker, Manager will mark it as soft failure. 2 more failures will cause hard failure.
|
||||
2026-01-08T15:52:11-07:00 task changed status active -> soft-failed
|
||||
```
|
||||
|
||||
Examining the jobfiles reveals the issue.
|
||||
<img width="480" alt="image.png" src="attachments/6e94046a-fdd3-439d-bcfc-7fbf33a449a7">
|
||||
The file is detected as `.symlink` type.
|
||||
<img width="304" alt="image.png" src="attachments/a11b8f53-916f-4437-ba8f-2b9ca09adda2">
|
||||
However, the symlink points to the proper Shaman Blob.
|
||||
|
||||
If you right click and edit the symlink in notepad, it opens the blob:
|
||||
<img width="547" alt="image.png" src="attachments/0a23fbe9-4f26-40f2-a1da-215db6fb7ec0">
|
||||
A proper blendfile with gzip compression.
|
||||
|
||||
When opened in VSCode, it opens blank.
|
||||
<img width="316" alt="image.png" src="attachments/0565d83f-ebda-4d84-99b5-e1ee5cc418c1">
|
||||
|
||||
When copied to another folder, it copies a blank file.
|
||||
<img width="317" alt="image.png" src="attachments/003955ed-3e28-4307-8cc9-56b78ce13ac7">
|
||||
|
||||
If you open the symlink in blender, the error is replicated:
|
||||
File format is not supported in file "F:\jobs\SSD_2B\SSD_2B.flamenco.blend"
|
||||
|
||||
Opening the actual blob in blender works, but obviously it's still pointing to files that cannot be found from the blob's directory. I only did this to verify that the blobs were written correctly, and they clearly are.
|
||||
|
||||
```
|
||||
18:03.360 blend | Read blend: "F:\file-store\stored\14\0c6efa48408ce1ee0a7296e057e798b1a162d7bc60d542b03d8938f33776c8\1253809.blob"
|
||||
18:03.391 blend.readfile | Read library: 'F:\file-store\stored\14\0c6efa48408ce1ee0a7296e057e798b1a162d7bc60d542b03d8938f33776c8\_outside_project\A\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Scenes\LivingRoom_v2.blend', '//_outside_project/A/1 Amazon_Active_Projects/1 BlenderAssets/Amazon/Scenes/LivingRoom_v2.blend', parent '<direct>'
|
||||
18:03.391 blend.readfile | Cannot find lib 'F:\file-store\stored\14\0c6efa48408ce1ee0a7296e057e798b1a162d7bc60d542b03d8938f33776c8\_outside_project\A\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Scenes\LivingRoom_v2.blend'
|
||||
18:03.391 blend.readfile | Read library: 'F:\file-store\stored\14\0c6efa48408ce1ee0a7296e057e798b1a162d7bc60d542b03d8938f33776c8\_outside_project\A\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Char\Customers\Mom.blend', '//_outside_project/A/1 Amazon_Active_Projects/1 BlenderAssets/Amazon/Char/Customers/Mom.blend', parent '<direct>'
|
||||
18:03.391 blend.readfile | Cannot find lib 'F:\file-store\stored\14\0c6efa48408ce1ee0a7296e057e798b1a162d7bc60d542b03d8938f33776c8\_outside_project\A\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Char\Customers\Mom.blend'
|
||||
18:03.422 blend.readfile | LIB: Collection: 'Living Room' missing from 'F:\file-store\stored\14\0c6efa48408ce1ee0a7296e057e798b1a162d7bc60d542b03d8938f33776c8\_outside_project\A\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Scenes\LivingRoom_v2.blend', parent '<direct>'
|
||||
18:03.422
|
||||
```
|
||||
|
||||
### Root Cause
|
||||
|
||||
Windows creates **Windows reparse points**. The reparse points are not interpreted properly in all contexts, but only when read from the SMB share. When Flamenco's shared storage is set to a local drive, the reparse points work, but I haven't tested if sharing this folder via SMB works, and you'd probably still have to perform [this step](https://flamenco.blender.org/usage/shared-storage/shaman/#enabling-symlinks-on-samba).
|
||||
|
||||
## Workarounds
|
||||
|
||||
1. **Use local storage:** Set `shared_storage_path` to a local NTFS drive (symlinks work perfectly). This would possibly require hosting the SMB share from that same Windows machine, but I haven't tested if that works. It's possible SMB would behave the same.
|
||||
2. **Run Flamenco Manager on Linux/WSL:** Use `mfsymlinks` mount option for SMB shares. Running the Manager from WSL on the Windows machine works, but running the Manager from the Linux machine hosting the storage makes more sense. This also requires setting up a [two-way storage variable](https://flamenco.blender.org/usage/variables/multi-platform/).
|
||||
3. **Disable Shaman.** Most other Windows users seem to recommend this, and I ran without Shaman for nearly a year and it *works*. I just wanted to try tackling the root cause, which appears to be SMB. But I can't figure out why me - and other Windows users - can't get it to work, when [Sybren's old demonstration](https://youtu.be/O728EFaXuBk?si=w1hItkAN349gFfMl) appeared to work seamlessly.
|
||||
|
||||
Bottom line: has Windows or SMB changed the way Windows reparse points are interpreted over SMB? And what can be done with Shaman (and/or the documentation) do make this work again, if anything?
|
||||
4
linux_flamenco_manager.bat
Normal file
4
linux_flamenco_manager.bat
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
title Nexus Flamenco Manager
|
||||
echo Connecting to nexus and starting Flamenco Manager...
|
||||
ssh nexus "cd /mnt/PHOENIX/flamenco/software/Flamenco && ./flamenco-manager"
|
||||
6
plan.md
6
plan.md
@@ -1,6 +0,0 @@
|
||||
1. put windows and linux flamenco manager and worker on the shared storage (on linux machine that hosts the shared storage)
|
||||
2. set up two way variable for the shared storage path on both windows (F:\) and linux (/mnt/whatever/Flamenco)
|
||||
3. create batch to launch the manager from windows using ssh to the linux machine
|
||||
4. run batch to replace running the manager from windows
|
||||
|
||||
* [X] i still need to submit a bug report that highlights that the symlinks are not working on windows when the shared storage is on an SMB share, which is the entire point... sybren does it on his demo video, so idk how it broke.
|
||||
Reference in New Issue
Block a user