特定の手順で Inkdrop を終了すると「Failed to load database」が発生する

開発お疲れさまです。

以下の手順で Inkdrop の終了→起動を行うと、 Failed to load database エラーが発生します。

これは Topic-1015 の問い合わせと同様の事象かもしれません。

利用環境

  • Platform: Windows
  • Platform version: 10
  • App Version: 3.25.3

再現方法

  1. ノートを編集
  2. 他のウィンドウにフォーカスを移さずに Inkdrop を終了する (この間、未同期状態)
  3. 終了後、Inkdrop を再度起動すると Failed to load database が発生

なお、これは Windows の再起動で復旧します。

ちなみに、Inkdrop の同期タイミングの仕様は最近変わりましたか?
以前は入力数秒後に同期が走っていた気がするのですが、今は入力後、ウィンドウフォーカスが別のウィンドウに移ったタイミングで同期が走ります。

そのため「編集後、アクティブウィンドウが他に移る前に Inkdrop を終了したら同期されるのかな?」と気になり、上記手順で終了したところ、エラーが発生した次第です。

1 Like

Otawaraさん

いつもご報告ありがとうございます。
今出先なので再現方法については後ほど確認したいと思います。

同期タイミングの仕様は確かに変更しました。
編集後数秒だと頻繁すぎて無駄なりビジョンが溜まっていくと考えて、オートセーブのタイミングを60秒後としました。かつ、ウインドウフォーカスが外れたタイミングでも保存するようにしました。

もしかすると、アプリ終了時にこのウインドウフォーカスが外れるイベントも同時に発生していて、ノートの保存完了を待たずにアプリのプロセスが終了してしまっているのかもしれません。
ヒントありがとうございます!

@Yuko_Otawara

遅くなってすみません!
現象、再現できました。
CPU使用率が高い状態でメインプロセスだけが残り、ハングしている様子でした。

試しにアプリの終了時にデータベースのアンロード順序を早めたところ、手元では現象が解消されました。
こちらお試しいただけますでしょうか?

https://s3-ap-northeast-1.amazonaws.com/inkdrop-dist/tmp/Inkdrop-3.25.3-Windows-patch-1.zip

ご対応ありがとうございます!
こちらでも現象が解消されたことを確認しました。

1 Like

ご確認ありがとうございます!
よかったです、次のバージョンに取り込みますね!

v3.25.4リリースしました。ご報告ありがとうございました!

1 Like