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

Encountering segfault seemingly in System.Numerics.Tests.PlaneTests.PlaneCreateFromVerticesTest on 32bit Android devices when using AOT+LLVM #1444

Closed
pjcollins opened this issue Mar 20, 2018 · 4 comments
Labels
Area: Mono Runtime Mono-related issues: BCL bugs, AOT issues, etc. Area: Unit Tests Issues with repo unit tests.

Comments

@pjcollins
Copy link
Member

The new XUnit System.* tests that have been added to XA in 15.7 are crashing on the majority of "older" devices when compiled in Release mode with both AOT+LLVM enabled. As is shown in the gist output links below, the test run crashes consistently after printing the following line which leads me to believe the issue may have to do with System.Numerics.Tests.PlaneTests.PlaneCreateFromVerticesTest.

03-20 11:19:26.757 I/xUnit ( 9992): Test starting
03-20 11:19:26.757 I/xUnit ( 9992): Test name: System.Numerics.Tests.PlaneTests.PlaneCreateFromVerticesTest
03-20 11:19:26.786 I/ActivityManager( 1022): Process Xamarin.Android.Bcl_Tests (pid 9992) has died.

The same set of tests execute successfully without crashing on newer 64bit devices when both AOT and LLVM are enabled, however there are some new failures (which I will file as a separate issue).

Steps to Reproduce

  1. Download prebuilt .apk file, and run it on an older device:

adb install 15-7-aotllvm-Xamarin.Android.Bcl_Tests-Signed.apk
adb shell am instrument -w Xamarin.Android.Bcl_Tests/xamarin.android.bcltests.XUnitInstrumentation

Details

Link to .apk file - https://microsoft-my.sharepoint.com/:u:/p/pecolli/EYrN-tuwhJFJmkrnwj5vAgIBzEQFPGZkCUcmSkNMJUYMUg?e=LBt3gv
Link to obj output - https://microsoft-my.sharepoint.com/:u:/p/pecolli/EXGoMM2LZURMhg8mPY8IUyoBgDudDiDsjXrLA86zaPjHSQ?e=3YL4a8

Version Information

Windows 10 w/ VS 15.7
Xamarin.Android SDK 8.3.0.5 (HEAD/1a8ed5388)

Log File

The following devices reproduced the crash with the following log files:
Nexus 10 v5.1.1 (armeabi-v7a) - http://xqa.blob.core.windows.net/gist/report-426eda8f3f0a419682cd440c99126f10.txt
Moto G v4.4.4 (armeabi-v7a) - http://xqa.blob.core.windows.net/gist/report-8b4910f76fab4ad89c23c31ed1dd8059.txt
Nexus 5 v6.0 (armeabi-v7a) - https://gist.githubusercontent.com/pjcollins/8fcd8d365e62a71e0427190924c8dfd2/raw/09804bbe144cb34097e97a6737b44d2cce1f8f98/gistfile1.txt

@grendello
Copy link
Contributor

I don't think this bug is a blocker for the upcoming release (similar to assesment for issue #1452):

Problem area: AOT code generator. The issue doesn't surface when the tests are executed in non-AOT binary, thus suggesting the issue lies in the code generator.

Regression status: unlikely. The problems are merely surfaced by addition of the new tests, thus it is reasonable to assume the underlying issue was present in previous releases as well

Severity: serious. The failure suggests an issue in the core native code of the Mono runtime. Segmentation faults are always serious and should be eliminated as soon as possible. Additionally, the trigger appears to be (possibly) SIMD operations, similar to issue #1452, which may be a sign of multiple serious problems with the AOT code generator

Impact: moderate. Following from regression status above, the issue most likely existed before and affected only applications which

  • Use System.Numerics
  • Are compiled in the full AOT + LLVM mode

@luhenry
Copy link
Contributor

luhenry commented Apr 4, 2018

/cc @vargaz could you please take a look?

@pjcollins
Copy link
Member Author

I'm going to remove the d15-7 milestone at this point based on related severity/priority discussions.

@pjcollins pjcollins removed this from the d15-7 milestone Apr 4, 2018
@jonpryor jonpryor added the Area: Mono Runtime Mono-related issues: BCL bugs, AOT issues, etc. label Jun 3, 2018
@pjcollins
Copy link
Member Author

This particular issue is no longer reproducible with regular AOT + LLVM, though Hybrid AOT still does not work in 32bit mode as reported in #1218.

@ghost ghost locked as resolved and limited conversation to collaborators Jun 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Area: Mono Runtime Mono-related issues: BCL bugs, AOT issues, etc. Area: Unit Tests Issues with repo unit tests.
Projects
None yet
Development

No branches or pull requests

4 participants