-
-
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
Crash on start #12010
Comments
It seems that your device doesn't generate a tombstone. It should be a line in the log, after the backtrace telling you where it is placed. For instance:
Without that we can't really know what happens until we can reproduce on a device. Feel free to try a nightly, from http://ota.koreader.rocks/ and catch the entire log with |
I installed the current nightly build, reproduced the issue and catched the logcat. Since the logcat seems pretty massive, I prefiltered it with 'koreader', if I should use another, please mention it. |
I'm interested. How did you get those logs? I usually use
Logs miss information. Not sure if caused by the rom or not. Without an affected device I can't tell you more. I'm fairly sure you can reproduce on other LineageOS MicroG builds if they share the same framework. But the absence of a tombstone after a native crash implies that the crash happens on system libraries, not on application runtime (or the rom is a joke!) I would gladly help if somebody could repro on plain LineageOS 21. |
I used the "Logcat Reader" app on the phone and used the filters and added
Here is the log with pidcat... I had to compile and install python 2 just for that, since it isn't packaged for my distro anymore.
|
Thanks! The crash is caused by:
It is following an error with libc returning a null pointer, so lets assume that big int comes from there and you're not trying to decompress a file of ~19000 Petabytes. Lets ping @benoit-pierre, maybe he figures out something. |
On arch a python3 version it is available on |
I guess the function failed: #define ZSTD_CONTENTSIZE_UNKNOWN (0ULL - 1)
#define ZSTD_CONTENTSIZE_ERROR (0ULL - 2)
unsigned long long ZSTD_getFrameContentSize(const void *src, size_t srcSize);
`src` should point to the start of a ZSTD encoded frame.
`srcSize` must be at least as large as the frame header.
hint : any size >= `ZSTD_frameHeaderSize_max` is large enough.
@return : - decompressed size of `src` frame content, if known
- ZSTD_CONTENTSIZE_UNKNOWN if the size cannot be determined
- ZSTD_CONTENTSIZE_ERROR if an error occurred (e.g. invalid magic number, srcSize too small)
note 1 : a 0 return value means the frame is valid but "empty".
note 2 : decompressed size is an optional field, it may not be present, typically in streaming mode.
When `return==ZSTD_CONTENTSIZE_UNKNOWN`, data to decompress could be any size.
In which case, it's necessary to use streaming mode to decompress data.
Optionally, application can rely on some implicit limit,
as ZSTD_decompress() only needs an upper bound of decompressed size.
(For example, data could be necessarily cut into blocks <= 16 KB).
note 3 : decompressed size is always present when compression is completed using single-pass functions,
such as ZSTD_compress(), ZSTD_compressCCtx() ZSTD_compress_usingDict() or ZSTD_compress_usingCDict().
note 4 : decompressed size can be very large (64-bits value),
potentially larger than what local system can handle as a single memory segment.
In which case, it's necessary to use streaming mode to decompress data.
note 5 : If source is untrusted, decompressed size could be wrong or intentionally modified.
Always ensure return value fits within application's authorized limits.
Each application can set its own limits.
note 6 : This function replaces ZSTD_getDecompressedSize() |
Sorry for the off-topic: It shows python2 as a dependency: |
Are you starting from a clean slate? |
Oh, right. My bad. You can report it to the arch maintainer in that case. https://raw.githubusercontent.com/JakeWharton/pidcat/master/pidcat.py works with python3 |
I installed the nighlty build (v2024.04-163 from 2024-06-10), I tested cleaning storage and cache before launching, with no change. I have used koreader in the past, but now installed the new version. For some reason koreader wasn't updated from fdroid, and the version I had was no longer compatible with my Android version, so I installed the version from fdroid first, when that produced the error, I installed the latest stable apk from github, and then, after opening this issue I installed the nightly version. |
It was already reported there over a year ago: https://aur.archlinux.org/packages/pidcat-git But since this issue isn't about pidcat, Maybe we drop this thread. |
It's a good idea to uninstall the previous version before installing another one.
Cleaning storage and cache does not wipe koreader' settings, so you could try moving those out of the way. |
Ok. I renamed the Does it make sense to investigate this further, or should this issue be closed? |
Well, I don't think will find out how they got corrupted, but do you want to salvage some of those settings? |
I think I can recreate them. So I will close the issue. So thanks a lot everyone for your help! |
Issue
Koreader kernel crash on startup
Steps to reproduce
crash.log
(if applicable)crash.log
The text was updated successfully, but these errors were encountered: