Closed sentry-io[bot] closed 1 week ago
This crash occurred last, 20 days ago in version 4.0. I think we can monitor the crash for another couple of releases and mark as resolved if it is not recurring in version 4.3
Set this event as resolved in Sentry. Sentry will notify us if it happens in later releases and alert us to the regression.
Popped up again in 4.4: Sentry issue: WOOCOMMERCE-ANDROID-K7
Sentry issue: WOOCOMMERCE-ANDROID-R2
Sentry issue: WOOCOMMERCE-ANDROID-WZ
Sentry issue: WOOCOMMERCE-ANDROID-1BD
Crash is happening again. Based on the RecyclerView source code here and here, this crash does appear to be due to duplicate view holder IDs, which is confirmed in the trace.
ViewHolder 1:ProductItemViewHolder{c0657b3 position=56 id=13050
ViewHolder 2:ProductItemViewHolder{51cbffd position=55 id=13050
It's unclear from the stack trace whether this is occuring in ProductListFragment
or ProductSelectionListFragment
, but the appearance of CoordinatorLayout
in the trace suggests the former.
I wonder if this could be related to this bug in #3812. It looks like when we click on a variable product in Order detail, it redirects to the Product detail screen and this prompts a call to the GET Product API. This seems to be causing duplicate products to be displayed in the product list screen.
@anitaa1990 Great call, that most likely is the culprit!
Potentially fixed in #3822
Reopening this since it happened again.
ViewHolder 1:ProductViewHolder{f3c18c9 position=2 id=21, oldPos=-1, pLpos:-1} View Holder 2:ProductViewHolder{dc5c4b3 position=1 id=21, oldPos=-1, pLpos:-1}
Only 1 user so far. Will keep an eye on the next few days to see if it goes up
App version: 9.0-rc-1 Android 11
Heads up. This issue happened again in 9.1.1
for 2 users 7 times. Here's the latest occurrence
Happening again in the Beta 11.7-rc-2 So far affecting only 1 user but the adoption rate is pretty low, so maybe we should keep an eye on this:
IllegalStateException
Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change.
ViewHolder 1:ProductItemViewHolder{de0255b position=1 id=15083, oldPos=-1, pLpos:-1 not recyclable(1)}
View Holder 2:ProductItemViewHolder{934d1b0 position=0 id=15083, oldPos=-1, pLpos:-1} androidx.recyclerview.widget.RecyclerView{de16641 VFED..... ......ID 0,0-1812,1821 #7f0a0746 app:id/products_list}, adapter:com.woocommerce.android.ui.products.ProductListAdapter@d6687e6, layout:androidx.recyclerview.widget.LinearLayoutManager@3f42127, context:dagger.hilt.android.internal.managers.ViewComponentManager$FragmentContextWrapper@d01815c
This was fixed by https://github.com/woocommerce/woocommerce-android/pull/10373, but the ticket wasn't closed.
Sentry Issue: WOOCOMMERCE-ANDROID-9F