I have a large Android application including C/C++ libraries (via NDK/SWIG).
At some point the app crashes and the tombstone file shows:
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'Invalid address 0xbc9b306d passed to free: value not
allocated'
Unfortunately it does not tell me which variable is at address 0xbc9b306d. How to find out?
Restriction: unfortunately due to the scale of the code base I cannot set breakpoints in Android Studio.
BR, Rene
Related
I am trying to explore .NET 6 with MAUI preview 14 to run code on Windows, Android and other platforms.
While my code works fine on Windows, on Android, where I run my code using VS 2022 17.2 Preview 2 in a Pixel 5 emulator with x86_64 architecture, any attempt to instantiate the central instance of the Processor class (with e.g. var processor = new Processor(true); of a library named SaxonCS (https://www.nuget.org/packages/SaxonCS/) I use crashes the application with an error [libc] Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
Loaded assembly: /data/data/com.companyname.mauiapp4sax1121test2/files/.__override__/Singulink.Numerics.BigDecimal.dll [External]
Loaded assembly: /data/data/com.companyname.mauiapp4sax1121test2/files/.__override__/Singulink.Numerics.BigIntegerExtensions.dll [External]
[libc] Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10 in tid 14860 (pp4sax1121test2), pid 14860 (pp4sax1121test2)
What does that error mean, how to find out in more detail what causes it and how to avoid it?
As for the logs, they don't seem to show more info, at least to me as the error doesn't seem to be more detailed:
Uhrzeit Gerätename Typ PID Tag Meldung
03-22 11:15:53.714 pixel_5_-_api_30 Error 14953 DEBUG signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10
03-22 11:15:53.633 pixel_5_-_api_30 Error 14860 libc Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10 in tid 14860 (pp4sax1121test2), pid 14860 (pp4sax1121test2)
I filed this issue as a potential bug on MAUI in https://github.com/dotnet/maui/issues/6811.
#lambdageek from Microsoft was able to identify the bug https://github.com/dotnet/runtime/issues/76312 in the Mono runtime that caused this crash, his fix is now in the November 2022 6.0 .NET service update and in .NET 7.0 GA so using these up to date versions of .NET and MAUI under Android SaxonCS does no longer crash.
Hii all I am getting error on closing of my application "F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 24438 (hwuiTask1), pid 23229".
Above is the error. Please anyone can help.
I am using Qt 12.5.9 for development of Application my application runs on android and windows but this error is encountered on android only.
For testing I am using android 10.
enter image description here
I'm developing a voip app using PJSIP 2.8. Recently I've moved to aab package approach and providing support for 64 bit device so when my device run on 64 bit device "arm64-v8a" it crashed during the call with this error
libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7129621350 in tid 29032 (AudioRecord)
It worked fine if i prepare a apk and remove ndk filter from gradle.
Any help is much appreciated.
Applications constantly crashing with SIGSEGV if output format is 'segment'
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 17059
The problem was in output file naming.
It should contain formatting directives like 'name_%03d.ts' so created files would be 'name_001.ts', 'name_002.ts'...
I'm running custom android on i.MX51 board and observed a strange issue with an application.
I got logs in n logcat of segmentation fault of an application (native, written using NDK) :
03-19 15:26:46.763 I/DEBUG ( 2234): pid: 2257, tid: 2257 >>> /usr/bin/powerMgr <<<
03-19 15:26:46.763 I/DEBUG ( 2234): signal 8 (SIGFPE), code 0 (?), fault addr 000008d1
Even after this the application continued to run with same PID (2257) which I confirmed from both logcat and ps command. Is this possible ? If yes, how ??
That's not a segmentation fault (SIGSEGV, signal 11). You got a SIGFPE, signal 8, possibly as the result of an integer divide-by-zero. The signal handling didn't kill the process, so it just continued executing.
Many ARM CPUs lack hardware division instructions, so the SIGFPEis thrown explicitly from the software divide function. As a result you don't get a meaningful value in "fault addr".
The treatment of this has changed over time; newer versions of Android are a bit better about it.