LucasGGamerM / moshidon

Better modification of the official Mastodon for Android app
https://LucasGGamerM.github.io/moshidon/
GNU General Public License v3.0
652 stars 31 forks source link

Crash while rapidly changing search keywords #137

Open Mattis142 opened 1 year ago

Mattis142 commented 1 year ago

Describe the bug

i was on the search screen looking for an account but unsure what their name was, so I kept deleting characters and changing my search query until the app crashed

To reproduce

unfortunately I can't seem to replicate this again

Version

Moshidon version: version 1.2.0+fork.99.moshinda

Crash log

Generated by AppErrorsTracking Project Url: https://github.com/KitsunePie/AppErrorsTracking

[Display]: TQ1A.230205.002 test-keys

[Stack Trace]: java.lang.IllegalStateException: ViewHolder views must not be attached when created. Ensure that you are not passing 'true' to the attachToRoot parameter of LayoutInflater.inflate(..., boolean attachToRoot) at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7299) at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6419) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6303) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6299) at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2328) at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:571) at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1589) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:676) at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:169) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4300) at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4003) at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4569) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:671) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729) at android.widget.LinearLayout.onLayout(LinearLayout.java:1638) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729) at android.widget.LinearLayout.onLayout(LinearLayout.java:1638) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729) at android.widget.LinearLayout.onLayout(LinearLayout.java:1638) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729) at android.widget.LinearLayout.onLayout(LinearLayout.java:1638) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at com.android.internal.policy.DecorView.onLayout(DecorView.java:799) at android.view.View.layout(View.java:23700) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3999) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3372) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2328) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9088) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239) at android.view.Choreographer.doCallbacks(Choreographer.java:899) at android.view.Choreographer.doFrame(Choreographer.java:832) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7926) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:550) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)

LucasGGamerM commented 1 year ago

Seems to be the same issue as #138. Can you see if you can reproduce this bug on the debug version?

Mattis142 commented 1 year ago

it does seem to be fixed, while getting it in the current release version is already really hard I couldn't replicate it once in the debug so that's good