Repository navigation
Test failure in TestBundleIntegerArrayList2 when the shared runtime is enabled #4596
Description
Activity
- addedArea: App RuntimeIssues in `libmonodroid.so`.Issues in `libmonodroid.so`.
on Apr 21, 2020 I've got a better reproduction for this and it's also affecting d16-6. You can hit this by installing and running https://github.com/xamarin/monodroid-samples/tree/master/android5.0/DrawableTinting on device in Debug mode.
The crash happens here - https://github.com/xamarin/monodroid-samples/blob/master/android5.0/DrawableTinting/DrawableTinting/DrawableTintingFragment.cs#L118
I've linked logcat output for the latest d16-6 results runtime test failure and the DrawableTinting sample crash.
- added a commit that references this issue
on Apr 30, 2020 - added 2 commits that reference this issue
on May 1, 2020 I've got a better reproduction for this and it's also affecting d16-6. You can hit this by installing and running https://github.com/xamarin/monodroid-samples/tree/master/android5.0/DrawableTinting on device in Debug mode.
Partly just for my own future reference, I'll record that setting
$(AndroidLinkMode)=Nonein the Release configuration in the DrawableTinting sample produces the sameMemberAccessException, so, as expected given the nature of the underlying issue, this issue can in theory also affect apps built in the Release configuration.The
Releasebuilds don't use strings with the managed types. Each Java type name is associated with exactly one managed type using MVID (managed assembly's module UUID) and the type token id. The same is true in reverse - aMVID:TOKEN_IDpair matches exactly one Java type name (we have code in place which handles Java type name duplicates by associating variousMVID:TOKEN_IDpairs to the same type name). Therefore, binary search never has to deal with duplicates in the array and always the first type found when generating the type map is placed in the lookup array. None of the repros here triggered the isue in Release mode.- added 2 commits that reference this issue
on May 6, 2020 4 remaining items
- added a commit that references this issue
on May 8, 2020 @grendello I'm seeing a new startup crash with the DrawableTinting test case with this patch applied to d16-6: https://gist.github.com/pjcollins/87762e81f1f3c7e8b821356e4612eecf
I'm worried about other potential fallout/risk on d16-6 with changes coming this late (unfortunately in part due to detection of this issue coming late in the cycle). Do we have a sane way to revert to d16-5 behavior here for the shorter time frame and look to address this more properly in d16-7 or d16-8? I understand this would carry a performance hit but I think it would be preferable to limit the scope of change in d16-6 at this point if possible.
- added a commit that references this issue
on May 11, 2020 Release status update
A Preview version of Xamarin.Android has now been published on macOS that includes the fix for this item.
The fix is not yet available on Windows. I will update this item again when a version with the fix is available on Windows.
Fix included in Xamarin.Android 10.3.1.0.
Fix included on macOS in Visual Studio 2019 for Mac version 8.6 Preview 6. To try the Preview version that includes the fix, check for the latest updates on the Preview updater channel.
Fix not yet available on Windows.
Release status update
A new Release version of Xamarin.Android has now been published on both Windows and macOS that includes the fix for this item.
Fix included in Xamarin.Android 10.3.1.0.
Fix included on Windows in Visual Studio 2019 version 16.6. To get the new version that includes the fix, check for the latest updates or install the latest version from https://visualstudio.microsoft.com/downloads/.
Fix included on macOS in Visual Studio 2019 for Mac version 8.6. To get the new version that includes the fix, check for the latest updates on the Stable updater channel.
- ghost locked as resolved and limited conversation to collaborators
on Jun 4, 2022
Steps to Reproduce
I tried dropping the test source into a regular dummy app and did not see the same crash however...