web-dev-qa-db-ja.com

GsaIOExceptionバッファオーバーフロー、空き容量なし

ライブストリーミング機能を備えたMediaPlayerアプリがあります。物理デバイス(API 22 LollipopおよびAPI 23 Marshmallow)でアプリをテストするとき、ストリームの開始に問題はありません。今日は、エミュレーター(API 25 Nougat)を使用してアプリケーションをテストします。ストリームが機能せず、次のエラーが表示されます。

(SourceFile:139)at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1133)at Java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.Java:607)at Java.lang.Thread.run( Thread.Java:761)com.google.Android.apps.gsa.shared.util.concurrent.a.ad $ 1.run(SourceFile:85)02-23 23:58:09.834 2166-3554/com.google。 Android.googlequicksearchbox:search W/ErrorProcessor:onFatalError、engine(4)からの処理エラーcom.google.Android.apps.gsa.shared.speech.ag:com.google.Android.apps.gsaの入力ストリームからの読み取りエラーstaticplugins.recognizer.iaa(SourceFile:342)at com.google.Android.apps.gsa.staticplugins.recognizer.ia $ 1.run(SourceFile:1367)at Java.util.concurrent.Executors $ RunnableAdapter.call(Executors.Java :428)at Java.util.concurrent.FutureTask.run(FutureTask.Java:237)at com.google.Android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66)at Java。 util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1133)at Java.util .concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.Java:607)at Java.lang.Thread.run(Thread.Java:761)at com.google.Android.apps.gsa.shared.util.concurrent.a.ad $ 1.run(SourceFile:85)原因:com.google.Android.apps.gsa.shared.exception.GsaIOException:エラーコード:393238 |バッファオーバーフロー、空き容量なし。 com.google.Android.apps.gsa.speech.audio.Tee.g(SourceFile:2531)at com.google.Android.apps.gsa.speech.audio.ap.read(SourceFile:555)at Java.io .InputStream.read(InputStream.Java:101)at com.google.Android.apps.gsa.speech.audio.al.run(SourceFile:362)at com.google.Android.apps.gsa.speech.audio.ak $ 1.run(SourceFile:471)at Java.util.concurrent.Executors $ RunnableAdapter.call(Executors.Java:428)at Java.util.concurrent.FutureTask.run(FutureTask.Java:237)at com.google.Android .apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66)at com.google.Android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)at com .google.Android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1133)at Java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.Java:607)at Java.lang.Thread.run(Thread.Java:761)at com.google.Android.apps.gsa.shared.util.concurrent.a.ad $ 1.run( SourceFile:85)

私はそれが重要だと思う一つだけを認識できます。

GsaIOException:エラーコード:393238 |バッファオーバーフロー、使用可能なスペースなし

しかし、それが何を意味するのか分かりません。誰がどんな例外なのか説明できますか。そして、どこで問題を見つけるためにコードを検索できますか?

21
TYL

私も同様の問題を抱えていました。私にとっても同じエラーでデバイスでクラッシュしていました。これは私がデバイス用に修正した方法です:

<uses-permission Android:name="Android.permission.RECORD_AUDIO" />

詳細はこちら: Android Emulator 上のループエラー)==

上記のリンクから修正を適用した後、アプリをシミュレーターで動作させるには、x86アーキテクチャー(以前のx86_64ではない)に基づいて新しいシミュレーターを作成する必要がありました。

4
Florin Dobre

Logcatでデバイスをデバッグしようとしたときに、これらの正確なメッセージが表示されていました。彼らがどこから来たのか理解できませんでした。最後に、エミュレータとの以前のデバッグセッションがこれらを生成していることに気付きました。エミュレーターを終了して停止します。

2
Alyoshak

私は同じ問題を受け取りましたが、このクラッシュを発生させるために次のことをしました。ファイルを解析してそのバッファに保持する必要があるため、私が書いたAPIにはメモリを割り当てる必要がほとんどありませんでした。バッファを割り当てずにファイルの解析を開始したため、そのメッセージを受信しました。したがって、同じことをしている可能性のある同様のコードを調べることができます。

1

私が以前に作成したapkファイルを削除することでこれを解決しましたが、それらはプロジェクトファイルリストに残っています。

0
Silvia Ragui