Android App Crashes while TFLite Model is processing- A/libc: Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x767af9c570

Viewed 322

Recently, For a project, I was trying to deploy a TFLite model in an Android App. It is a Sentiment analysis model, compiled with Tensorflow 2.3 ( I have tried Tensorflow 2.4 too ). The Code for my model inference is :

public static double getPolarityScore(Context context, ArrayList<Double> bufferList){
    float[] bufferFloat = new float[bufferList.size()];
    for (int i = 0; i < bufferList.size(); ++i) {
        bufferFloat[i] = bufferList.get(i).floatValue();
    }
    ByteBuffer byteBuffer = FloatArray2ByteArray(bufferFloat);
    try {
        Polarity model = Polarity.newInstance(context);
        TensorBuffer inputFeature0 = TensorBuffer.createFixedSize(new int[]{1, 120}, DataType.FLOAT32);
        inputFeature0.loadBuffer(byteBuffer);
        Polarity.Outputs outputs = model.process(inputFeature0);
        TensorBuffer outputFeature0 = outputs.getOutputFeature0AsTensorBuffer();
        TensorBuffer outputFeature1 = outputs.getOutputFeature1AsTensorBuffer();

        model.close();
    } catch (IOException e) {
        // TODO Handle the exception
    }

    return 0.0;
}

The Float2ByteArray is written as following :

    public static ByteBuffer FloatArray2ByteArray(float[] values){
        ByteBuffer buffer = ByteBuffer.allocate(4 * values.length);
        for (float value : values){
            buffer.putFloat(value);
        }
        return buffer;
    }

But why executing the line : Polarity.Outputs outputs = model.process(inputFeature0); my app is crashing suddenly with the following Error:

2021-04-14 02:13:34.452 26015-26015/com.example.setiapp A/libc: Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x767af9c570 in tid 26015 (example.setiapp), pid 26015 (example.setiapp)

I have tried to used adb logcat -v threadtime -d > test.txt as suggested from some other stackoverflow answers and got the following result:

04-14 02:22:44.417 26956 26956 F DEBUG   : pid: 26916, tid: 26916, name: example.setiapp  >>> com.example.setiapp <<<
04-14 02:22:44.417 26956 26956 F DEBUG   : uid: 10045
04-14 02:22:44.417 26956 26956 F DEBUG   : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x767c608570
04-14 02:22:44.417 26956 26956 F DEBUG   :     x0  b4000076b20860f8  x1  000000767c608570  x2  000000000000012c  x3  b4000076b20860f0
04-14 02:22:44.417 26956 26956 F DEBUG   :     x4  000000767c60869c  x5  b4000076b2086224  x6  0000000000000000  x7  0000000000000000
04-14 02:22:44.417 26956 26956 F DEBUG   :     x8  0000000000189145  x9  0000000000000008  x10 0000000000000000  x11 0000000000000000
04-14 02:22:44.417 26956 26956 F DEBUG   :     x12 0000000000000000  x13 0000000000000000  x14 0000000000000078  x15 ffffffffffffffff
04-14 02:22:44.417 26956 26956 F DEBUG   :     x16 000000765f85b010  x17 00000079bd990400  x18 0000000000000000  x19 000000000000000e
04-14 02:22:44.417 26956 26956 F DEBUG   :     x20 000000000000012c  x21 b4000076b20860f8  x22 000000765f964894  x23 b4000076b205b1ec
04-14 02:22:44.417 26956 26956 F DEBUG   :     x24 0000000000008ca0  x25 0000000000000001  x26 0000000000000000  x27 0000000000000000
04-14 02:22:44.417 26956 26956 F DEBUG   :     x28 b4000076b207e4c0  x29 0000007fee3e32e0
04-14 02:22:44.417 26956 26956 F DEBUG   :     lr  000000765f6f2780  sp  0000007fee3e31e0  pc  00000079bd990378  pst 0000000020000000
04-14 02:22:44.503  3409  3409 I CNSS    : Failed to send nl message

I really don't know how to interpret this. To solve this issue, I have followed several previous stackoverflow answer like this but I still can't solve this issue. If anyone could show me a way, ANY way or even a documentation to follow, I would be really grateful. Thanks.

For additional bit of Information, I have tried compiling with SDK Version 30 and 29. Got the same problem every time. I have tried to run this on Emulator: Pixel 3 Lolipop, Q (x86) and Device: Xiaomi Mi A3 (arm). The byteBuffer contents are printed out as following:

04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 0 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 1 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 2 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 3 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 4 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 5 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 6 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 7 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 8 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 9 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 10 :0.0
04-14 02:22:44.282 26916 26916 D FLOAT ARRAY CONTENT: : Index 11 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 12 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 13 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 14 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 15 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 16 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 17 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 18 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 19 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 20 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 21 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 22 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 23 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 24 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 25 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 26 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 27 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 28 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 29 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 30 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 31 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 32 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 33 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 34 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 35 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 36 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 37 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 38 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 39 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 40 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 41 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 42 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 43 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 44 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 45 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 46 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 47 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 48 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 49 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 50 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 51 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 52 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 53 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 54 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 55 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 56 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 57 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 58 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 59 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 60 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 61 :0.0
04-14 02:22:44.283 26916 26916 D FLOAT ARRAY CONTENT: : Index 62 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 63 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 64 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 65 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 66 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 67 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 68 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 69 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 70 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 71 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 72 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 73 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 74 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 75 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 76 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 77 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 78 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 79 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 80 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 81 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 82 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 83 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 84 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 85 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 86 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 87 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 88 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 89 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 90 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 91 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 92 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 93 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 94 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 95 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 96 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 97 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 98 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 99 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 100 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 101 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 102 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 103 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 104 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 105 :0.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 106 :4643.0
04-14 02:22:44.284 26916 26916 D FLOAT ARRAY CONTENT: : Index 107 :1.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 108 :1499.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 109 :35.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 110 :1.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 111 :1.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 112 :1306.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 113 :159.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 114 :157.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 115 :1267.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 116 :125.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 117 :4643.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 118 :1309.0
04-14 02:22:44.285 26916 26916 D FLOAT ARRAY CONTENT: : Index 119 :1733.0

And the byteBuffer is printed out as following: 04-14 02:22:44.285 26916 26916 D RunInference: java.nio.HeapByteBuffer[pos=0 lim=480 cap=480]

0 Answers
Related