A/libc: Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x73a6c78498 in tid 5478 (Thread-3), pid 5442 (llo_xr.opengles)

Hello Guys,

While integrating CloudXR 3.2 library with Hello XR test application, I’m facing Fatal error as below :

A/libc: Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x73a6c78498 in tid 5478 (Thread-3), pid 5442 (llo_xr.opengles)

So, I checked that error in detail and found below logs :

F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-02 16:05:19.619  7269  7269 F DEBUG   : Build fingerprint: '---'
11-02 16:05:19.619  7269  7269 F DEBUG   : Revision: '0'
11-02 16:05:19.619  7269  7269 F DEBUG   : ABI: 'arm64'
11-02 16:05:19.619  7269  7269 F DEBUG   : Timestamp: 2022-11-02 16:05:19+0530
11-02 16:05:19.619  7269  7269 F DEBUG   : pid: 7118, tid: 7154, name: Thread-3  >>> com.khronos.openxr.hello_xr.opengles <<<
11-02 16:05:19.619  7269  7269 F DEBUG   : uid: 10120
11-02 16:05:19.619  7269  7269 F DEBUG   : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x77fadf4498
11-02 16:05:19.619  7269  7269 F DEBUG   :     x0  0000000000000001  x1  00000000000030f9  x2  0000000000000000  x3  ffffffff9c9db8f3
11-02 16:05:19.619  7269  7269 F DEBUG   :     x4  0029fd0a8c000000  x5  00676e61766564ff  x6  00000078e79e2000  x7  000000000001abbe
11-02 16:05:19.619  7269  7269 F DEBUG   :     x8  00000077f9cf9000  x9  0000000000000000  x10 0000000000000001  x11 0000000000000000
11-02 16:05:19.619  7269  7269 F DEBUG   :     x12 c4c6055984d72f78  x13 00000000636247e7  x14 002114a0be738400  x15 00003da43b94f057
11-02 16:05:19.619  7269  7269 F DEBUG   :     x16 00000077f9cf8c08  x17 00000077fadf4498  x18 ffffffffffffffed  x19 00000077c117d798
11-02 16:05:19.619  7269  7269 F DEBUG   :     x20 00000077f1a23508  x21 00000077f1a23500  x22 0000007854dc6418  x23 0000007854dc6dd8
11-02 16:05:19.619  7269  7269 F DEBUG   :     x24 0000007854a16470  x25 0000000000000038  x26 c0c0c0c0c0c0c0c1  x27 00000000000000aa
11-02 16:05:19.619  7269  7269 F DEBUG   :     x28 0000000000000018  x29 0000007854dc63a0
11-02 16:05:19.619  7269  7269 F DEBUG   :     sp  0000007854dc6390  lr  00000077f9cabd9c  pc  00000077fadf4498
11-02 16:05:19.620  1124  4204 I SCVIS   : erase keyframe: 6017

From above logs I found below backtrace :

11-02 16:05:19.712  7269  7269 F DEBUG   :       #00 pc 0000000000000498  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk
11-02 16:05:19.712  7269  7269 F DEBUG   :       #01 pc 0000000000009d98  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk!libCloudXRClient.so (offset 0x12a000) (BuildId: 073d0a27c1a66952e321cc2628e4408f403874f2)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #02 pc 000000000000920c  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk!libCloudXRClient.so (offset 0x12a000) (BuildId: 073d0a27c1a66952e321cc2628e4408f403874f2)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #03 pc 000000000002c7e0  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk!libCloudXRClient.so (offset 0x12a000) (BuildId: 073d0a27c1a66952e321cc2628e4408f403874f2)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #04 pc 00000000000a193c  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk (offset 0x247000) (CloudXRClient::ReleaseFrame(cxrFramesLatched*)+144) (BuildId: 510a277ecea060082666b98d85ebf9afd015de55)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #05 pc 0000000000138da4  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk (offset 0x247000) (BuildId: 510a277ecea060082666b98d85ebf9afd015de55)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #06 pc 000000000012351c  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk (offset 0x247000) (BuildId: 510a277ecea060082666b98d85ebf9afd015de55)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #07 pc 000000000011c780  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk (offset 0x247000) (android_main+1368) (BuildId: 510a277ecea060082666b98d85ebf9afd015de55)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #08 pc 000000000009c69c  /data/app/com.khronos.openxr.hello_xr.opengles-BL8dquyP12iKu3S5x401HQ==/base.apk (offset 0x247000) (BuildId: 510a277ecea060082666b98d85ebf9afd015de55)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #09 pc 00000000000e68a0  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: 21847aa9757f000b0461310a9f5e6e51)
11-02 16:05:19.712  7269  7269 F DEBUG   :       #10 pc 0000000000084b6c  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 21847aa9757f000b0461310a9f5e6e51)

Based on above backtrace I found that app is crashing on CloudXRClient::ReleaseFrame(cxrFramesLatched*) method.

That method code is as below :

cxrReleaseFrame(Receiver, framesLatched);

So, basically its crashing on Releasing Frame and that method is inside libCloudXRClient.so file.

Note : the same Cloud XR library working fine with diff. demo code for us for release frame.

Please provide solution on this asap.

Thanks & Regards,
Devang

I don’t know of the sample you are trying to integrate, or where the integration could go ‘wrong’.

Seeing the full cloudxrclient log file MIGHT have a hint. Or might not. Also will show which decoder is being used.

That function should ‘unmap’ the texture from any meta API (like eglDestroyImageKHR), and then something like glDeleteTextures. Something corrupted might cause an issue, again I don’t know the sample or how it is being integrated to state why ReleaseFrame would possibly crash.