Skip to content
This repository has been archived by the owner on Nov 18, 2023. It is now read-only.

Clicking Errors tab crashes app consistently #48

Open
Drakonas opened this issue Nov 28, 2021 · 2 comments
Open

Clicking Errors tab crashes app consistently #48

Drakonas opened this issue Nov 28, 2021 · 2 comments

Comments

@Drakonas
Copy link

Hendroid Version: 1.15.14 (187)

Device/Android Version: Samsung A7/SM-T500 Android 11

Issue details / Repro steps: Clicking the "errors" tab in the queue menu immediately crashes Hendroid, even after a complete tablet restart.

Steps taken: Added a bunch of exhentai (reached a total of almost 300) in a period of a couple days, mostly the last day. Eventually exhentai temporarily IP banned for 1 hour due to "excessive page loads". Waited 1 hour, then to be safe enabled Mullvad VPN to a different IP. Moved all entries from the error tab to queue (error tab still loaded fine at this time). I left to do things, later to find the queue empty and 18 marked next to "errors". Clicking on the "errors" tab from this point forward produces the issue, even when turning off the VPN, clearing app caches with the in-app function, and restarting the tablet.

Stack trace / LogCat:

latest-crash log : begin
Hentoid ver: 1.15.14 (187)
API: 30
Device: SM-T500
Start : 2021-11-28T07:24:41.979Z
End : 2021-11-28T07:24:41.979Z (00:00)
-----
Attempt to invoke virtual method 'boolean java.lang.String.isEmpty()' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.isEmpty()' on a null object reference
	at me.devsaki.hentoid.database.domains.ImageFile.getUsableUri(ImageFile.java:302)
	at me.devsaki.hentoid.viewholders.ContentItem$ContentViewHolder.attachCover(ContentItem.java:391)
	at me.devsaki.hentoid.viewholders.ContentItem$ContentViewHolder.bindView(ContentItem.java:345)
	at me.devsaki.hentoid.viewholders.ContentItem$ContentViewHolder.bindView(ContentItem.java:216)
	at com.mikepenz.fastadapter.listeners.OnBindViewHolderListenerImpl.onBindViewHolder(OnBindViewHolderListenerImpl.kt:22)
	at com.mikepenz.fastadapter.FastAdapter.onBindViewHolder(FastAdapter.kt:397)
	at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7337)
	at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6194)
	at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6460)
	at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6300)
	at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6296)
	at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2330)
	at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1631)
	at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
	at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012)
	at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
	at android.view.View.layout(View.java:24481)
	at android.view.ViewGroup.layout(ViewGroup.java:7383)
	at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1873)
	at android.view.View.layout(View.java:24481)
	at android.view.ViewGroup.layout(ViewGroup.java:7383)
	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
	at android.view.View.layout(View.java:24481)
	at android.view.ViewGroup.layout(ViewGroup.java:7383)
	at androidx.recyclerview.widget.RecyclerView$LayoutManager.layoutDecoratedWithMargins(RecyclerView.java:9878)
	at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1689)
	at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
	at androidx.recyclerview.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1395)
	at androidx.recyclerview.widget.LinearLayoutManager.scrollHorizontallyBy(LinearLayoutManager.java:1124)
	at androidx.recyclerview.widget.RecyclerView.scrollStep(RecyclerView.java:1969)
	at androidx.recyclerview.widget.RecyclerView$SmoothScroller.onAnimation(RecyclerView.java:12316)
	at androidx.recyclerview.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:5564)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1010)
	at android.view.Choreographer.doCallbacks(Choreographer.java:809)
	at android.view.Choreographer.doFrame(Choreographer.java:740)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:995)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:247)
	at android.app.ActivityThread.main(ActivityThread.java:8656)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

latest-crash log : end

20211128_030020

@Nonononoki
Copy link
Owner

Thanks for the report! Have you tried the upstream app? (https://github.com/avluis/Hentoid)
If the error occurs there as well then you should report it there so even more users can benefit from it.

@Drakonas
Copy link
Author

Drakonas commented Dec 4, 2021

The issue is I'm not sure if I can easily reproduce the issue.

Question: Is it possible to see what the 18 entries are by opening a text file or sql database somewhere? Where is the list of entries located? I can erase the program data but I really don't want to miss what those 18 errored downloads are.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants