Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WASM] VTable setup of type Windows.UI.Xaml.ObservableVectorListWrapper failed #12987

Closed
jeromelaban opened this issue Feb 13, 2019 · 4 comments

Comments

@jeromelaban
Copy link
Contributor

Note: I tried to create a repo sample, but with the exact same hierarchy that fails in the solution, the repro does not.

Steps to Reproduce

  1. Clone this solution at commit unoplatform/Uno.Xaml-Controls-Gallery@f1be090.
  2. In the folder XamlControlsGallery.Wasm, under linux run msbuild /r

Current Behavior

LLVM fails to compile with the following error:

[227/258] [AOT] ./linker-out/Uno.UI.dll -> ./Uno.UI.dll.bc
  Unable to compile method 'Windows.Foundation.Collections.IObservableVector`1<object> Windows.UI.Xaml.ObservableVectorWrapper:Create (object)' due to: 'VTable setup of type Windows.UI.Xaml.ObservableVectorListWrapper failed assembly:/home/nvdevops/vsts.agent01/_work/2/s/XamlControlsGallery.Wasm/obj/Release/netstandard2.0/workAot/linker-out/Uno.UI.dll type:ObservableVectorListWrapper member:(null)'.
  Mono Ahead of Time compiler - compiling assembly /home/nvdevops/vsts.agent01/_work/2/s/XamlControlsGallery.Wasm/obj/Release/netstandard2.0/workAot/linker-out/Uno.UI.dll
  AOTID 30D1EF30-CAAB-8D70-B63E-1882FCAE31A9
  Compiled: 15884/15885
  Output file: '/tmp/mono_aot_aswc2B'.
  Linking symbol: 'mono_aot_module_Uno_UI_info'.
  LLVM output file: './Uno.UI.dll.bc'.
  JIT time: 3190 ms, Generation time: 1812 ms, Assembly+Link time: 0 ms.

Expected Behavior

The assembly is built properly.

On which platforms did you notice this

[ ] macOS
[ ] Linux
[ ] Windows
[x] WebAssembly

Version Used: 5f65ce9

jeromelaban added a commit to unoplatform/uno that referenced this issue Feb 13, 2019
jeromelaban added a commit to unoplatform/uno that referenced this issue Feb 13, 2019
@vargaz
Copy link
Contributor

vargaz commented Feb 15, 2019

This is a linker problem, it removes the
ObservableVectorWrapper::add_VectorChanged method, which is needed by a subclass (ObservableVectorEnumerableWrapper) to implement the IObservableVector interface.

@vargaz
Copy link
Contributor

vargaz commented Feb 15, 2019

dotnet/linker#465

jeromelaban added a commit to unoplatform/uno that referenced this issue Feb 20, 2019
jeromelaban added a commit to unoplatform/uno that referenced this issue Feb 20, 2019
jeromelaban added a commit to unoplatform/uno that referenced this issue Feb 20, 2019
jeromelaban added a commit to unoplatform/uno that referenced this issue Feb 20, 2019
jeromelaban added a commit to unoplatform/uno that referenced this issue Feb 26, 2019
jeromelaban added a commit to unoplatform/uno that referenced this issue Mar 6, 2019
jeromelaban added a commit to unoplatform/uno that referenced this issue Mar 6, 2019
@kjpou1
Copy link
Contributor

kjpou1 commented May 29, 2019

@jeromelaban is this now working?

@jeromelaban
Copy link
Contributor Author

This is fixed in latest mono, most probably due to an update of the linker. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants