-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KOReader crashes #11354
Comments
Latest what, stable or nightly? |
nightly |
Also reported in https://www.mobileread.com/forums/showthread.php?t=358520 Pinging @NiLuJe |
I installed 2024.01 and the crash loop that Uncle Robin describes disappered. But I still have the Page browser crash: |
May not really be related to Page browser (except that it may trigger it by fetching page read from statistics):
So, as you noticed a crash from an empty bookinfo db, I guess you may have reset book stats too? Or it is the various other crashes you had that made the DB migration incomplete/broken/in a ill state. |
Thanks. But, maybe it is something else? Could it be the 'Autostandby timeout' feature? It seems that something happens after 4 s - crash or screen flash. I use 4x4 (columns/rows) in my Page browser. Usually the crash happens during the last 2-3 thumbnails. Anyway, with Autostandby timeout disabled, crashes and screen flashes are gone. Here is another crash log |
Ok, there was indeed in your previous crash.log what we see in your last crash.log:
No idea about the PageBrowser deserialization failure (memory issue? subprocess killed?...) - and there are a few that are just logged and do not cause a crash - before the crash happen. |
Standby failing makes sense if the device is busy. It may also be randomly and permanently broken, because NTX (in which case, you need a reboot to jog things back into working order). The PageBrowser thing looks like a short read (during deser of a LuaJIT |
And, IIRC, the runInSubprocess does NOT stall the standby requests, because it's not actually running in the main loop, so standby failing as a result of that sounds sensible. |
There's quite a few different crashes: On MR (and for OP):
(On nightlies, going to look into that one). OP:
(On stable!) And a few of the |
Some other runInSubProcess/Trapper stuff are wrapped before in UIManager:prevent/allowStandby() (ie. coverbrowser extraction, that may run for a few minutes, or partial rerendering). |
That seems to be happening when showing a QuickMenu. |
It's 4s. Some crazy people (;p) set it as low as 2. I'd wager the fences are warranted here (and we can't really do it from within runInSubprocess, because it's in base and the fences are in UIManager :s). |
Hard to say where without verbose debug logs, FWIW (wink, wink, nudge, nudge ;)). |
Compute the proper dimensions instead, as getBoundedRect noi longer accepts nils ;). Re: koreader/koreader#11354
Compute the proper dimensions instead, as getBoundedRect no longer accepts nil ;). Re: koreader/koreader#11354
Stranger still is that it's from an unprotected call, and one that doesn't appear to come from Hard to pinpoint without verbose debug logs ;). |
Compute the proper dimensions instead, as getBoundedRect no longer accepts nil ;). Re: koreader/koreader#11354
@gerhaher : with the current version and before you apply any other fix, could you try replacing --- a/frontend/apps/reader/modules/readerthumbnail.lua
+++ b/frontend/apps/reader/modules/readerthumbnail.lua
@@ -279,4 +279,8 @@ end
function ReaderThumbnail:ensureTileGeneration()
+ if not self._standby_prevented then
+ UIManager:preventStandby()
+ self._standby_prevented = true
+ end
local has_pids_still_to_collect = self:collectPids()
@@ -319,4 +323,9 @@ function ReaderThumbnail:ensureTileGeneration()
if self.req_in_progress or has_pids_still_to_collect or next(self.thumbnails_requests) then
self._ensureTileGeneration_action()
+ else
+ if self._standby_prevented then
+ self._standby_prevented = false
+ UIManager:allowStandby()
+ end
end
end Just curious if this is enough to prevent your strange PageBrowser issues |
Yeah, it's essentially a refcount, so they need to be balanced (i.e., an allow for every prevent), which is probably easier said than done depending on how the code flows ;p. |
Thanks! |
Welp, that really seems to be coming from inside the |
Issue
The crashing started when I used 'Page Browser'. Then I updated KOReader (or tried to). Crash during update process. And now I can't even start KOReader...because it crashes when I try.
crash.log
The text was updated successfully, but these errors were encountered: