Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

[Bug] SwipeView with StackLayout Bindable delete item exception Xamarin.Forms.Platform.Android.SwipeViewRenderer #11262

Closed
moreirawebmaster opened this issue Jul 1, 2020 · 0 comments
Assignees
Labels
4.7.0 regression on 4.7.0 a/swipeview e/3 🕒 3 i/high Completely doesn't work, crashes, or is unusably slow, has no obvious workaround; occurs less often i/regression in-progress This issue has an associated pull request that may resolve it! t/bug 🐛

Comments

@moreirawebmaster
Copy link

moreirawebmaster commented Jul 1, 2020

When you have a bindable stacklayout and when executing the leftitem command I need to delete the line that was called, with the error shown below.

Xamarin.Forms Exception: 4.7.0.968
Xamarin.Forms Working: 4.6.0.726

Reproduce:

<StackLayout BindableLayout.ItemsSource="{Binding Source={x:Reference template}, Path=Documents}"
                         IsVisible="{Binding Source={x:Reference template}, Path=Documents, Converter={StaticResource ListContainsItemConverter}}">
                <BindableLayout.ItemTemplate>
                    <DataTemplate>

                        <SwipeView HeightRequest="80">
                            <SwipeView.LeftItems>
                                <SwipeItems Mode="Reveal"
                                            SwipeBehaviorOnInvoked="Close">
                                    <SwipeItemView Command="{Binding Source={x:Reference template}, Path=BindingContext.RemoveDocumentCommand}"
                                                   CommandParameter="{Binding .}"
                                                   WidthRequest="80">

                                        <Grid BackgroundColor="{DynamicResource Red700Color}"
                                              HorizontalOptions="Fill"
                                              VerticalOptions="Fill">

                                            <forms:SvgCachedImage FadeAnimationEnabled="False"
                                                                  HeightRequest="16"
                                                                  HorizontalOptions="Center"
                                                                  Source="{utils:SvgMarkup Source={x:Static constants:Constant.SvgIconTrashWhite}}"
                                                                  VerticalOptions="Center"
                                                                  WidthRequest="16" />
                                        </Grid>
                                    </SwipeItemView>
                                </SwipeItems>
                            </SwipeView.LeftItems>

                            <Grid BackgroundColor="Transparent"
                                  HeightRequest="60">
                                <Grid.GestureRecognizers>
                                    <TapGestureRecognizer Command="{Binding Source={x:Reference template}, Path=BindingContext.DocumentSelectedCommand}"
                                                          CommandParameter="{Binding .}" />
                                </Grid.GestureRecognizers>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="0.10*" />
                                    <ColumnDefinition Width="0.70*" />
                                    <ColumnDefinition Width="0.15*" />
                                </Grid.ColumnDefinitions>

                                <forms:SvgCachedImage Grid.Column="0"
                                                      FadeAnimationEnabled="False"
                                                      HeightRequest="16"
                                                      HorizontalOptions="Center"
                                                      Source="{utils:SvgMarkup Source={x:Static constants:Constant.SvgIconDragGrey}}"
                                                      VerticalOptions="Center"
                                                      WidthRequest="16" />

                                <Frame Grid.Column="1"
                                       Padding="0"
                                       BackgroundColor="{DynamicResource AvatarBackgroundColor}"
                                       CornerRadius="21.8"
                                       HasShadow="False"
                                       HeightRequest="44"
                                       HorizontalOptions="Start"
                                       VerticalOptions="Center"
                                       WidthRequest="44">
                                    <Label HorizontalOptions="Center"
                                           Style="{DynamicResource Label14Gray700}"
                                           Text="{Binding ShortCutName}"
                                           VerticalOptions="Center" />
                                </Frame>

                                <Label Grid.Column="1"
                                       Margin="55,-15,0,0"
                                       HorizontalOptions="Start"
                                       LineBreakMode="TailTruncation"
                                       Style="{DynamicResource Label16BlackBold}"
                                       Text="{Binding ShortName}"
                                       VerticalOptions="Center" />

                                <Label Grid.Column="1"
                                       Margin="55,35,0,0"
                                       HorizontalOptions="Start"
                                       Style="{DynamicResource Label14Gray700}"
                                       Text="{Binding DocumentFormatted, StringFormat='CPF {0}'}"
                                       VerticalOptions="Center" />

                                <forms:SvgCachedImage Grid.Column="2"
                                                      FadeAnimationEnabled="False"
                                                      HeightRequest="16"
                                                      HorizontalOptions="Start"
                                                      IsVisible="False"
                                                      Opacity="0"
                                                      Source="{utils:SvgMarkup Source={x:Static constants:Constant.SvgIconCheckGreen}}"
                                                      VerticalOptions="Center"
                                                      WidthRequest="16">
                                    <forms:SvgCachedImage.Triggers>
                                        <DataTrigger Binding="{Binding IsSelected}"
                                                     TargetType="forms:SvgCachedImage"
                                                     Value="True">
                                            <Setter Property="IsVisible" Value="True" />
                                            <Setter Property="Opacity" Value="1" />
                                        </DataTrigger>
                                    </forms:SvgCachedImage.Triggers>
                                </forms:SvgCachedImage>

                                <Grid.Triggers>
                                    <DataTrigger Binding="{Binding MyAccount.IsSelected}"
                                                 TargetType="Grid"
                                                 Value="True">
                                        <Setter Property="BackgroundColor" Value="{DynamicResource Gray100Color}" />
                                    </DataTrigger>
                                </Grid.Triggers>
                            </Grid>
                        </SwipeView>
                    </DataTemplate>
                </BindableLayout.ItemTemplate>
            </StackLayout>

System.ObjectDisposedException: 'Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.SwipeViewRenderer'.'

07-01 15:30:38.049 I/MonoDroid(20131): UNHANDLED EXCEPTION:

Native Crash Reporting

=================================================================
Got a SEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.

No native Android stacktrace (see debuggerd output).

=================================================================

07-01 15:30:38.050 I/MonoDroid(20131): System.ObjectDisposedException: Cannot access a disposed object. Basic Fault Address Reporting

Memory around native instruction pointer (0xe6dc9a88):0xe6dc9a78 00 00 00 c7 47 18 00 00 00 00 74 7c 8b 32 31 d2 ....G.....t|.21.
0xe6dc9a88 8b 4e 04 f6 c5 01 0f 84 b2 01 00 00 a8 01 0f 85 .N..............
0xe6dc9a98 7b 01 00 00 8b 56 18 85 d2 0f 84 95 00 00 00 8b {....V..........
0xe6dc9aa8 44 24 28 8b 5c 24 0c 8b 38 3b 93 1c f8 ff ff 8b D$(.$..8;......

=================================================================
Managed Stacktrace:

  at <unknown> <0xffffffff>
  at Java.Interop.NativeMethods:java_interop_jnienv_new_string <0x00012>
  at Strings:NewString <0x00077>
  at Strings:NewString <0x00147>
  at Android.Runtime.JNIEnv:NewString <0x0008f>
  at Java.Lang.Error:.ctor <0x000ff>
  at Android.Runtime.JavaProxyThrowable:.ctor <0x00067>
  at Java.Lang.Throwable:FromException <0x0012f>
  at Android.Runtime.AndroidEnvironment:U

07-01 15:30:38.050 I/MonoDroid(20131): Object name: 'Xamarin.Forms.Platform.Android.SwipeViewRenderer'.
07-01 15:30:38.050 I/MonoDroid(20131): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.29(intptr,intptr,intptr)nhandledException <0x0039b>
at Android.Runtime.DynamicMethodNameCounter:31 <0x00153>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3>
at <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015>
at InstanceMethods:CallNonvirtualBooleanMethod <0x00353>
at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef>
at Android.Views.View:DispatchTouchEvent <0x00183>
at Xamarin.Forms.Platform.Android.VisualElementRenderer`1:DispatchTouchEvent <0x000ab>
at DefaultRenderer:DispatchTouchEvent <0x00067>
at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3>
at <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015>
at InstanceMethods:CallNonvirtualBooleanMethod <0x00353>
at JniInstanceMethods:InvokeVirtualBooleanM

07-01 15:30:38.050 I/MonoDroid(20131): at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.29(intptr,intptr,intptr)ethod <0x002ef>
at Android.Views.View:DispatchTouchEvent <0x00183>
at Xamarin.Forms.Platform.Android.VisualElementRenderer1:DispatchTouchEvent <0x000ab> at DefaultRenderer:DispatchTouchEvent <0x00067> at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab> at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7> at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3> at <unknown> <0xffffffff> at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015> at InstanceMethods:CallNonvirtualBooleanMethod <0x00353> at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef> at Android.Views.View:DispatchTouchEvent <0x00183> at Xamarin.Forms.Platform.Android.VisualElementRenderer1:DispatchTouchEvent <0x000ab>
at DefaultRenderer:DispatchTouchEvent <0x00067>
at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7>
at Android.Runtime.Dyn

07-01 15:30:38.050 I/MonoDroid(20131): at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_boolean_method_a(intptr,intptr&,intptr,intptr,intptr,intptr)amicMethodNameCounter:31 <0x000b3>
at <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015>
at InstanceMethods:CallNonvirtualBooleanMethod <0x00353>
at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef>
at Android.Views.View:DispatchTouchEvent <0x00183>
at Xamarin.Forms.Platform.Android.VisualElementRenderer`1:DispatchTouchEvent <0x000ab>
at DefaultRenderer:DispatchTouchEvent <0x00067>
at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3>
at <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015>
at InstanceMethods:CallNonvirtualBooleanMethod <0x00353>
at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef>
at Android.Views.View:DispatchTouchEvent <0x00183>
at Xamarin.Forms.Platform.Android.Visual

07-01 15:30:38.050 I/MonoDroid(20131): at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualBooleanMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00079] in :0 ElementRenderer1:DispatchTouchEvent <0x000ab> at DefaultRenderer:DispatchTouchEvent <0x00067> at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab> at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7> at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3> at <unknown> <0xffffffff> at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015> at InstanceMethods:CallNonvirtualBooleanMethod <0x00353> at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef> at Android.Views.View:DispatchTouchEvent <0x00183> at Xamarin.Forms.Platform.Android.VisualElementRenderer1:DispatchTouchEvent <0x000ab>
at DefaultRenderer:DispatchTouchEvent <0x00067>
at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3>
at <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jni

07-01 15:30:38.050 I/MonoDroid(20131): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualBooleanMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in :0 env_call_nonvirtual_boolean_method_a <0x00015>
at InstanceMethods:CallNonvirtualBooleanMethod <0x00353>
at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef>
at Android.Views.View:DispatchTouchEvent <0x00183>
at Xamarin.Forms.Platform.Android.VisualElementRenderer1:DispatchTouchEvent <0x000ab> at DefaultRenderer:DispatchTouchEvent <0x00067> at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab> at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7> at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3> at <unknown> <0xffffffff> at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015> at InstanceMethods:CallNonvirtualBooleanMethod <0x00353> at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef> at Android.Views.View:DispatchTouchEvent <0x00183> at Xamarin.Forms.Platform.Android.VisualElementRenderer1:DispatchTouchEvent <0x000ab>
at DefaultRenderer:DispatchTouchEvent <0x00067>
at Android.V

07-01 15:30:38.050 I/MonoDroid(20131): at Android.Views.View.DispatchTouchEvent (Android.Views.MotionEvent e) [0x00031] in <55654ebe9f2a48e6bade2862bb243f94>:0 iews.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3>
at <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015>
at InstanceMethods:CallNonvirtualBooleanMethod <0x00353>
at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef>
at Android.Views.View:DispatchTouchEvent <0x00183>
at Xamarin.Forms.Platform.Android.VisualElementRenderer`1:DispatchTouchEvent <0x000ab>
at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3>
at <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015>
at InstanceMethods:CallNonvirtualBooleanMethod <0x00353>
at JniInstanceMethods:InvokeVirtualBooleanMethod <0x00

07-01 15:30:38.050 I/MonoDroid(20131): at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].DispatchTouchEvent (Android.Views.MotionEvent e) [0x00012] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:72 2ef> at Android.Views.View:DispatchTouchEvent <0x00183> at Xamarin.Forms.Platform.Android.VisualElementRenderer1:DispatchTouchEvent <0x000ab>
at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3>
at <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_boolean_method_a <0x00015>
at InstanceMethods:CallNonvirtualBooleanMethod <0x00353>
at JniInstanceMethods:InvokeVirtualBooleanMethod <0x002ef>
at Android.Views.View:DispatchTouchEvent <0x00183>
at Xamarin.Forms.Platform.Android.PlatformRenderer:DispatchTouchEvent <0x002fb>
at Android.Views.View:n_DispatchTouchEvent_Landroid_view_MotionEvent_ <0x000ab>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000c7>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000b3>

07-01 15:30:38.050 I/MonoDroid(20131): at Xamarin.Forms.Platform.Android.SwipeViewRenderer.DispatchTouchEvent (Android.Views.MotionEvent e) [0x0000f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Renderers\SwipeViewRenderer.cs:274
07-01 15:30:38.050 I/MonoDroid(20131): at Android.Views.View.n_DispatchTouchEvent_Landroid_view_MotionEvent_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_e) [0x0000f] in <55654ebe9f2a48e6bade2862bb243f94>:0
07-01 15:30:38.050 I/MonoDroid(20131): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.31(intptr,intptr,intptr)

@moreirawebmaster moreirawebmaster added s/unverified New report that has yet to be verified t/bug 🐛 labels Jul 1, 2020
@pauldipietro pauldipietro added this to New in Triage Jul 1, 2020
@jsuarezruiz jsuarezruiz self-assigned this Jul 2, 2020
@jsuarezruiz jsuarezruiz added a/swipeview e/3 🕒 3 and removed s/unverified New report that has yet to be verified labels Jul 2, 2020
@jsuarezruiz jsuarezruiz added this to Backlog in SwipeView via automation Jul 2, 2020
@samhouts samhouts added the in-progress This issue has an associated pull request that may resolve it! label Jul 2, 2020
@samhouts samhouts added this to In Progress in 4.7.0 Jul 2, 2020
@samhouts samhouts moved this from Backlog to In Progress in SwipeView Jul 2, 2020
@samhouts samhouts moved this from New to Ready For Work in Triage Jul 2, 2020
@samhouts samhouts added this to To do in Other Ready For Work Jul 8, 2020
@samhouts samhouts removed this from Ready For Work in Triage Jul 8, 2020
@samhouts samhouts moved this from To do to In progress in Other Ready For Work Jul 8, 2020
@samhouts samhouts added i/high Completely doesn't work, crashes, or is unusably slow, has no obvious workaround; occurs less often 4.7.0 regression on 4.7.0 i/regression labels Jul 8, 2020
@samhouts samhouts added this to In progress in Sprint 173 Jul 8, 2020
Other Ready For Work automation moved this from In progress to Done Jul 21, 2020
SwipeView automation moved this from In Progress to Done Jul 21, 2020
4.7.0 automation moved this from In Progress to Done Jul 21, 2020
Sprint 173 automation moved this from In progress to Done Jul 21, 2020
@samhouts samhouts removed this from Done in Other Ready For Work Aug 20, 2020
@samhouts samhouts removed this from Done in SwipeView Aug 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
4.7.0 regression on 4.7.0 a/swipeview e/3 🕒 3 i/high Completely doesn't work, crashes, or is unusably slow, has no obvious workaround; occurs less often i/regression in-progress This issue has an associated pull request that may resolve it! t/bug 🐛
Projects
No open projects
4.7.0
  
Done
Sprint 173
  
Done
Development

No branches or pull requests

3 participants