App crashes when opening a large text file in the built-in editor
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 静か
調査の方向性
まず BrowseFilesPresenter.viewFile() と TextEditorPresenter.loadFileContent() から始め、次に FileCacheUtils.read() と binding.textEditor.text.toString() を呼び出す保存パスを調べます。issue #588 と動作を比較し、およそ 15 MB の .txt ファイルを使って再現します。完了の条件は、アプリがクラッシュしなくなることです。ファイルを安全に開くか、サイズ制限を報告して別のアプリを提示します。
索引モデルが issue の本文から書いたものです。
説明
Please agree to the following
- I have searched existing issues for duplicates
- I agree to follow this project's Code of Conduct
Summary
Opening a large (~15 MB) .txt file in the built-in text editor kills the app process. All vaults are locked afterwards and the password has to be entered again.
System Setup
- Android: not specified by the reporter
- Cryptomator: 2.0.0
Steps to Reproduce
- Unlock a vault
- Open a
.txtfile of roughly 15 MB stored in it - Tapping the file routes it to the built-in text editor
Expected Behavior
The file opens, or the app reports that it is too large for the built-in editor and offers to open it with another app.
Actual Behavior
The app terminates and restarts. Because the process dies, all vaults are locked and the password must be entered again. No error message is shown.
Reproducibility
Always
Relevant Log Output
(no debug log supplied yet)
Anything else?
Files ending in .txt, .md and .todo are always routed to the built-in editor in BrowseFilesPresenter.viewFile(), with no size check and no way to opt out. TextEditorPresenter.loadFileContent() reads the whole file into a single String via FileCacheUtils.read() and hands it to the EditText, so memory use scales with file size — and again on save via binding.textEditor.text.toString(). This is consistent with an OutOfMemoryError on a file of this size.
Possibly related: #588 (text editor performance on large files).
Additional Context
Reported via support ticket. Awaiting developer confirmation.
- 主要言語
- Kotlin
- スター
- 1.2k
- フォーク
- 216
- 平均マージ
- 1日 20時間
- マージ済み PR(30日)
- 9
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cryptomator/android のほかの issue
-
Increase Cache Size?オープンtype:feature-request
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
cryptomator/android#666 ·
メンテナーはふだん 1 日以内に返信
-
misc:hub
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
cryptomator/android#657 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
cryptomator/android#656 ·
メンテナーはふだん 1 日以内に返信
-
type:feature-request
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
cryptomator/android#653 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Android Integrationオープンtype:feature-request
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
cryptomator/android#647 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
cryptomator/android の issue をすべて見る
似ている issue
-
[BUG] Navigation drawer drops library-name suffixes without ellipsis (1.0.8, NVIDIA Shield)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
damontecres/Wholphin#2069 ·
メンテナーはふだん 1 日以内に返信
-
Android (vision-camera-location): HybridLocationManager never quits its HandlerThread on disposeオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
margelo/react-native-vision-camera#4217 ·
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
saisaharsh3/Leftovers#13 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 67/100
navikt/esyfo-narmesteleder#700 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
nightscout/AndroidAPS#5280 ·
メンテナーはふだん 1 日以内に返信