seazon / FeedMe

The documents and forum of FeedMe
1.23k stars 28 forks source link

App not responding in article view #700

Open wynnsyt opened 6 months ago

wynnsyt commented 6 months ago

Describe the bug Clicking on certain items in the list of articles may cause the app to become unresponsive.

A blank interface is shown, and the only solution is to kill the app.

This issue cannot be reproduced reliably, and does not seem to correlate with any feed/article. Sometimes I can open the affected article after trying again in a few hours.

To Reproduce Steps to reproduce the behavior:

  1. Go to the list of unread articles
  2. Click on any article to enter article view

Expected behavior Article is loaded corrected and app is responsive.

Screenshots Screenshot showing the app being unresponsive. Screenshot_2024-04-23-14-32-46-29_547cb517dbc67c82fd4f9b8f2ef91c95

Device info

Additional context This seems to be a recently introduced issue or regression. I have been using the app almost daily and only started to notice this in the recent one/two weeks.

The app is syncing with self-hosted Miniflux via Fever API, if that is relevant.

Happy to provide any log/diagnostic if needed.

seazon commented 6 months ago

I can't reproduce it yet. 😢

wynnsyt commented 6 months ago

Still not clear what triggers the ANR exactly. Below is a screen recording for demonstration. Again, there is nothing special about the article or feed

https://github.com/seazon/FeedMe/assets/2130881/553bbcc9-700c-4ad8-9e47-3a99590a056a

wynnsyt commented 5 months ago

I tried disabling Hardware Acceleration in settings, and this seems to have reduced the frequency of ANR.

I will continue to test with Hardware Acceleration off, but I suspect that it is a contributing factor.

gablau commented 4 months ago

Same problem here

Device info

Video of problem

https://github.com/seazon/FeedMe/assets/6896873/c0dbab9c-7436-4f34-98b3-0effba074b98

adamantiumshanks commented 4 months ago

Same issue here. Running v4.1.8 on Android 14 with the 5th May security patches on a Pixel 6 Pro.

c3k commented 4 months ago

Same here. Seems to become more frequent in the last weeks, maybe due to a system change?

Device:samsung SM-S911B(dm1q0) OS version:14 App version:4.1.8(259)

https://github.com/seazon/FeedMe/assets/1215422/2916fd24-79c9-489d-b805-0be4f7671cbb

SiriusAntares commented 4 months ago

I have the same issue. It started today out of nowhere. Haven't made any system update.

Galaxy S23 with OneUI 6.1 (Android 14)

derKief commented 4 months ago

same issue here. Unfortunately i cannot exactly say when this started to happen.

Samsung Galaxy S24 One UI 6.1 (latest Patch)

Michad commented 4 months ago

It's started happening for me as well. App is practically unusable now, also Android 14 Samsung Galaxy but S21.

Edit: downgrading to 4.2.2 has helped

seazon commented 4 months ago

Thanks for these feedback. I will focus on this issue.

seazon commented 4 months ago

the error log of this issue, same to https://groups.google.com/g/google-admob-ads-sdk/c/-7qqwS5zKLA?pli=1 seems related to chromium. Can all of you provide the Chrome app version and Android System WebView version? Which can find in apps -> all apps.

  #00  pc 0x0000000000057840  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
  #01  pc 0x000000000005c5a0  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex+148)
  #02  pc 0x00000000000c2a34  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+80)
  #03  pc 0x0000000006389c6c  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #04  pc 0x00000000061c8e14  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #05  pc 0x0000000006d3466c  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #06  pc 0x0000000004d8501c  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #07  pc 0x0000000004d89e14  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #08  pc 0x00000000060a65bc  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #09  pc 0x00000000060a6034  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #10  pc 0x00000000033b04f8  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #11  pc 0x0000000003b0a04c  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #12  pc 0x0000000003b09f30  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #13  pc 0x00000000028535c8  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #14  pc 0x0000000002812460  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  #15  pc 0x00000000028123c0  /data/app/~~easbgBKfRfIh5Jsll00EUA==/com.google.android.trichromelibrary_642216533-ydtJsWzpOxSWVAEjfGvLKQ==/base.apk (Java_J_N_MTXp4fn_1+76) (BuildId: c064be5ff2a235a357349c021663865bc1608cc9)
  at J.N.MTXp4fn_ (Native method)
  at WV.s6.onDraw (chromium-TrichromeWebViewGoogle6432.aab-stable-642216533:227)
  at com.android.webview.chromium.WebViewChromium.onDraw (chromium-TrichromeWebViewGoogle6432.aab-stable-642216533:40)
  at android.webkit.WebView.onDraw (WebView.java:2945)
  at android.view.View.draw (View.java:25177)
  at android.view.View.updateDisplayListIfDirty (View.java:24036)
  at android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4764)
  at android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4736)
  at android.view.View.updateDisplayListIfDirty (View.java:23982)
  at android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4764)
  at android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4736)
  at android.view.View.updateDisplayListIfDirty (View.java:23982)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild (unavailable:135)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at androidx.fragment.app.FragmentContainerView.drawChild (unavailable:24)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at androidx.fragment.app.FragmentContainerView.dispatchDraw (unavailable:30)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at androidx.fragment.app.FragmentContainerView.drawChild (unavailable:24)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at androidx.fragment.app.FragmentContainerView.dispatchDraw (unavailable:30)
  at android.view.View.draw (View.java:25180)
  at android.view.View.updateDisplayListIfDirty (View.java:24036)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at androidx.slidingpanelayout.widget.b.drawChild (unavailable:137)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.draw (View.java:25180)
  at androidx.slidingpanelayout.widget.b.draw (unavailable)
  at android.view.View.updateDisplayListIfDirty (View.java:24036)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at androidx.fragment.app.FragmentContainerView.drawChild (unavailable:24)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at androidx.fragment.app.FragmentContainerView.dispatchDraw (unavailable:30)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at androidx.drawerlayout.widget.DrawerLayout.drawChild (unavailable:95)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at android.view.View.updateDisplayListIfDirty (View.java:24022)
  at android.view.View.draw (View.java:24907)
  at android.view.ViewGroup.drawChild (ViewGroup.java:4780)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:4538)
  at com.android.internal.policy.DecorView.dispatchDraw (DecorView.java:1185)
  at android.view.View.draw (View.java:25180)
  at com.android.internal.policy.DecorView.draw (DecorView.java:1167)
  at android.view.View.updateDisplayListIfDirty (View.java:24036)
  at android.view.ThreadedRenderer.updateViewTreeDisplayList (ThreadedRenderer.java:768)
  at android.view.ThreadedRenderer.updateRootDisplayList (ThreadedRenderer.java:774)
  at android.view.ThreadedRenderer.draw (ThreadedRenderer.java:872)
  at android.view.ViewRootImpl.draw (ViewRootImpl.java:6055)
  at android.view.ViewRootImpl.performDraw (ViewRootImpl.java:5710)
  at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:4799)
  at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:3291)
  at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:11329)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1689)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1698)
  at android.view.Choreographer.doCallbacks (Choreographer.java:1153)
  at android.view.Choreographer.doFrame (Choreographer.java:1079)
  at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1646)
  at android.os.Handler.handleCallback (Handler.java:958)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:230)
  at android.os.Looper.loop (Looper.java:319)
  at android.app.ActivityThread.main (ActivityThread.java:8918)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:608)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)
hdhoang commented 4 months ago

I have android system webview 126.0.6478.71. I don't have chrome installed.

OS: pixel 5 UP1A.231105.001.B2 feedme: 4.2.3, and 4.2.4 too.

I have vague feeling that it happens less frequently for non-top/bottom items in each list view/

SiriusAntares commented 4 months ago

My WebView is also 126.0.6478.71.

My Chrome has 126.0.6478.110, but the App is disabled. I'm using Cromite instead which is on 126.0.6478.115

adamantiumshanks commented 4 months ago

Also WebView 126.0.6478.71 and Chrome 126.0.6478.110 installed. I have Firefox set as my default browser and that is version 127.0.1.

wynnsyt commented 4 months ago

Android System WebView 127.0.6533.15 No Chrome/other Chromium app.

Reporting in to say that the last time I had an ANR of this type is at least two weeks ago, so I guess something must have changed outside the app.

MichaelGFagan commented 4 months ago

Also having this issue. Seemed to start when 4.2.4 was released. Downgrading to 4.2.3 seems to have helped.

Android System WebView: 125.0.6422.165 Brave (default browser): 1.67.116 Chrome: 126.0.6478.110

seazon commented 4 months ago

Reproduce

Can be reproduced stably. My test page is a long article with more than 10 videos embedded. And get error in log.

[ERROR:aw_browser_terminator.cc(156)] Renderer process (25906) crash detected (code -1).

Google this issue but not find any solution.

https://github.com/seazon/FeedMe/assets/2791800/94159581-064b-488b-bb9f-bf81a00ef417

Workaround

My Android System WebView is 124.0.6367.123, downgraded to 104.0.5112.97 by uninstalling updates to solve this. But my Android version is 13. This solution may not work for Android 14, because Android 14 is pre-installed with a higher version of Android System WebView.

mapleshadow commented 4 months ago

我安装了play版本的webview beta 127.0.6533.15,待我的测试报告

SiriusAntares commented 4 months ago

I've tried the workaround and also uninstalled the updates of Android System WebView on my S23 with Android 14. My WebView version is now 118.0.5993.80 and this seems to have fixed the problem.

timp-uk commented 4 months ago

Updated to webview beta 127.0.6533.15 and have not been able to reproduce issue since. Will keep testing and report back.

gablau commented 4 months ago

WebView ver 125.0.6422.186 Chrome ver 126.0.6478.110 Firefox ver 127.0.1

By disabling hardware acceleration the problem no longer occurs.

cubei commented 4 months ago

What I noticed: When you open an article that does not cause an ANR, then you can swipe left/right through all articles without a problem. Only when opening an article from the list view there's a chance this issue occurs.

timp-uk commented 4 months ago

Updated to webview beta 127.0.6533.15 and have not been able to reproduce issue since. Will keep testing and report back.

Been using all day without an ANR but must have been lucky and just had a couple of ANRs

anuraaga commented 4 months ago

I first started seeing the issue on WebView 126, tried updating to Beta 127 but same issue. Uninstalling updates on my pixel 7a brought it down to 122 and it seems the issue has gone away.

Edit: While downgrading did solve the issue, even with disabling auto-updates in play store for WebView, it got auto updated so it seems Android does not allow using an old version. I have switched to the workaround of disabling hw acceleration and working well.

One point is it didn't seem like a type of page deterministically fails - after force killing the page that crashed and reopening, I could open the same page just fine. That being said, I do feel as if this caused a subsequent crash to come sooner than if I had ignored that page.

Only when opening an article from the list view there's a chance this issue occurs.

I also get the feeling that the issue only happens when opening from the list view and not when swiping.

timp-uk commented 4 months ago

WebView ver 125.0.6422.186 Chrome ver 126.0.6478.110 Firefox ver 127.0.1

By disabling hardware acceleration the problem no longer occurs.

Disabling Hardware Acceleration is a good work around 👍

SeeJayEmm commented 4 months ago

This issue also started for me about a week ago. Default browser is Firefox but I'll give you both browser versions.

FeedMe: 4.2.3 (rel 263) Phone: Samsung Note 20 OS: Android 13 WebView: 126.0.6478.134 Chrome: 126.0.6478.122 Firefox: 127.0.2

I did some testing and it's not just the 1st post I've recreated it across multiple posts on multiple feeds. I wish I could find a consistent post that triggers it for you to test on.

I can confirm that disabling hardware accel does seem to fix it (so far)>

thegreekgeek commented 4 months ago

Hey al,l just noticed this happening to me in the past week. Haven't tried disabling hardware accel yet.

Phone: OnePlus 9 Pro OS: Android 12 Feedme: v4.2.4 (264) Firefox: 128.0b8 Webview: 126.0.6478.71

IngoBN commented 4 months ago

Same here... :(

seazon commented 4 months ago

Tried 3.17.4, also has this issue. 😂

seazon commented 4 months ago

please install 4.2.5 and goto settings -> Lab, disable javascript and try again.

timp-uk commented 4 months ago

Screenshot_20240704-160032 Updated, Changed settings and it still crashed

IngoBN commented 4 months ago

That works for me - same settings.

derKief commented 4 months ago

please install 4.2.5 and goto settings -> Lab, disable javascript and try again.

unfortunately this doesn't help here ...

IngoBN commented 4 months ago

Sorry - this morning FeedMe freezes again.