bjoern
December 7, 2022, 2:14pm
#1
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)
Elias
December 7, 2022, 2:52pm
#2
Sadly can’t reproduce. Do you see anything useful when opening VL.HDE
→ VL.HDE.vl
? Anything in the log maybe?
bjoern
December 7, 2022, 3:07pm
#3
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() { ... } }
Elias
December 7, 2022, 6:24pm
#4
And this happens on a fresh install with no packages installed (best rename %LocalAppData%vvvv\gamma\nugets
before starting)?
bjoern
December 8, 2022, 9:50am
#5
Renamed the folder, get the same error.
tonfilm
December 8, 2022, 12:07pm
#6
I couldn’t reproduce this either… The document that you attached is just an empty doc, right?
Do you have any startup arguments?
bjoern
December 8, 2022, 12:25pm
#7
Only thing is that I referenced VL.Stride.
No.
Elias
December 8, 2022, 12:57pm
#8
Fresh install to different location?
bjoern
December 8, 2022, 3:48pm
#9
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.
When I open it from Downloads (on C ) for example everything is fine.
Elias
December 9, 2022, 2:12pm
#10
Ok thanks for that last hint, now reproducible as well.
Elias
December 9, 2022, 3:40pm
#11
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