Приложение аварийно завершает работу с собственным кодом


Crashed: .onlineradioapp|
0  gralloc.rk30board.so           0xb4a2d616 bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
1  gralloc.rk30board.so           0xb4a315c9 (Missing)
2  gralloc.rk30board.so           0xb48e2465 art::JValue art::interpreter::ExecuteGotoImpl<true, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
3  gralloc.rk30board.so           0xb4a1349d artInterpreterToInterpreterBridge
4  gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
5  gralloc.rk30board.so           0xb48f2fef art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
6  gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
7  gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
8  gralloc.rk30board.so           0xb48f2c1b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
9  gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
10 gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
11 gralloc.rk30board.so           0xb4a30de9 (Missing)
12 gralloc.rk30board.so           0xb48f308b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
13 gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
14 gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
15 gralloc.rk30board.so           0xb48f2c1b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
16 gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
17 gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
18 gralloc.rk30board.so           0xb48f2c1b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
19 gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
20 gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
21 gralloc.rk30board.so           0xb48f2c1b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
22 gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
23 gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
24 gralloc.rk30board.so           0xb48f2c1b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
25 gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
26 gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
27 gralloc.rk30board.so           0xb48f2c1b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
28 gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
29 gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
30 gralloc.rk30board.so           0xb48f2c1b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
31 gralloc.rk30board.so           0xb4a133dd artInterpreterToInterpreterBridge
32 gralloc.rk30board.so           0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)
33 gralloc.rk30board.so           0xb4a30de9 (Missing)
34 gralloc.rk30board.so           0xb48f308b art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)
35 gralloc.rk30board.so           0xb4a131b5 art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*)
36 gralloc.rk30board.so           0xb4c1973b artQuickToInterpreterBridge
37 gralloc.rk30board.so           0xb491d003 (Missing)
38 boot.oat                       0x73b4e2bb (Missing)

Я видел много отчетов о сбоях, которые сообщаются на Fabric с вышеуказанным журналом, есть ли в любом случае, чтобы понять его и найти решение для него? Я протестировал на многих устройствах, но я не в состоянии произвести выше журнал. Есть около 300 отчетов о сбоях на Fabric console в течение 7 дней. Я только что включил CrashlyticsNdk() в новом обновлении. Может ли кто-нибудь помочь мне определить проблему.

Спасибо.

2 7

2 ответа:

Здесь я отвечаю на свой собственный вопрос после долгой отладки, я нашел ошибку в моем коде JNI

Старый код

char signToken[endingNumber - startingNumber];
    int at = 0;
    for (int i = startingNumber; i < endingNumber; i++) {
        signToken[at] = cstr[i];
        at++;
    }
    signToken[at] = '\0';

Новый код

 char signToken[endingNumber - startingNumber + 1];
    int at = 0;
    for (int i = startingNumber; i < endingNumber; i++) {
        signToken[at] = cstr[i];
        at++;
    }
    signToken[at] = '\0';

Это простой логин для подстроки, где я взял размер строки, равный длине строки, но это длина строки+1 после обновления размера до N+1, я решил свою проблему.

Я думаю, что у вас есть более старая версия или есть проблемы в файле gralloc.rk30board.so вам нужно обновить его. попробуйте это Надеюсь, это поможет вам. :)