VSF_TYPE_MARKDOWNi assume that this bug appears with 16.0.4. update because i have project uploaded to google play on 5 of may and it works as expected, but if i rebuild it with 16.1.0 or 16.1.1 it crashes
the second project was uploaded to google play on 25 of may and crashes, but never crashed before.
i rebuild both projects with VS 2017 (15.9.11) from the same codebase and they works as expected.
i created new project in VS 2019 (xamarin forms ) and it crashes. (testing on samsung s7 edge android 8.0 , but main project crashes on different devices ) . not crashing on 8.0 emulator. crash happens deep inside and not handled by VS debugger
how to repeat
mainpage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="xformstest.MainPage"
xmlns:viewmodels ="clr-namespace:xformstest.viewmodels"
>
<ContentPage.BindingContext>
<viewmodels:MainVM />
</ContentPage.BindingContext>
<StackLayout HorizontalOptions="Center" VerticalOptions="Center">
<!-- Place new controls here -->
<Label Text="Welcome to Xamarin.Forms!"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Entry Keyboard="Numeric" Text="{Binding iTest}" />
</StackLayout>
</ContentPage>
viewmodel
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Text;
namespace xformstest.viewmodels
{
public class MainVM : INotifyPropertyChanged
{
#region inotify
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
private int _itest = 25;
public int iTest
{
get => _itest;
set
{
_itest = value;
OnPropertyChanged();
}
}
}
}
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
=================================================================
Memory around native instruction pointer (0x70c1643678):0x70c1643668 00 1c 40 b9 c0 03 5f d6 fd 7b bf a9 fd 03 00 91 ..@..._..{......
0x70c1643678 08 20 40 b9 a8 00 c8 37 88 01 e0 37 00 00 40 f9 . @....7...7..@.
0x70c1643688 fd 7b c1 a8 c0 03 5f d6 60 08 00 b0 01 0a 00 f0 .{...._.`...
....
0x70c1643698 03 0a 00 f0 00 24 06 91 21 80 08 91 63 8c 0a 91 .....$..!...c...
No native Android stacktrace (see debuggerd output).
=================================================================
=================================================================
05-27 22:27:50.649 E/mono-rt ( 9346): /proc/self/maps:
05-27 22:27:50.649 E/mono-rt ( 9346): 12c00000-52c00000 rw-p 00000000 00:01 30453 /dev/ashmem/dalvik-main space (region space)_4853_4853 (deleted)
05-27 22:27:50.649 E/mono-rt ( 9346): 6f15e000-6f3f6000 rw-p 00000000 fd:01 457083 /data/dalvik-cache/arm64/system@*@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6f3f6000-6f4fc000 rw-p 00000000 fd:01 457085 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6f4fc000-6f531000 rw-p 00000000 fd:01 457086 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6f531000-6f56e000 rw-p 00000000 fd:01 457088 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6f56e000-6f572000 rw-p 00000000 fd:01 457090 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6f572000-6f5b5000 rw-p 00000000 fd:01 457093 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6f5b5000-6f5f0000 rw-p 00000000 fd:01 457094 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6f5f0000-6ff17000 rw-p 00000000 fd:01 457096 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6ff17000-6ffcc000 rw-p 00000000 fd:01 457098 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6ffcc000-6ffd5000 rw-p 00000000 fd:01 457100 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6ffd5000-6ffdd000 rw-p 00000000 fd:01 457102 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 6ffdd000-70001000 rw-p 00000000 fd:01 457104 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 70001000-7002d000 rw-p 00000000 fd:01 457107 /data/dalvik-cache/arm64/system@@yyyche.http.legacy.boot.art
05-27 22:27:50.649 E/mono-rt ( 9346): 7002d000-70032000 rw-p 00000000 fd:01 457109 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.649 E/mono-rt ( 9346): 70032000-70039000 rw-p 00000000 fd:01 457110 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.650 E/mono-rt ( 9346): 70039000-7003a000 rw-p 00000000 fd:01 457112 /data/dalvik-cache/arm64/system@@yyyl.base-V1.0-java.art
05-27 22:27:50.650 E/mono-rt ( 9346): 7003a000-7003d000 rw-p 00000000 fd:01 457114 /data/dalvik-cache/arm64/system@@yyyl.manager-V1.0-java.art
05-27 22:27:50.650 E/mono-rt ( 9346): 7003d000-70047000 rw-p 00000000 fd:01 457116 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.650 E/mono-rt ( 9346): 70047000-70050000 rw-p 00000000 fd:01 457118 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.650 E/mono-rt ( 9346): 70050000-70051000 rw-p 00000000 fd:01 457121 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.650 E/mono-rt ( 9346): 70051000-70055000 rw-p 00000000 fd:01 457123 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.650 E/mono-rt ( 9346): 70055000-70056000 rw-p 00000000 fd:01 457124 /data/dalvik-cache/arm64/system@@yyy
05-27 22:27:50.650 E/mono-rt ( 9346): 70056000-70090000 rw-p 00000000 fd:01 457127 /data/dalvik-cache/arm64/system@*@yyy
05-27 22:27:50.650 E/mono-rt ( 9346): 70090000-700bd000 rw-p 00000000 fd:01 457128 /data/dalvik-cache/arm64/system@framework@boot-sec_edm.art
05-27 22:27:50.654 F/libc ( 9346): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x20 in tid 9346 (name.xformstest)
_This issue has been moved from https://developercommunity.visualstudio.com/content/problem/584819/xamarin-forms-app-crashes-when-entry-binded-to-num.html
VSTS ticketId: 900292_
_These are the original issue comments:_
Ilya Shulman on 5/27/2019, 00:47 PM (23 hours ago): c#, not c++
Visual Studio Feedback System on 5/27/2019, 09:18 PM (14 hours ago):
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.
_These are the original issue solutions:_
(no solutions)
Thanks for the report and the test case! I can confirm that this behavior has the same native backtrace as https://github.com/xamarin/xamarin-android/issues/3112, so I will close this Xamarin.Forms issue as a duplicate of that issue. The fix will require a new version of Xamarin.Android that will be based on a new version of the Mono runtime and debugger. (The Xamarin.Forms NuGet package version will not affect this behavior.)
For reference, here's the top of the native backtrace with symbols that I got from this Xamarin.Forms OnPropertyChanged() test case:
* frame #0: 0x0000007126cf5da8 libart.so`art_sigsegv_fault
frame #1: 0x0000007126cf62b4 libart.so`art::FaultManager::HandleFault(int, siginfo*, void*) + 356
frame #2: 0x00000058b5382b5c app_process64`___lldb_unnamed_symbol20$$app_process64 + 572
frame #3: 0x00000071acbdd870 [vdso]
frame #4: 0x00000071100c9640 libmonosgen-2.0.d.so`mono_handle_exception_internal [inlined] jinfo_get_method(ji=0x0000000000000000) at mini-runtime.h:390
frame #5: 0x00000071100c9638 libmonosgen-2.0.d.so`mono_handle_exception_internal(ctx=<unavailable>, obj=<unavailable>, resume=0, out_ji=<unavailable>) at mini-exceptions.c:2701
frame #6: 0x00000071100c9640 libmonosgen-2.0.d.so`mono_handle_exception_internal [inlined] jinfo_get_method(ji=0x000000710a888fa8) at mini-runtime.h:390
frame #7: 0x00000071100c9638 libmonosgen-2.0.d.so`mono_handle_exception_internal(ctx=<unavailable>, obj=<unavailable>, resume=0, out_ji=<unavailable>) at mini-exceptions.c:2701
frame #8: 0x00000071100c92b8 libmonosgen-2.0.d.so`mono_handle_exception(ctx=<unavailable>, obj=<unavailable>) at mini-exceptions.c:2988
frame #9: 0x000000711010101c libmonosgen-2.0.d.so`mono_arm_throw_exception(arg=<unavailable>, pc=<unavailable>, int_regs=0x0000007fcd278540, fp_regs=0x0000007fcd278640, corlib=<unavailable>, rethrow=0) at exceptions-arm64.c:410
(Duplicate of https://github.com/xamarin/xamarin-android/issues/3112 )
Most helpful comment
Thanks for the report and the test case! I can confirm that this behavior has the same native backtrace as https://github.com/xamarin/xamarin-android/issues/3112, so I will close this Xamarin.Forms issue as a duplicate of that issue. The fix will require a new version of Xamarin.Android that will be based on a new version of the Mono runtime and debugger. (The Xamarin.Forms NuGet package version will not affect this behavior.)
For reference, here's the top of the native backtrace with symbols that I got from this Xamarin.Forms
OnPropertyChanged()test case:(Duplicate of https://github.com/xamarin/xamarin-android/issues/3112 )