Search Issue Tracker

By Design

Votes

3

Found in

2017.4

2018.3.8f1

2018.4

2019.1

2019.2

2019.3

Issue ID

1160085

Regression

No

[Android] Crash (SIGBUS) occurs when reading the area where 4 bytes are not aligned with il2cpp release, but not debug

IL2CPP

-

To reproduce:
1. Download and open the attached project
2. Build and run to the device

Actual result: application crashes
Expected result: the application should not crash

Reproduced with: 2017.4.29f1;2018.4.3f1; 2019.1.7f1; 2019.2.0b6; 2019.3.0a6

Tested with:
VLNQA00123, Google Pixel 2 XL (Pixel 2 XL), Android 9, CPU: Snapdragon 835 MSM8998, GPU: Adreno (TM) 540
VLNQA00266, Xiaomi Mi A2 (Mi A2), Android 8.1.0, CPU: Snapdragon 660, GPU: Adreno (TM) 512
VLNQA00009, Samsung Galaxy Note8 (SM-N950F), Android 8.0.0, CPU: Exynos 9 Octa 8895, GPU: Mali-G71

Note: not sure if this is duplicate of https://fogbugz.unity3d.com/f/cases/1078189/
Note: This problem is caused by a process in an algorithm called FarmHash published by Google.
Of the five pieces of Fetch32 in the code, it has been confirmed that three are similarly converted to "LDM".
https://github.com/google/farmhash/blob/master/src/farmhash.cc#L1102-L1104
https://github.com/neuecc/MessagePack-CSharp/blob/master/src/MessagePack/Internal/FarmHash.cs#L163-L165

  1. Resolution Note:

    This is unsafe C# code which is reading unaligned memory on ARM, which is not allowed.

Comments (2)

  1. soorya696

    Dec 10, 2019 08:17

    I'm too facing this issue. Any update on this?
    I'm using unity 2019.3.01f

  2. vfilho

    Dec 04, 2019 18:40

    How is the progress of this solution? I'm facing this issue and I don't have any clue how fix this problem, please give us some feedback.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.