isomorphic-git / isomorphic-git/examples

React Native example crashes on cloning a medium/large size repo

オープン
#2 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
5
フォーク
2
PR マージ指標
30日以内にマージされた PR はありません

説明

While trying to clone the medium-sized repo: https://github.com/unicorn-utterances/unicorn-utterances

I find myself facing the following error:

```
2020-08-06 21:39:40.378 30949-31004/dev.oceanbit.gitshark W/eanbit.gitshar: Throwing OutOfMemoryError "Failed to allocate a 312742456 byte allocation with 50331648 free bytes and 228MB until OOM, target footprint 348090096, growth limit 536870912" (VmSize 7063752 kB)
2020-08-06 21:39:40.384 30949-31004/dev.oceanbit.gitshark E/AndroidRuntime: FATAL EXCEPTION: mqt_js
Process: dev.oceanbit.gitshark, PID: 30949
java.lang.OutOfMemoryError: Failed to allocate a 312742456 byte allocation with 50331648 free bytes and 228MB until OOM, target footprint 348090096, growth limit 536870912
at java.util.Arrays.copyOf(Arrays.java:3257)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
at java.lang.StringBuffer.append(StringBuffer.java:270)
at java.io.StringWriter.write(StringWriter.java:101)
at android.util.JsonWriter.close(JsonWriter.java:260)
at android.util.JsonWriter.endObject(JsonWriter.java:231)
at com.facebook.react.devsupport.JSDebuggerWebSocketClient.executeJSCall(JSDebuggerWebSocketClient.java:123)
at com.facebook.react.devsupport.WebsocketJavaScriptExecutor.executeJSCall(WebsocketJavaScriptExecutor.java:170)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:26)
at android.os.Looper.loop(Looper.java:214)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:225)
at java.lang.Thread.run(Thread.java:919)
2020-08-06 21:39:40.616 30949-30949/dev.oceanbit.gitshark D/ReactNative: ReactInstanceManager.detachViewFromInstance()
2020-08-06 21:44:13.427 30949-30995/dev.oceanbit.gitshark W/System: A resource failed to call response.body().close().
```

This is true even when setting `android:largeHeap="true"`

A reproduction link can be found here:

https://github.com/oceanbit-dev/examples/commit/41c965d9932e26467e1d81646e31cc3a0d6d6e88

Related: https://github.com/oceanbit-dev/GitShark/issues/41

I'd love some help debugging this issue :( This is a major issue for my app

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start with the reproduction at examples commit 41c965d9932e26467e1d81646e31cc3a0d6d6e88 and reproduce cloning the linked medium-sized repository on Android. Read the OutOfMemoryError stack trace and compare the behavior with related issue #41. Done means the React Native example can clone a medium or large repository without crashing, including when largeHeap is enabled.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
android, react-native, typescript
領域
mobile
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。