Huawei MediaPad T2での不具合
【発生事象】
Android で音声通話できるアプリで skyway のライブラリを最新にすると、
Huawei のタブレットでアプリが落ちてしまう。
※他のタブレット(Lenovo)では落ちない。
【環境】
・SDKバージョン:最新
・端末:Huawei MediaPad T2
・OS: Android 5.0.0
・ネットワーク:LTE
【再現手順】
・通話の準備として、Peerを生成して、コールバックを設定する
【期待される事象】
・問題なく通話の準備ができる
【実際の事象】
・アプリが落ちる
-
クラッシュログをお送りいただきあありがとうございます。
2点確認したいことがございます。
1. 他バージョンのAndroid SDKの場合、正常に動きますか?
アプリが落ちてしまうバージョンのAndroid SDK(回答日から想像するにv1.1.2と認識しています)以外のバージョンでご報告いただいたデバイスが正しく動くか教えていただけますでしょうか。
2. Bluetooth機器をオーディオデバイスとして使用しましたか?
エラーログを見たところ、`E/bt_a2dp_hw: adev_set_parameters: ERROR: set param called even when stream out is null` と出力されていました。
A2DP(Advanced Audio Distribution Profile)はBluetoothのプロファイルの1つです。通信する機器同士が同じプロファイルを持っている場合に限り、そのプロファイルの機能を利用した通信を行うことができます。
ここからは完全に想像となって申し訳ないのですが、もしBluetooth機器をオーディオデバイスとして使用していたなら、Huawei MediaPad T2とオーディオデバイスのプロファイルが一致しておらず、その影響を受けてアプリがクラッシュした可能性があります。
的外れな回答でしたら申し訳ありません。ご確認よろしくお願いいたします。
-
ご連絡ありがとうございます。
先ほどASUS Zenfone2(モデル番号:ASUS_Z00AD、OS:Android 5.0)端末でデバッグを行いました。
デバッグには以下のアプリケーションを使用しています。
https://github.com/skyway/skyway-android-sdk/tree/master/examples/p2p-callv1.0.6、v1.1.2とも正常にPeerの生成が行われ、メディア通信も正常に行えておりました。
同OSバージョンの別端末で正常に動作することから、現調査段階では機種依存の可能性が高くこちら側から根本的な解決法を提示することは難しいです。
端末のOSをアップデートなどを試してみて、新たな情報が見つかり次第お問い合わせください。
以上、お手数をおかけいたしますがよろしくお願いいたします。
-
本件ですが、下記2端末でも発生しました。
・HUAWEI VNS-L52(os6.0.1)
・HTC Desire 626(os5.1)
※動作確認したSDKのバージョンは1.1.3になります。
エラー内容は同じくheapのエラーが出ております。
10-03 16:27:13.322 9370-9420/com.ntt.ecl.webrtc.sample_p2p_call A/libc: heap corruption detected by dlfree
10-03 16:27:13.322 9370-9420/com.ntt.ecl.webrtc.sample_p2p_call A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 9420 (Thread-4576)また、こちらですがサンプルコード(https://webrtc.ecl.ntt.com/android-sdk.html)でも発生することを確認しており、
SDKバージョンがv1.0.6では発生しないことも確認いたしました。
どなたか解決方法をご存知でしたらご教示頂けませんでしょうか。
-
情報提供いただきありがとうございます。
現時点でこちら側に同機種の端末が存在しないため、本件を再現させることは難しいと思われます。
Huawei P20 Lite(モデル番号:ANE-LX2J、OS:Android 9)でp2p-callサンプルアプリを試しましたがv1.1.3で正常に動作することは確認しております。
さらなる情報収集のため何点かヒアリングさせていただいてもよろしいでしょうか。
1. お使いのp2p-callのサンプルコードに変更を加えましたか?
2. 報告いただいた機種の端末上でp2p-callを実行した場合、必ずnew Peer時にアプリは落ちますか?試行回数中アプリが落ちた回数を教えていただけますでしょうか。
3. 報告いただいた機種の端末上でp2p-call以外のサンプルアプリを実行した場合、アプリは正常に動作しますか?動作しない場合はクラッシュが発生するタイミングと出力されたクラッシュログを教えていただけますか。
4. 報告いただいた機種以外の端末上でp2p-callを実行した場合、アプリは正常に動作しますか?
お手数をおかけいたしますがご確認よろしくお願い致します。
-
西川様
ご返信頂き、誠にありがとうございます。
上記の問い合わせをしました Hana Takashi と同社の者です。本日 Hana Takashi が欠勤のため、代わって返信しております。
ヒアリング頂きました項目について以下に回答致します。
1.について
p2p-callのコードに対しては、以下の手順を行いました。
・skyway.aarをlibs内に追加
・build.gradleのcompileとなっているものをimplementationに変更
・API_KEYおよびDOMAINの値を自身のものに変更
2.について
デバッグモードにて、onCreate内のコードを1行ずつ実行したのですが、new Peerが実行された直後から、約1秒後までの間に落ちます。
(Android Studioのデバッグ時に使用するStep Overによって、1行ずつ実行していき、new Peerの行で止まっている時点では落ちません。ですが その状態で再度Step Overをして次の行に進むと、落ちてしまいます。
サンプルコードにてnew Peerと、その次の行である_peer.onの間に "int a = 0;" というようなコードを挟んだ場合も、new Peerの時点では落ちず "int a = 0;" の行になった時点で落ちてしまいます。)
試行回数については正確には数えておりませんが、v1.1.3 の方は約20回中20回 落ちました。v1.0.6 の方は約5回中 5回 正常に動作しております。また加えて、v1.1.0 の方も使用してみたのですが、そちらの方は 約3回中 3回 落ちました。(毎回 new Peerを実行して次の行に進んだところで落ちています)
3.について
他のサンプルアプリについては、試行回数が少なくなってしまうのですが以下のようになりました。
・mesh-textchat(試行回数 約5回中 5回 落ちました。落ちる場所はp2p-callと同様です。)
10-04 13:18:04.226 9065-9091/? A/libc: heap corruption detected by dlfree
10-04 13:18:04.226 9065-9091/? A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 9091 (Thread-3013)
10-04 13:18:04.786 925-9100/? E/ActivityManager: App crashed! Process: com.ntt.ecl.webrtc.sample_mesh_textchat
10-04 13:18:04.806 925-958/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
10-04 13:18:04.806 925-9100/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
10-04 13:18:04.816 386-386/? E/lowmemorykiller: Error writing /proc/9065/oom_score_adj; errno=22
10-04 13:18:04.886 925-958/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
10-04 13:18:04.896 1369-1369/? E/InputEventReceiver: Looper::removeFd(28) is failed, result(0), input channel 'ClientState{16ea70a3 uid 10142 pid 9065} (c)'・mesh-videochat(mesh-textchatと同様)
10-04 13:39:46.691 10286-10323/com.ntt.ecl.webrtc.sample_mesh_videochat A/libc: heap corruption detected by dlfree
10-04 13:39:46.691 10286-10323/com.ntt.ecl.webrtc.sample_mesh_videochat A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 10323 (Thread-3095)・p2p-textchat(mesh-textchatと同様)
10-04 13:55:46.891 11381-11570/com.ntt.ecl.webrtc.sample_p2p_textchat A/libc: heap corruption detected by dlfree
10-04 13:55:46.891 11381-11570/com.ntt.ecl.webrtc.sample_p2p_textchat A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 11570 (Thread-3175)・p2p-videochat(mesh-textchatと同様)
10-04 14:08:21.761 13192-13253/com.ntt.ecl.webrtc.sample_p2p_videochat A/libc: heap corruption detected by dlfree
10-04 14:08:21.761 13192-13253/com.ntt.ecl.webrtc.sample_p2p_videochat A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 13253 (Thread-3295)・sfu-textchat(mesh-textchatと同様)
10-04 14:13:53.571 14162-14193/com.ntt.ecl.webrtc.sample_sfu_textchat A/libc: heap corruption detected by dlfree
10-04 14:13:53.571 14162-14193/com.ntt.ecl.webrtc.sample_sfu_textchat A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 14193 (Thread-3370)・sfu-videochat(mesh-textchatと同様)
10-04 14:22:48.251 15681-15712/com.ntt.ecl.webrtc.sample_sfu_videochat A/libc: heap corruption detected by dlfree
10-04 14:22:48.251 15681-15712/com.ntt.ecl.webrtc.sample_sfu_videochat A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 15712 (Thread-3505)4.について
他の端末ですと
・VAIO Phone VPA051(Android 6.0.1) (p2p-callを含むの全てのサンプルで正常動作を確認)
・Huawei P10 Lite(Android 8.0.0) (p2p-callのみで正常動作を確認。その他のサンプルは未確認となります。申し訳ございません)
・Google Pixel(Android 10) (p2p-callのみで正常動作を確認。その他のサンプルは未確認となります。申し訳ございません)
・Nexus 5X(Android 8.1.0) (p2p-callのみで正常動作を確認。その他のサンプルは未確認となります。申し訳ございません)
・ASUS Z00D(Android 5.0.1) (p2p-callのみで正常動作を確認。その他のサンプルは未確認となります。申し訳ございません)
での正常動作を確認致しました。
この問題に関係しているかは分からないのですが、以下のようなことも起こりました。new Peer(this, " ", option) のように、Peerをインスタンス化する際に " "(半角スペース)を引数としてpeerIdに渡すと、エラー時のCallbackが呼び出されて
[On/Error]ID " " is invalid
というログを出し、落ちなくなりました。(通信ができないため、正常な動作ではないのですが)
長文となってしまい、申し訳ございません。
お忙しい中、お手数をおかけしてしまいますが、よろしくお願い致します。
-
特定の端末についてクラッシュする問題に対応した Android SDK v2.0.1 をリリースしました。
https://github.com/skyway/skyway-android-sdk/releases/tag/v2.0.1
こちらで報告されている問題が解決しているかもしれません。
Please sign in to leave a comment.
Comments
20 comments