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.
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.