Skip to content
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

Chrome FileSystemStorage writer:onerror() throws exception => entire ebook library gets deleted? #293

Closed
danielweck opened this issue Mar 5, 2015 · 6 comments
Assignees

Comments

@danielweck
Copy link
Member

Niclas Bergstrom (ReadSpeaker) reported a critical bug in the Chrome extension: all EPUBs in library disappear, when opening / unzipping another EPUB (sorry, the ebook is private).

This bug seems to have been inadvertently fixed by @ryanackley 's checkin: 31e55f5#diff-e8922b404eb71403f6ad6457d4449a4fR38

...which addressed a different issue: #280

My personal observation is that the thrown exception in FileSystemStorage writer:onerror() was the culprit of the ebook library deletion, but am I right? Is there a risk of further similar issues, or have we now plugged the hole for good?

@rkwright
Copy link
Contributor

rkwright commented Mar 5, 2015

Agreed. We can hope it was fixed but I would be more comfortable if we knew why the exception nuked the library.

@ryanackley
Copy link
Contributor

The fix for #280 kind of fixed it but it would have happened again if something else were to cause an error while writing. Deduced the problem and fixed it.

@danielweck
Copy link
Member Author

Thanks Ryan! :)

@danielweck
Copy link
Member Author

New bug report:
http://idpf.org/forum/topic-2447
We are waiting for the forum user to share the cultprit EPUB, so at this stage we are not sure that this is a related issue.

Meanwhile: are there other API callbacks that need try {} catch() {} 'ing to ensure that EPUB import failures cannot destroy the ebook library? Or is could that be a case of FileSystemStorage writer:onerror() (or similar failure condition) that results in incomplete / dirty database update+close? (or filesystem index corruption)

@danielweck
Copy link
Member Author

Related issue:
#329
(more robust database storage)

@danielweck
Copy link
Member Author

Related issue:
#328
(ebook recovery when index gets corrupted)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants