callstack / callstack/react-native-pager-view
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled
- Lingua principale
- TypeScript
- Stelle
- 3.4k
- Fork
- 476
- Merge medio
- 10g 21h
- PR unite (30g)
- 2
Descrizione
## Environment
react-native: 0.78.1
react-native-pager-view: 6.8.1
react-native-screens: 4.9.2
## Description
Facing this crash on android. Unable to reproduce getting this crash from Firebase Crashlytics
## Reproducible Demo
Can't be reproduced
## Stack trace
Fatal Exception: java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true androidx.viewpager2.widget.ViewPager2$RecyclerViewImpl{ae023a9 VFED..... ......ID 0,0-1080,1789 #4 viewInfo = }, adapter:com.reactnativepagerview.ViewPagerAdapter@fdc99ac, layout:androidx.viewpager2.widget.ViewPager2$LinearLayoutManagerImpl@a02dd2e, context:com.facebook.react.uimanager.ThemedReactContext@24a9dc4
at androidx.recyclerview.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:7071)
at androidx.recyclerview.widget.RecyclerView$Recycler.recycleView(RecyclerView.java:7007)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.removeAndRecycleViewAt(RecyclerView.java:9741)
at androidx.recyclerview.widget.LinearLayoutManager.recycleChildren(LinearLayoutManager.java:1468)
at androidx.recyclerview.widget.LinearLayoutManager.recycleViewsFromEnd(LinearLayoutManager.java:1562)
at androidx.recyclerview.widget.LinearLayoutManager.recycleByLayoutState(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1613)
at androidx.recyclerview.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1425)
at androidx.recyclerview.widget.LinearLayoutManager.scrollHorizontallyBy(LinearLayoutManager.java:1145)
at androidx.recyclerview.widget.RecyclerView.scrollStep(RecyclerView.java:2047)
at androidx.recyclerview.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:5835)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1544)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1553)
at android.view.Choreographer.doCallbacks(Choreographer.java:1109)
at android.view.Choreographer.doFrame(Choreographer.java:984)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1527)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:368)
at android.app.ActivityThread.main(ActivityThread.java:8839)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
## Releated Thread
https://github.com/callstack/react-native-pager-view/issues/984 - Marked as resolved in version 6.8.0 - Still issue persists
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia con lo stack trace Android, in particolare con il percorso di riciclo di RecyclerView di ViewPager2 e com.reactnativepagerview.ViewPagerAdapter, quindi confronta il comportamento e la risoluzione dichiarata nella issue correlata #984. Il crash non è riproducibile a partire dal report, quindi per considerare il lavoro completato sarebbe necessario un caso riproducibile o una validazione da parte di Crashlytics che il problema non si verifichi più.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, java, react-native
- Ambito
- mobile
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100