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] Loader/classloader/explicitlayout/NestedStructs/case04/case04.sh failing with FAIL: object and non-object field overlap was not detected #62303

Closed
radical opened this issue Dec 2, 2021 · 5 comments · Fixed by #62308
Labels
arch-wasm WebAssembly architecture blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'

Comments

@radical
Copy link
Member

radical commented Dec 2, 2021

Rolling build, and Log

    Loader/classloader/explicitlayout/NestedStructs/case04/case04.sh [FAIL]
      
      Return code:      1
      Raw output file:      /datadisks/disk1/work/A3F40905/w/ABAB093F/uploads/Reports/Loader.classloader/explicitlayout/NestedStructs/case04/case04.output.txt
      Raw output:
      BEGIN EXECUTION
      Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET
      Copyright (C) Microsoft Corporation. All rights reserved.
      
        AppDir: /datadisks/disk1/work/A3F40905/w/ABAB093F/e/Loader/classloader/explicitlayout/NestedStructs/case04/WasmApp/
        TestBinDir: /datadisks/disk1/work/A3F40905/w/ABAB093F/e/Loader/classloader/explicitlayout/NestedStructs/case04
        ArtifactsBinDir: 
      /datadisks/disk1/work/A3F40905/p/build/WasmApp.targets(210,5): warning : Could not find $(AssemblyName)=WasmTestRunner.dll in the assemblies to be bundled. [/datadisks/disk1/work/A3F40905/p/wasm-test-runner/WasmTestRunner.proj]
      Incoming arguments: --run case04.dll
      Application arguments: --run case04.dll
      console.debug: mono_wasm_runtime_ready fe00e07a-5519-4dfe-b35a-f867dbaf2e28
      console.info: Initializing.....
      FAIL: object and non-object field overlap was not detected
      Expected: 100
      Actual: 101
      END EXECUTION - FAILED

IIUC, this is a new test that was added in #61467 . cc @simonrozsival

FYI, the diff from the previous passing rolling build - https://github.com/dotnet/runtime/compare/a61c1a3c..ad9979381706d1976e4d26e13cb88d6147264968

And it slipped through because we are not running the wasm/RuntimeTests on PRs. @lewing @steveisok Should we enable them for wasm on PRs? Or maybe based on some path changes?

@radical radical added the arch-wasm WebAssembly architecture label Dec 2, 2021
@ghost
Copy link

ghost commented Dec 2, 2021

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Rolling build, and Log

    Loader/classloader/explicitlayout/NestedStructs/case04/case04.sh [FAIL]
      
      Return code:      1
      Raw output file:      /datadisks/disk1/work/A3F40905/w/ABAB093F/uploads/Reports/Loader.classloader/explicitlayout/NestedStructs/case04/case04.output.txt
      Raw output:
      BEGIN EXECUTION
      Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET
      Copyright (C) Microsoft Corporation. All rights reserved.
      
        AppDir: /datadisks/disk1/work/A3F40905/w/ABAB093F/e/Loader/classloader/explicitlayout/NestedStructs/case04/WasmApp/
        TestBinDir: /datadisks/disk1/work/A3F40905/w/ABAB093F/e/Loader/classloader/explicitlayout/NestedStructs/case04
        ArtifactsBinDir: 
      /datadisks/disk1/work/A3F40905/p/build/WasmApp.targets(210,5): warning : Could not find $(AssemblyName)=WasmTestRunner.dll in the assemblies to be bundled. [/datadisks/disk1/work/A3F40905/p/wasm-test-runner/WasmTestRunner.proj]
      Incoming arguments: --run case04.dll
      Application arguments: --run case04.dll
      console.debug: mono_wasm_runtime_ready fe00e07a-5519-4dfe-b35a-f867dbaf2e28
      console.info: Initializing.....
      FAIL: object and non-object field overlap was not detected
      Expected: 100
      Actual: 101
      END EXECUTION - FAILED

IIUC, this is a new test that was added in #61467 . cc @simonrozsival

FYI, the diff from the previous passing rolling build - https://github.com/dotnet/runtime/compare/a61c1a3c..ad9979381706d1976e4d26e13cb88d6147264968

And it slipped through because we are not running the wasm/RuntimeTests on PRs. @lewing @steveisok Should we enable them for wasm on PRs? Or maybe based on some path changes?

Author: radical
Assignees: -
Labels:

arch-wasm

Milestone: -

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Dec 2, 2021
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@radical radical added the blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' label Dec 2, 2021
@lambdageek
Copy link
Member

lambdageek commented Dec 3, 2021

Let's disable the test on wasm for now. Nevermind - I added a PR to make the test work on wasm.

@simonrozsival wasm is 32-bit. Maybe this test only has overlapping fields on 64-bit platforms?

@lambdageek
Copy link
Member

Yea this field doesn't actually overlap the object on a 32-bit arch

lambdageek added a commit to lambdageek/runtime that referenced this issue Dec 3, 2021
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Dec 3, 2021
@simonrozsival
Copy link
Member

@lambdageek Yes, that should be the problem. In the other tests the conflicting fields have the same explicit field offset. In case04 I intentionally used different offsets and I didn't notice that it behaves differently on 32 bit platforms. Thanks for fixing it!

lambdageek added a commit that referenced this issue Dec 3, 2021
* Update overlapped field test to conflict on 32-bit arches

   Fixes #62303

* [class-init] Setup fields of nested structs in layout check

   On AOT the field's class may not have been fully inited yet.

   Related to #62311
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Dec 3, 2021
@lewing lewing removed the untriaged New issue has not been triaged by the area owner label Dec 3, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Jan 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants