Luke
January 31, 2017, 12:21pm
1
If using more than 3 ux:Dependency
s on a ux:Class
the app fails to start in the test environment, with the error:
Illegal parameter count
Please see the Fuse Monitor (Cmd/Ctrl+M) for details.
The fuse monitor in question just shows a stacktrace within the uno source closure evaluation, but gives no hint as to the actual cause.
Is the limit supposed to be 3? (this seems rather low, and should be documented, if so)
Can the error for this scenario be more informative? Took me a long time of disabling things to work out what was causing it.
Hi! There is no such limit. Can you please provide a test project that reproduces the issue?
Thanks
Luke
January 31, 2017, 5:14pm
3
<App>
<Panel ux:Class="Test">
<Panel ux:Dependency="d1" />
<Panel ux:Dependency="d2" />
<Panel ux:Dependency="d3" />
<Panel ux:Dependency="d4" />
</Panel>
<Panel ux:Name="input" />
<Test d1="input" d2="input" d3="input" d4="input" />
</App>
That works fine here. What build command are you using?
Luke
January 31, 2017, 5:23pm
5
Just fuse preview
Here’s a log (from the above MainView.ux
):
> fuse preview
Fuse 0.33.0 (build 10195)
Build started: FullCompile
Configuring (2.0 s)
Compiling syntax tree (2.0 s)
Generating code and data (11.6 s)
Build completed in 15.71 seconds
Build ended
GL_VERSION: 4.1.11251 Compatibility Profile Context
GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: AMD Radeon HD 6530D
System.Exception: Illegal parameter count
at Outracks.Simulator.Runtime.ScopeClosure.Evaluate(Lambda p) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 262
at Outracks.Simulator.Bytecode.Expression.Match[T](Func`2 a1, Func`2 a2, Func`2 a3, Func`2 a4, Func`2 a5, Func`2 a6, Func`2 a7, Func`2 a8, Func`2 a9, Func`2
a10, Func`2 a11, Func`2 a12, Func`2 a13, Func`2 a15, Func`2 a16) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Protocol.Uno\0.0.0\bytecode\$.uno:line 112
at Outracks.Simulator.Runtime.ScopeClosure.Evaluate(Expression expression) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 131
at Outracks.Simulator.Runtime.ScopeClosure.Execute(Lambda lambda, Object[] arguments) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 105
at Outracks.Simulator.Runtime.LambdaClosure.Func(Object a1) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 341
at Outracks.Simulator.Runtime.LambdaClosure.Action(Object a1) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 321
at Outracks.Simulator.Runtime.ScopeClosure.Execute(Object lambda, Object[] arguments) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 231
at Outracks.Simulator.Runtime.ScopeClosure.Evaluate(CallLambda i) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 163
at Outracks.Simulator.Bytecode.Expression.Match[T](Func`2 a1, Func`2 a2, Func`2 a3, Func`2 a4, Func`2 a5, Func`2 a6, Func`2 a7, Func`2 a8, Func`2 a9, Func`2
a10, Func`2 a11, Func`2 a12, Func`2 a13, Func`2 a15, Func`2 a16) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Protocol.Uno\0.0.0\bytecode\$.uno:line 117
at Outracks.Simulator.Runtime.ScopeClosure.Evaluate(Expression expression) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 131
at Outracks.Simulator.Runtime.ScopeClosure.Execute(IEnumerable`1 statements)
in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 117
at Outracks.Simulator.Runtime.ScopeClosure.Execute(Lambda lambda, Object[] arguments) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 107
at Outracks.Simulator.Runtime.VirtualMachine.Execute(IReflection reflection,
Lambda lambda, Object[] arguments) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 78
at Outracks.Simulator.Runtime.VirtualMachine.Execute(Lambda lambda, Object[]
arguments) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\runtime\$.uno:line 73
at Outracks.Simulator.Reifying.OnEnterState() in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\$.uno:line 516
at Outracks.Simulator.Application.SetState(State nextState) in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\$.uno:line 211
at Outracks.Simulator.Application.OnUpdate() in Fusetools\Fuse\App\app-0.33.0.10195\Packages\Outracks.Simulator.Client.Uno\0.1.0\$.uno:line 201
at Fuse.App.Update() in Fusetools\Packages\Fuse.Desktop\0.44.1\$.uno:line 73
Ok, thanks for the report. This seems to be in a different part of the product than what I assumed. Raising an internal issue for the preview engine team.
I’ve just pushed a fix for this, but I believe I missed the merge window for this release, so it’ll likely be fixed in the next release
A quick update here: The fix will be included in Fuse 0.34, which should be out in a week or two.