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

[arm64|Unix] segmentation fault when running any test #11025

Closed
jashook opened this issue Sep 2, 2018 · 6 comments
Closed

[arm64|Unix] segmentation fault when running any test #11025

jashook opened this issue Sep 2, 2018 · 6 comments
Assignees
Labels
arch-arm64 os-linux Linux OS (any supported distro)

Comments

@jashook
Copy link
Contributor

jashook commented Sep 2, 2018

Stack trace below.

#0  Object::ValidateInner (this=0xa, bDeep=1, bVerifyNextHeader=1, bVerifySyncBlock=1) at /coreclr/src/vm/object.cpp:729
dotnet/coreclr#1  0x0000007fb708e240 in OBJECTREF::OBJECTREF (this=0x7fffffcbd0, pObject=0xa) at /coreclr/src/vm/object.cpp:1403
dotnet/coreclr#2  0x0000007fb730b4a8 in TransitionFrame::GetThis (this=0x7fffffcbe0) at /coreclr/src/vm/frames.h:1000
dotnet/coreclr#3  PreStubWorker (pTransitionBlock=<optimized out>, pMD=0x7f3d6c79b0) at /coreclr/src/vm/prestub.cpp:1527
dotnet/coreclr#4  0x0000007fb725ffc8 in ThePreStub () at /coreclr/src/vm/contractimpl.h:210
dotnet/coreclr#5  0x0000007f3d56ee44 in ?? ()
dotnet/coreclr#6  0x0000007f18009180 in ?? ()
@jashook
Copy link
Contributor Author

jashook commented Sep 2, 2018

/cc @dotnet/arm64-contrib

@jashook
Copy link
Contributor Author

jashook commented Sep 2, 2018

/cc @BruceForstall this will block your work to get innerloop testing on arm64.

@jashook
Copy link
Contributor Author

jashook commented Sep 2, 2018

Assigning myself for now, will investigate a little.

@jashook jashook self-assigned this Sep 2, 2018
@janvorli
Copy link
Member

janvorli commented Sep 3, 2018

I wonder if it could be caused by the change dotnet/coreclr#19344 in the transition frame layout.

@janvorli
Copy link
Member

janvorli commented Sep 3, 2018

It seems it is the case. The SAVE_ARGUMENT_REGISTERS macro was not updated to reflect the fact that after the change dotnet/coreclr#19344, x8 is saved as the first register in the arguments registers block and not the last one:

https://github.com/dotnet/coreclr/blob/master/src/pal/inc/unixasmmacrosarm64.inc#L193-L201

@janvorli
Copy link
Member

janvorli commented Sep 3, 2018

The Windows version of that macro is correct:
https://github.com/dotnet/coreclr/blob/master/src/vm/arm64/asmmacros.h#L166-L184

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 os-linux Linux OS (any supported distro)
Projects
None yet
Development

No branches or pull requests

2 participants