Opening patch breaks hamburger menu and help browser (F1)

I’ve got an (empty) patch that only references VL.CoreLib and VL.Stride. After I open it the hamburger menu and the help browser are broken / won’t open anymore.

Tested with 2021.4.12.

To reproduce:

  • start vvvv
  • check if HM and HB are working
  • open the attached patch (via quad menu or ctrl + o)
  • check again (click on HM / press F1)

Break.vl (1.4 KB)

Sadly can’t reproduce. Do you see anything useful when opening VL.HDEVL.HDE.vl? Anything in the log maybe?

Ok had to open the Log manually.

When opening the Break document:


OUTDATED: o: 0(-1) KeepAlive<BehaviorSubject<Boolean>, HelpBrowserCommand>
REASON: Outdated, RestoreState

Stopping VL.HDEApplication

RegisterService called on outdated type _VL_Skia_.Graphics.Skia.SkiaPaint_R
RegisterService called on outdated type _VL_Skia_.Graphics.Skia.SkiaPaint_R

Starting VL_HDEApplication_QlaTXIlXgxNPy7nQvwDUCi

OUTDATED: o: 0(-1) KeepAlive<BehaviorSubject<Boolean>, HelpBrowserCommand>
REASON: Outdated, RestoreState

Stopping VL.HDEApplication

Restarting the app didnt fix the issue. So lets not run it again. Stopping runtime VL.UI.Forms.EditorRuntime

When opening HelpBrowserCommand in VL.HDE I get the following:

EmitException: "D:\_Patching\Foo\Some.Gamma.Project\vvvv\vvvv_gamma_2021.4.12\lib\packs\VL.HDE.2021.4.12\VL.UI.HelpBrowser.vl.cs(36,45): error CS0315: The type '_VL_UI_HelpBrowser_.__AdaptiveImplementations__VFVf8GD51Z9PxcEkRZP1RR' cannot be used as type parameter 'AdM' in the generic type or method 'KeepAlive_I2beAdukh4QLA3Xk79CgPr<BehaviorSubject<bool>, HelpBrowserCommand_C>.Update<AdM>(out BehaviorSubject<bool>)'. There is no boxing conversion from '_VL_UI_HelpBrowser_.__AdaptiveImplementations__VFVf8GD51Z9PxcEkRZP1RR' to '_CoreLibBasics_.Primitive.Advanced.Adaptive.IAdaptiveCreateDefault<System.Reactive.Subjects.BehaviorSubject<bool>>'."
    StackTrace:
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass45_0 { internal System.ValueTuple<Microsoft.CodeAnalysis.AssemblyMetadata, System.Reflection.Assembly> <Emit>g__EmitDebug|0() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation { private System.ValueTuple<Microsoft.CodeAnalysis.PortableExecutableReference, System.Reflection.Assembly> Emit(VL.Lang.Symbols.IProjectSymbol project, Microsoft.CodeAnalysis.CSharp.CSharpCompilation compilation, bool isDebug, bool includeSource, System.Threading.CancellationToken token) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass2_0 { internal System.ValueTuple<Microsoft.CodeAnalysis.CSharp.CSharpCompilation, VL.Lang.Platforms.Roslyn.ProjectCompilation> <InitializeAsync>g__Build|2(VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass2_0 { internal VL.Lang.Platforms.Roslyn.ProjectCompilation <InitializeAsync>g__BuildOrLoad|1(VL.Lang.Platforms.Roslyn.ProjectBuildRequest buildRequest) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass2_1+<<InitializeAsync>b__5>d { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<InitializeAsync>d__2 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<CreateAsync>d__0 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<WithCompilationAsync>d__41 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<VL-Lang-Symbols-ITargetCompilation-WithCompilationAsync>d__42 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) { ... } } 
        VL.Model.VLSession+<CreateTargetCompilationAsync>d__158 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) { ... } } 
        VL.Model.VLSession+<UpdateRuntimesAsync>d__157 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) { ... } } 
        VL.Model.VLSession+<UpdateCompilationAsync>d__180 { private virtual void MoveNext() { ... } }

And this happens on a fresh install with no packages installed (best rename %LocalAppData%vvvv\gamma\nugets before starting)?

Renamed the folder, get the same error.

I couldn’t reproduce this either… The document that you attached is just an empty doc, right?

Do you have any startup arguments?

Only thing is that I referenced VL.Stride.

No.

Fresh install to different location?

Also happens with a fresh install / different location.
But it is somehow related to the location of the patch. I’ve got two partitions on this PC:

  • C (windows, programs)
  • D (projects, data)

vvvv is installed on D. Path similar to this:
D:\_Patching\Client\Some.Project23\vvvv\vvvv_gamma_2021.4.12

If the patch is on D opening it causes the error. I tried for example:

  • D:\Break.vl
  • D:\ _patching\Break.vl

Loading it from there also takes a lot longer.
Break

When I open it from Downloads (on C) for example everything is fine.

NoBreak

Ok thanks for that last hint, now reproducible as well.

Short version: You’ll find a fix in upcoming 2021.4.13-preview-1375

Long version:
If you have vvvv inside your project folder and don’t want to switch to a preview version, see to it that your vl files are beside the vvvv install folder (and not above), for example

myProject\vvvv\vvvv.exe
myProject\patches\main.vl

The system seems to behave badly in this case for quite a while (pre 2021), it’s only with the introduction of the recently introduced safety-net that such issues actually show up and consequently lead to bug reports like this one. Thank you for doing that.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.