What is fatal signal 6 in android logcat
Solution 1
Without more details (like seeing some code).
1) Do not block the UI thread, this can cause a SIGABRT
as the OS will kill a non-responsive app.
bind and unbind on every activity when i switch for like 11 times it crashes my app
2) Make sure that in your OnDestroy
within your Activity
you are cleaning up after yourself. i.e. Removing all your Listeners
/Events
and then calling the Base.OnDestory
.
3) An external (i.e. BluetoothLeService
) service calling back into your app with listeners that now null/nil will cause hangs and thus a SIGABRT
, see #2
Solution 2
According to Wikipedia:
The SIGABRT signal is sent to a process to tell it to abort, i.e. to terminate. The signal is usually initiated by the process itself when it calls abort function of the C Standard Library, but it can be sent to the process from outside like any other signal
It usually indicates some kind of error in your code or one of the libraries that you call.
See also: When does a process get SIGABRT (signal 6)?
Stefan van de Laarschot
Software Developer from the Netherlands Pure Passion And Self Learning ! My Skills: VB.net, C#, Xamarin Forms, IOS, Android, MSSQL, JQuery, Javascript
Updated on April 19, 2020Comments
-
Stefan van de Laarschot about 4 years
Im new to android development my app gets constantly killed when switching 11 times from activity and than it only says
Fatal signal 6 (SIGABRT), code -6 in tid 9485 (Thread-141585)
in my logcat.
What does this mean?
-
Stefan van de Laarschot about 8 yearsIm clearing everything and cleaning everything but it still randomly crashes everything worked as expected the ble device communicates with my app also show me the requested values its very strange looking for 3 weeks to this issue tried allot of things
-
SushiHangover about 8 yearsI would imagine it is a bad reference, an object that is being GC on the Mono and/or Davik/ART, a peer object that is nil, something that is hanging the app, out of memory issue, but without seeing some code I am just guessing... As a side note: Have you tried using
GC.Collect()
at the end of your OnDestroy and setting up your Activity's OnLowMemory event, and add logging everywhere ;-) -
Stefan van de Laarschot about 8 yearsOnLowMemory is not getting fired
-
Stefan van de Laarschot about 8 yearsmonodroid-glue.c:1144: gc_cleanup_after_java_collection: assertion "!sccs [i]->is_alive" failed 04-18 15:37:04.668 I/art (21664): Explicit concurrent mark sweep GC freed 29516(1647KB) AllocSpace objects, 17(4MB) LOS objects, 40% free, 17MB/29MB, paused 704us total 47.771ms at main thread CareAboutPauseTimes 1 04-18 15:37:04.668 F/libc (21664): monodroid-glue.c:1144: gc_cleanup_after_java_collection: assertion "!sccs [i]->is_alive" failed 04-18 15:37:04.668 F/libc (21664): Fatal signal 6 (SIGABRT), code -6
-
Stefan van de Laarschot about 8 yearsBluetoothLeService im using
-
SushiHangover about 8 years@StefanvandeLaarschot Take a look at bugzilla.xamarin.com/show_bug.cgi?id=33767
-
Stefan van de Laarschot about 8 yearsIts the same issue indeed but no solutions for it :(
-
RhetoricalRuvim about 6 yearsAnother possible cause: For me, I was getting a GL out of memory followed by this SIGABRT because I was doing canvas.drawLines () with a really thick (on the order of 75000 pixels) stroke width.
-
user1725145 almost 5 yearsA great answer to a broad question, thank you.