Open mschumacher69 opened 2 years ago
Hi, have you been using the v6.0 of nova and then got back to google play release one? It would help if you can get me some logs of the crash. Since I have not touched for a long time the google play release, it could be an external factor. Did you get an update of your TV firmware? This is not something that has been reported before. To capture logs please follow https://github.com/nova-video-player/aos-AVP/wiki/Debugging and do it via the network from a PC. EDIT: anyway I would recommend to move to v6.x of nova that should be release soon and start from a fresh install. If there is a bug it could have been fixed in this release and since this is the only version targeting API31, only this version can be released on Google Play for a bug fix.
Hey, no I never upgraded to v6 and then downgraded back to v5, I've always been on the latest google play release.
Ok I will wait for v6 to be released on the play store and see if the issue persists after the upgrade.
Can you please check that you have not selected always scan SMB shares at application startup (this in network share tiles rescan options). I would really be interested to get debug logs of the crash you are encountering. If you want a quick fix, I would also advise to install v6 before it gets release. It is supposed to be stable now with quite a large user base.
I do have Always scan SMB shares at application startup enabled and I have enabled it on purpose since I started using Nova over 2 years ago but I only started having this issue recently.
I will try to get you debug logs when I get the chance.
What's the best way to install v6 before release? Is it on fdroid yet or should I just sideload the latest pre-release build from here?
It is now on f-droid (fixed it recently) but I would recommend sideloading the latest github one https://github.com/nova-video-player/aos-AVP/releases/tag/v6.0.52 since it comes with another signature (the one from google play).
Oh perfect, this means I can install both at the same time, right?
I do not think so since it has the same package name.
Oh ok. So if I wanna sideload the latest one from github, I have to uninstall the play store one first?
If that's the case, is there a way to backup everything and restore it after I sideload v6? Because I have a lot of scraped movies and tv shows and it might take a long time to re-scrape them all.
It is advised to reinstall from scratch migrating to v6 because of the migration from tvdb to tmdb for series scrape.
So here's a logcat: logcat.txt
Thanks for the logcat, crash is the following:
--------- beginning of crash
04-04 18:46:53.055 23230 23268 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
04-04 18:46:53.055 23230 23268 E AndroidRuntime: Process: org.courville.nova, PID: 23230
04-04 18:46:53.055 23230 23268 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at androidx.loader.content.ModernAsyncTask$3.done(SourceFile:164)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:271)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: Caused by: android.database.CursorWindowAllocationException: Cursor window allocation of 2097152 bytes failed. # Open Cursors=507 (# cursors opened by this proc=507)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at android.database.CursorWindow.<init>(CursorWindow.java:136)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at android.database.CursorWindow.<init>(CursorWindow.java:114)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:143)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:137)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at android.database.CursorWrapper.getCount(CursorWrapper.java:60)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at android.content.ContentResolver.query(ContentResolver.java:822)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at android.content.ContentResolver.query(ContentResolver.java:753)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at androidx.core.content.ContentResolverCompat.query(SourceFile:81)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at androidx.loader.content.CursorLoader.loadInBackground(SourceFile:63)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at androidx.loader.content.CursorLoader.loadInBackground(SourceFile:41)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at androidx.loader.content.AsyncTaskLoader.onLoadInBackground(SourceFile:307)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at androidx.loader.content.AsyncTaskLoader$LoadTask.doInBackground(SourceFile:60)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at androidx.loader.content.AsyncTaskLoader$LoadTask.doInBackground(SourceFile:48)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at androidx.loader.content.ModernAsyncTask$2.call(SourceFile:141)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
04-04 18:46:53.055 23230 23268 E AndroidRuntime: ... 3 more
Is this with version 6 or 5?
Ah I see this one too:
04-04 19:00:20.726 2979 2979 E AndroidRuntime: Process: org.courville.nova, PID: 2979
04-04 19:00:20.726 2979 2979 E AndroidRuntime: java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at java.lang.Thread.nativeCreate(Native Method)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at java.lang.Thread.start(Thread.java:733)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at com.archos.mediacenter.utils.trakt.TraktService.onCreate(SourceFile:1218)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at android.app.ActivityThread.handleCreateService(ActivityThread.java:3570)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at android.app.ActivityThread.access$1300(ActivityThread.java:200)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1672)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6718)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
04-04 19:00:20.726 2979 2979 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Thanks for your response, this is the latest v5 from the play store.
So what's causing this issue and would updating to v6 resolve it?
Unfortunately the two stacktraces do not provide details on where it fails in nova code. Anyhow, there will be no other update on v5 on Google Play since it requires to target API30 now and v5 in API29. Let's see if you can see the same issue on v6 the only possible next version on Google Play (it targets API31).
Okay, I will wait for v6.
Another user with a similar issue: https://www.reddit.com/r/NovaVideoPlayer/comments/u7xn1h/nvp_and_sony_tvs/
@courville any eta on the v6 google play release? Or shall I just sideload the github apk? Or shall I use the amazon app store or fdroid?
Which app store do you usually publish the latest version to first?
I am solving all the instabilities seen on amazon deployment before going wider scale with Google Play. ETA 2 weeks. I would recommend to sideload github latest v6.
OK thanks. Is the github apk stable enough? Thing is, Nova is my main media center and I consume a lot of TV shows daily, so I cannot afford to come 1 day and find that it's not working. Like for example when you upgraded ffmpeg to 5.0.1 which broke playback and then had to revert back to 4.4.1, that would have probably cost me 1 day of playback.
So which github apks should I usually update to in order to avoid such issues? Should I avoid ones labelled as pre-release? For example now, the latest github apk is labelled "amazon release" but you just said there are instabilities on amazon deployment, so should I install this v6.0.63 amazon release or another release?
That's why I'd rather stick with an app store release (such as play store, amazon store or fdroid) that would auto update so I don't have to keep manually sideloading apks and wonder which one to sideload and which one to avoid.
@mschumacher69 we are talking about store releases since it is published on amazon. By instabilities, I mean existing issues that are also present on v5 Google play store since now I have more actionable information to fix these based on sentry debug backend information collected.
And I am sorry to hear about about your 1 day playback loss.
Oh no I haven't lost any playback time yet, I'm just trying not to lose any playback time in the future.
Sorry if I might be sounding like an ass, but I don't mean any disrespect here and I appreciate all the work that you do and all the time that you put into developing Nova free of charge, I'm telling you it blows people's minds when they see it on my TV and they all swear that "this is better than Netflix"! So I wouldn't want to invite friends over to movie night to then be surprised that it's not working, which would be disappointing.
So back to sideloading the apk from github, are you saying I must always sideload the store releases and skip the pre-releases and internal/beta releases?
And let's say I sideload the "amazon release" apk today, and tomorrow you release another apk labelled "fdroid release" and then another day you release another apk labelled "google play release", should I update from one release to the other or should I always stick with the same release? In other words, if I sideload an "amazon release", should I only update to newer amazon releases or can I update to an fdroid/google play release?
I'm just confused how to proceed with updates once I sideload the github apk.
Process: stick with github released apk for now, when google play will kick in it will update the github one (same signature). Stability issues that I am fixing are not seen for "normal" users. I mentioned f-droid because the github release integrated changes that fixed the f-droid automatic build from source (i.e. it was not per say a specific f-droid release).
Ok thank you.
And I am sorry to hear about about your 1 day playback loss.
:laughing:
@courville I'm trying to sideload the latest APK from GitHub but it's not installing. My tv is arm64-v8a and I'm sideloading the arm64-v8a APK.
I tried both with solid explorer and file commander. I also tried uninstalling the play store version.
Are you sure that your tv is arm64? Please try arm32.
AIDA64 says the following: Instruction Set: 64-bit ARMv8-A (32-bit Mode) Supported ABIs: armeabi-v7a, armeabi Supported 32-bi ABIs: armeabi-v7a, armeabi
Does this mean I need to install Video-armeabi-v7a-API_21+-release.apk?
Anyway, I sideloaded f-droid and installed it from there. Is that ok or should I uninstall the f-droid version and sideload the github apk?
Yes take the github armeabi-v7a one.
Why not stay on the f-droid build? It would be easier to update through f-droid rather than having to sideload manually from github every time there's a new version.
F-droid is fine but APK is signed by them built from source which is not compatible with my own signature and Google play one.
Ok. I will probably not go back to google play because you said it doesn't have adult scraping.
If I install the github apk and then update to the google play version, I would lose adult scraping, right?
Github release has adult scraping.
Right, but you said the play store release will overwrite the github release once updated. So if I install the github release and then it updates through the play store, I would lose adult scraping, right?
So it still crashes from time to time on v6.0.63 (latest f-droid version). It doesn't crash mid playback, it usually crashes while I'm browsing to select what I'm gonna play.
Here's a logcat: logcat1.txt
OK thanks for sharing the logcat, what I see is that the crash is due to OOM:
05-09 19:34:47.413 13257 13302 F libc : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 13302 (RenderThread), pid 13257 (.courville.nova)
05-09 19:34:47.765 14773 14773 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-09 19:34:47.765 14773 14773 F DEBUG : Build fingerprint: 'Sony/BRAVIA_ATV3_4K_PA/BRAVIA_ATV3_4K:9/PTT1.190515.001.S43/671651:user/release-keys'
05-09 19:34:47.765 14773 14773 F DEBUG : Revision: '0'
05-09 19:34:47.765 14773 14773 F DEBUG : ABI: 'arm'
05-09 19:34:47.765 14773 14773 F DEBUG : pid: 13257, tid: 13302, name: RenderThread >>> org.courville.nova <<<
05-09 19:34:47.765 14773 14773 F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
05-09 19:34:47.765 14773 14773 F DEBUG : Abort message: 'Encountered EGL error 12291 EGL_BAD_ALLOC during rendering'
05-09 19:34:47.766 14773 14773 F DEBUG : r0 00000000 r1 000033f6 r2 00000006 r3 b28e4700
05-09 19:34:47.766 14773 14773 F DEBUG : r4 000033c9 r5 000033f6 r6 912632dc r7 0000010c
05-09 19:34:47.766 14773 14773 F DEBUG : r8 91263797 r9 00000001 r10 00000001 r11 00000000
05-09 19:34:47.766 14773 14773 F DEBUG : ip 00000041 sp 912632c8 lr b28700ad pc b2867e3a
05-09 19:34:47.882 13257 13300 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
05-09 19:34:47.882 13257 13300 E AndroidRuntime: Process: org.courville.nova, PID: 13257
05-09 19:34:47.882 13257 13300 E AndroidRuntime: java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again
05-09 19:34:47.882 13257 13300 E AndroidRuntime: at java.lang.Thread.nativeCreate(Native Method)
05-09 19:34:47.882 13257 13300 E AndroidRuntime: at java.lang.Thread.start(Thread.java:733)
05-09 19:34:47.882 13257 13300 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:975)
05-09 19:34:47.882 13257 13300 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java:1043)
05-09 19:34:47.882 13257 13300 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1185)
05-09 19:34:47.882 13257 13300 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
05-09 19:34:47.882 13257 13300 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
05-09 19:34:47.966 14773 14773 F DEBUG :
05-09 19:34:47.966 14773 14773 F DEBUG : backtrace:
05-09 19:34:47.966 14773 14773 F DEBUG : #00 pc 0001ce3a /system/lib/libc.so (abort+62)
05-09 19:34:47.966 14773 14773 F DEBUG : #01 pc 00006dd5 /system/lib/liblog.so (__android_log_assert+156)
05-09 19:34:47.966 14773 14773 F DEBUG : #02 pc 00378605 /system/lib/libhwui.so (android::uirenderer::renderthread::EglManager::swapBuffers(android::uirenderer::renderthread::Frame const&, SkRect const&)+268)
05-09 19:34:47.966 14773 14773 F DEBUG : #03 pc 00374231 /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaOpenGLPipeline::swapBuffers(android::uirenderer::renderthread::Frame const&, bool, SkRect const&, android::uirenderer::FrameInfo*, bool*)+48)
05-09 19:34:47.966 14773 14773 F DEBUG : #04 pc 0009ae0f /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+270)
05-09 19:34:47.966 14773 14773 F DEBUG : #05 pc 00377a1b /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+942)
05-09 19:34:47.966 14773 14773 F DEBUG : #06 pc 0033f00f /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+122)
05-09 19:34:47.966 14773 14773 F DEBUG : #07 pc 000a3ccb /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+178)
05-09 19:34:47.966 14773 14773 F DEBUG : #08 pc 0000c197 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+166)
05-09 19:34:47.966 14773 14773 F DEBUG : #09 pc 00063bb5 /system/lib/libc.so (__pthread_start(void*)+22)
05-09 19:34:47.966 14773 14773 F DEBUG : #10 pc 0001e02d /system/lib/libc.so (__start_thread+22)
Now the question is why do we come to this memory consumption...
Could it be because I have a lot of shows and movies in the library? How can we troubleshoot this further?
I do not think it is related to the number of shows or movies in the library. I will try to think of some extra logging to add in order to troubleshoot this issue. Can you please tell me more about the exact browsing actions that lead to this behavior? Is this on a specific tile?
Ok thanks. I usually browse Episodes by date and Movies by year and this is where it mostly happens, but I will try to monitor closely to see if this is random or only happens on that screen or when I do a certain action.
Ok so I did some further testing today and I think it always happens while browsing under Episodes by date. Also, something strange happened today where instead of crashing, it just started showing gibberish text.
Here's another logcat: logcat2.txt
I tried uploading a video but it seems to be too large, so here are some screenshots:
From my recent observations, I think this is mostly happening when I'm browsing Episodes by date.
So yeah I think I'm only experiencing this when browsing Episodes by date.
Any idea how to troubleshoot this further?
So yeah I think I'm only experiencing this when browsing Episodes by date.
Any idea how to troubleshoot this further?
I'm surprised the new logger isn't capturing your crash by now. I also get a crash when doing my initial scan on v6 and just browsing around the UI while it scans but I'm not sure it's related to your crash.
Is there a new logger? How do I use it to capture the crash?
Is there a new logger? How do I use it to capture the crash?
I believe they added Sentry to capture data to start going after crash bugs so there's nothing you have to do but I'm surprised this issue hasn't been resolved for you.
@courville is there anything I can do to help you troubleshoot this further?
I'm using Nova on Google TV now and this still happens. It doesn't happen as often as on my Sony TV, but it still happens occasionally.
So the issue doesn't only affect Sony TVs.
@courville I now know exactly when this happens, it happens when I browse episodes by date while the app is re-scanning. I have auto-rescan when opening the application enabled, so this happens every time I open the app and also after Ambient Mode, the app seems to interpret exiting ambient mode as opening the app so it re-scans every time I exit Ambient Mode when the Ambient Mode comes on top of the app.
@courville any chance of fixing this?
Hey @courville, any luck replicating this?
@mschumacher69 could you please replicate the issue while using the 6.0.80 github version? I might get crash traces on sentry crashnalytics backend and see where it happens. I get traces only with github releases.
Problem description
I use nova with an SMB server that auto re-scans on every app launch. This used to work flawlessly in the past, but not anymore.
Now, whenever I browse Episodes by date, I cannot play anything unless it finishes a scanning cycle without any changes to the database because it crashes if I visit Episodes by date while it's updating the library. For example if I try to play a file while the database is being updated, it circles, even the file info such as the subtitles and media info would be circling. And if I access the network section during this time, I wouldn't see my indexed folders, even though the SMB itself is there and accessible. And if I keep browsing under Episodes by date while it's refreshing the library, the app crashes to a blue screen and restarts.
Any idea what might be causing this?
Steps to reproduce the issue
Expected behavior
You should be able to browse Episodes by date and play files without the app crashing.
Your phone/tablet/androidTV model
Sony Bravia Android TV and Chromecast with Google TV
Operating system version
Android 9 / Android 12
Application version and app store
Latest Version from the Play Store and latest version from GitHub
Additional system information
No response
Debug logs
Not sure how to capture logs on Android TV.