-
Notifications
You must be signed in to change notification settings - Fork 61
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 ePub3 lib - missing authors #72
Comments
First of all, crashing is not good. The ReadiumSDK C++ library includes a "error handler" API, and each native launcher app (iOS, OSX, Android) contains the necessary plumbing to notify EPUB parsing problems via the GUI (e.g. popup dialog). So, assuming that by "authors" you mean Are you able / allowed to share the ebook so we can run some tests at our end? |
Hello, When I try to open this book (http://www.imeon-soft.com/Users_Guide.epub) with SDKLauncher-Android, the fatal error occurs and Android kills the application. Here, I copy the output from LogCat 10-02 14:41:22.838: A/libc(13479): !@fatal signal 11, thread 13479 This book has been created with old version of calibre. I have tried to create a new book with missing author('s) filed but the latest version of calibre manages this field properly and SDKLauncher does not crashes. How can I use "error handler" API to avoid such crashes? Is there any example snipped in the SDKLauncher-Android |
@nikolay-atanasov I get your epub file example. @danielweck Readium seems to crash when it calls method "EPub3.openBook", this method calls jni method in file "readium-sdk/Platform/Android/jni/epub3.cpp", and the method seems to crash at line 455. If we replace line 235 => return (bool)b; in "LauncherErrorHandler" method Readium don't crash, and in "SDKLauncher-Android" we see alert dialog created in "popSdkErrorHandlerMessage" method in file "ContainerList.java" when we open the book. |
@TienHai thank you for your investigation. Any EPUB3 parsing error (including the ones marked as "severe" in the Readium SDK) should be processed by the error handler, giving the user some feedback, and providing an option to ignoring errors or cancelling the ebook loading process. We will look into this. Crashing behaviour is ; without any doubt ; a bug. However, please bear in mind that at this stage, the "application launchers" are barebones pieces of software that are not production-ready, they are not designed for a polished user experience. They demonstrate how to integrate the Readium SDK at its most basic level. So please do not expect a completely smooth, off-the-shelf commercial-grade product. Feel free to propose improvements too (pull requests are welcome). |
Marking critical both because of the crash and because we are weak in general with respect to handling "bad" content. |
Related issue: #137 |
The ePub3 lib caches if I tried to open a book with sample application and the book does not have authors
The text was updated successfully, but these errors were encountered: