Satori Feedback

Hey, just tried out 2025.7.0-351 with a patch I am currently working on.
Unfortunately this happened twice while trying to start the patch:

It happened both times while compiling Fuse:

Foolishly forgot to run it with --log

The third time it didn’t crash but the editor / patch looked like this and none of the extensions were loaded:

Console showed the following error:

Log
    InvalidOperationException: "PE image does not have metadata."
        StackTrace:
            System.Reflection.PortableExecutable.PEReader { private System.Reflection.Internal.AbstractMemoryBlock GetMetadataBlock() { ... } } 
            System.Reflection.Metadata.PEReaderExtensions { public static System.Reflection.Metadata.MetadataReader GetMetadataReader(System.Reflection.PortableExecutable.PEReader peReader, System.Reflection.Metadata.MetadataReaderOptions options, System.Reflection.Metadata.MetadataStringDecoder utf8Decoder) { ... } } 
            System.Reflection.Metadata.MetadataReader { public static System.Reflection.AssemblyName GetAssemblyName(string assemblyFile) { ... } } 

BadImageFormatException: "PE image does not have metadata."
    FileName: "C:\Users\bm\AppData\Local\Temp\vvvv-package-cache\2025.7.0-0351-gb3f6445d75\VL.Addons.0.4.1\VL.Addons.vl.dll"
    StackTrace:
        System.Reflection.Metadata.MetadataReader { public static System.Reflection.AssemblyName GetAssemblyName(string assemblyFile) { ... } } 
        VL.Lang.Platforms.Roslyn.MetadataUtils { public static Microsoft.CodeAnalysis.PortableExecutableReference CreateMetadataReference(string assemblyFile) { ... } } 
        VL.Lang.Platforms.Roslyn.Platform { internal Microsoft.CodeAnalysis.PortableExecutableReference LoadMetadataReference(string assemblyFile) { ... } } 
        VL.Lang.Platforms.Roslyn.RuntimeMetadataReferenceResolver { private Microsoft.CodeAnalysis.PortableExecutableReference ResolveMissingAssemblyCore(Microsoft.CodeAnalysis.MetadataReference definition, Microsoft.CodeAnalysis.AssemblyIdentity referenceIdentity) { ... } } 
        VL.Lang.Platforms.Roslyn.RuntimeMetadataReferenceResolver { public virtual Microsoft.CodeAnalysis.PortableExecutableReference ResolveMissingAssembly(Microsoft.CodeAnalysis.MetadataReference definition, Microsoft.CodeAnalysis.AssemblyIdentity referenceIdentity) { ... } } 
        VL.Lang.Platforms.Roslyn.SymbolSourceProvider { private VL.Lang.Platforms.Roslyn.AssemblySymbolSource <GetAssemblySymbolSource>g__Compute|27_0(Microsoft.CodeAnalysis.AssemblyIdentity assemblyIdentity, string assemblyFile) { ... } } 
        VL.Lang.Platforms.Roslyn.SymbolSourceProvider { internal VL.Lang.Platforms.Roslyn.AssemblySymbolSource GetAssemblySymbolSource(Microsoft.CodeAnalysis.AssemblyIdentity assemblyIdentity, string assemblyFile) { ... } } 
        VL.Lang.Platforms.Roslyn.SymbolSourceProvider { internal VL.Lang.Platforms.Roslyn.AssemblySymbolSource GetAssemblySymbolSource(string location) { ... } } 
        VL.Lang.Platforms.Roslyn.SymbolSourceProvider { public virtual VL.Lang.Symbols.ISymbolSource GetSymbolSource(string location) { ... } } 
        VL.Lang.Symbols.DocSymbols+NugetDependencySymbol+<GetReferencesCore>d__16 { private virtual bool MoveNext() { ... } } 
        System.Collections.Generic.LargeArrayBuilder`1 { public void AddRange(System.Collections.Generic.IEnumerable<> items) { ... } } 
        System.Collections.Generic.EnumerableHelpers { internal static T[] ToArray(System.Collections.Generic.IEnumerable<> source) { ... } } 
        System.Collections.Immutable.ImmutableArray { public static System.Collections.Immutable.ImmutableArray<> CreateRange(System.Collections.Generic.IEnumerable<> items) { ... } } 
        VL.Model.InterlockedHelper { public static System.Collections.Immutable.ImmutableArray<> Init(System.Collections.Immutable.ImmutableArray<>& this, System.Collections.Generic.IEnumerable<> values) { ... } } 
        VL.Lang.Symbols.DocSymbols+DependencySymbol { public virtual System.Collections.Immutable.ImmutableArray<VL.Lang.Symbols.ISymbolSource> get_References() { ... } } 
        VL.Lang.Symbols.PreCompilation { internal VL.Lang.Helper.Graph<uint, VL.Lang.Symbols.DocSymbols> BuildDocumentGraph(bool skipPreCompiled, bool introduceBackedges) { ... } } 
        VL.Lang.Symbols.PreCompilation+<>c__DisplayClass19_0 { internal System.Collections.Generic.IEnumerable<VL.Lang.Symbols.IProjectSymbol> <Initialize>g__CreateAdhocProjects|14() { ... } } 
        VL.Lang.Symbols.PreCompilation { private void Initialize(VL.Lang.Symbols.PreCompilation previousCompilation, System.Threading.CancellationToken token, System.IProgress<VL.Model.LoadMessage> progress) { ... } } 
        VL.Lang.Symbols.PreCompilation { internal static VL.Lang.Symbols.PreCompilation Create(VL.Lang.Symbols.IPlatform platform, VL.Model.Internal.Solution solution, VL.Lang.Symbols.PreCompilation previous, VL.Model.CompileOptions options, System.Threading.CancellationToken token, System.IProgress<VL.Model.LoadMessage> progress) { ... } } 
        VL.Lang.Symbols.PreCompilation { internal VL.Lang.Symbols.PreCompilation WithSolution(VL.Model.Internal.Solution value, VL.Model.CompileOptions options, System.Threading.CancellationToken token, System.IProgress<VL.Model.LoadMessage> progress) { ... } } 
        VL.Lang.Symbols.PreCompilation { public VL.Lang.Symbols.PreCompilation WithSolution(VL.Model.Solution value, VL.Model.CompileOptions options, System.Threading.CancellationToken token, System.IProgress<VL.Model.LoadMessage> progress) { ... } } 
        VL.Model.VLSession+<>c__DisplayClass175_0 { internal VL.Lang.Symbols.PreCompilation <PrepareSolutionWithFreshSymbolsAsync>b__0() { ... } } 
        System.Threading.Tasks.Task`1 { internal virtual void InnerInvoke() { ... } } 
        System.Threading.ExecutionContext { internal static void RunFromThreadPoolDispatchLoop(System.Threading.Thread threadPoolThread, System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Threading.ExecutionContext { internal static void RunFromThreadPoolDispatchLoop(System.Threading.Thread threadPoolThread, System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) { ... } } 
        System.Threading.Tasks.Task { private void ExecuteWithThreadLocal(System.Threading.Tasks.Task& currentTaskSlot, System.Threading.Thread threadPoolThread) { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Model.VLSession+<PrepareSolutionWithFreshSymbolsAsync>d__175 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Model.VLSession+<UpdateCompilationAsync>d__173 { private virtual void MoveNext() { ... } }

Deleted VL.Addons from the cache, restarted and now it works.

Idk if this is really caused by the new gc but it hasn’t happened with previous versions, tried with 349 just before.

CLOCK_WATCHDOG_TIMEOUT

Edit:
Ok deleted the package cache completely. Started vvvv (this time with --log) and bluescreen again.
Log says the following:


2025-05-19T09:29:20.7083559+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_3ecdfedeb478ed55ae30f10a3682559e.hlsl(560,5): warning X4000: use of potentially uninitialized variable (col)

2025-05-19T09:29:20.7090511+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_3ecdfedeb478ed55ae30f10a3682559e.hlsl(560,5): warning X4000: use of potentially uninitialized variable (col)

2025-05-19T09:29:21.1655491+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_69cd30de9268fc021f8c10bfae90056b.hlsl(206,11-61): warning X3206: implicit truncation of vector type

C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_69cd30de9268fc021f8c10bfae90056b.hlsl(147,11-61): warning X3206: implicit truncation of vector type

2025-05-19T09:29:21.1655763+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_69cd30de9268fc021f8c10bfae90056b.hlsl(206,11-61): warning X3206: implicit truncation of vector type

C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_69cd30de9268fc021f8c10bfae90056b.hlsl(147,11-61): warning X3206: implicit truncation of vector type

2025-05-19T09:29:21.1655849+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_69cd30de9268fc021f8c10bfae90056b.hlsl(206,11-61): warning X3206: implicit truncation of vector type

C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_69cd30de9268fc021f8c10bfae90056b.hlsl(147,11-61): warning X3206: implicit truncation of vector type

2025-05-19T09:29:21.1655881+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_69cd30de9268fc021f8c10bfae90056b.hlsl(206,11-61): warning X3206: implicit truncation of vector type

C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_69cd30de9268fc021f8c10bfae90056b.hlsl(147,11-61): warning X3206: implicit truncation of vector type

2025-05-19T09:29:21.3850262+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_172c3e702e780fcc21375f93d53fecfb.hlsl(192,57-82): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them

2025-05-19T09:29:21.3850552+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_172c3e702e780fcc21375f93d53fecfb.hlsl(192,57-82): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them

2025-05-19T09:29:21.4296214+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_fbf5fa81849a7692e646dbbb9ab105be.hlsl(203,21-36): warning X3203: signed/unsigned mismatch, unsigned assumed

2025-05-19T09:29:21.4296436+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_fbf5fa81849a7692e646dbbb9ab105be.hlsl(203,21-36): warning X3203: signed/unsigned mismatch, unsigned assumed

2025-05-19T09:29:21.4296531+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_fbf5fa81849a7692e646dbbb9ab105be.hlsl(203,21-36): warning X3203: signed/unsigned mismatch, unsigned assumed

2025-05-19T09:29:21.4296543+02:00 WARN [vvvv] [0] C:\SomeProject\vvvv\vvvv_gamma_7.0-0351\log\shader_TextureFXEffect_fbf5fa81849a7692e646dbbb9ab105be.hlsl(203,21-36): warning X3203: signed/unsigned mismatch, unsigned assumed

2025-05-19T09:29:24.1885873+02:00 INFO [vvvv] [0] C:\SomeProject\nugets\VL.Addons.0.4.1\VL.Addons.vl -> C:\Users\someuser\AppData\Local\Temp\vvvv-package-cache\2025.7.0-0351-gb3f6445d75\VL.Addons.0.4.1\VL.Addons.vl.dll

2025-05-19T09:29:24.6887742+02:00 WARN [vvvv] [0] Problem reading the cache file C:\Users\someuser\AppData\Local\Temp\VVVV.NugetResolver\__ROOT__pjKc0eUQ2fLQLTn\MiCI\UNZS85+j\9jDzDGsLcBzhI=\project.nuget.cache : Found invalid data while decoding.

2025-05-19T09:29:31.0183410+02:00 WARN [vvvv] [0] The project VL.Fuse.vl has errors. Package compilation will continue assuming the error is non-critical.
1 Like

Ouch, so sad to here. Let me try to get in the latest bits and pieces first (there has been one commit in upstream repo which we do not have in currently) and go from there. If the issue persists we’ll have to revert or continue in a branch with a second download.

Tried it on another PC, multiple times. Deleting the package-cache after each try. No crashes.
The first PC that shows the issue has an Intel Core i9-12900KF CPU.
The second one which seems to work just fine has an AMD Ryzen 9 7950X3D.

If it helps I can prepare a zip with all the necessary files to run that patch.

@bjoern Could you try testing with the following dlls? Release 2025.519.1 · ppy/Satori · GitHub
Try the release build first, simply copy/replace those files in the install folder. You can then also try the debug build - hoping it triggers some sort of assertion the release build wouldn’t.

For reference I’ve also asked about your case here.

Will try tomorrow.

Hey,

Just for feedback, I have been working full days on 7.0-351 since it was released and everything is smooth so far here on the pretty intensive app I’m working on.
My machine is using an i9-13900KF.

Hope this can soon be as smooth for everyone!
T

Ok when using the release build, same issue as before, windows bluscreens almost every time the patch is started (an the package-cache needs to be build). Crashed 4 times out of 5 tries.

With the debug build windows doesn’t crash but vvvv does. Also tried 5 times (which takes ages as smoogipoo warned on gh). Following error is logged in windows event viewer:


Faulting application name: vvvv.exe, version: 2025.7.0.0, time stamp: 0x67d40000
Faulting module name: coreclr.dll, version: 42.42.42.42424, time stamp: 0x682b1b72
Exception code: 0xc0000602
Fault offset: 0x0000000000b1e739
Faulting process ID: 0x3584
Faulting application start time: 0x01dbc96d8e21f089
Faulting application path: C:\someproject\vvvv\vvvv_gamma_7.0-0351\vvvv.exe
Faulting module path: C:\someproject\vvvv\vvvv_gamma_7.0-0351\coreclr.dll
Report ID: edfdcd87-4c6b-4b54-8d7b-8474941ed4fb
Faulting package full name: 
Faulting package-relative application ID:

Also attached the visual studio debugger but the only thing it gave me was this:

Since it was suggested that it is most likely an hardware or diver issue I went ahead and retested with 349. According to the changelog the only major difference to 351 should be Satori.
Tried over 10 times (deleting the package-cache between tries and rebooting windows once) but no bluescreen.

But maybe 349 has just more luck?

The machine I am testing on had 128 GB of RAM installed (4 * 32 GB). XMP disabled. Tried with only 32GB (with different Ram sticks in different slots). Did not make a difference.

Just to rule other things out - if you copy and overwrite clrjit.dll, coreclr.dll, System.Private.CoreLib.dll from C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.15 to your vvvv 351 folder - it no longer crashes?

And for reference - when using the debug build I can confirm, takes ages and crashes shortly before loading up the UI, seeing same error code and fault offset as you posted. So that might be unrelated.

Tried that (again starting the patch 10 times) and indeed no crashes.