astroid icon indicating copy to clipboard operation
astroid copied to clipboard

SIGABRT during exit() on FreeBSD

Open l1gi opened this issue 4 years ago • 4 comments

I am still facing this kind of crash:

...
[11:39:40] [0x0000000809d5a000] [M] [debug] astroid: quitting..
[11:39:40] [0x0000000809d5a000] [M] [info] poll: toggle auto poll: false
[11:39:40] [0x0000000809d5a000] [M] [debug] actions: cleaning up remaining actions..
[11:39:40] [0x0000000809d5a000] [M] [debug] extension: destruct.
[11:39:40] [0x0000000809d5a000] [M] [info] astroid: goodbye!
Abort trap (core dumped)
ligi@wand:~$ gdb /opt/bin/astroid astroid.core 
...
[New LWP 101305]
[New LWP 101314]
[New LWP 101564]
[New LWP 101038]
Core was generated by `astroid'.
Program terminated with signal SIGABRT, Aborted.
#0  0x0000000806f0045a in thr_kill () from /lib/libc.so.7
[Current thread is 1 (LWP 101305)]
(gdb) #0  0x0000000806f0045a in thr_kill () at /lib/libc.so.7
#1  0x0000000806efe844 in raise () at /lib/libc.so.7
#2  0x0000000806e71079 in abort () at /lib/libc.so.7
#3  0x0000000805eeeeab in  () at /usr/local/lib/libglibmm-2.4.so.1
#4  0x000000080a421d00 in  ()
#5  0x0000000805f0cf67 in  () at /usr/local/lib/libglibmm-2.4.so.1
#6  0x00000000004c4e84 in Astroid::Astroid::~Astroid() (this=0x809dc3000)
    at /home/ligi/workspace/astroid/src/astroid.cc:407
#7  0x00000000004c4f19 in Astroid::Astroid::~Astroid() (this=0x809dc3000)
    at /home/ligi/workspace/astroid/src/astroid.cc:407
#8  0x0000000804148093 in g_datalist_clear () at /usr/local/lib/libglib-2.0.so.0
#9  0x0000000803550584 in g_object_unref () at /usr/local/lib/libgobject-2.0.so.0
#10 0x00000000004ba6ff in Glib::RefPtr<Astroid::Astroid>::~RefPtr() (this=0x897018 <Astroid::astroid>)
    at /usr/local/include/glibmm-2.4/glibmm/refptr.h:273
#11 0x0000000806ee10c1 in __cxa_finalize () at /lib/libc.so.7
#12 0x0000000806e70cc1 in exit () at /lib/libc.so.7
#13 0x00000000004ba122 in _start (ap=<optimized out>, cleanup=<optimized out>) at /usr/src/lib/csu/amd64/crt1.c:76

The process works as expected during its life, just leaves a core after closed. It happens every time I close it. It does not depend on the content of config file.

Let me know how can I assist you to debug this.

Thank you.

l1gi avatar Sep 04 '19 09:09 l1gi

I am observing the issue regularly while I quit the process. The trace could look different, I have hit similar issue in add_tag().

I have enabled clang ThreadSanitizer to check whether there is some race condition or mutex issue. This is what I got.

trace.txt

And SIGABRT was at the end.

Please look even into invalid casts: (<unknown>:50063): GLib-GObject-WARNING **: 20:40:08.166: invalid cast from 'InternetAddressGroup' to 'InternetAddressMailbox'

Any hint, please?

l1gi avatar Sep 26 '19 18:09 l1gi

Seems like a second main-thread is started? With different logging formatting? Does the same happen if you do not have automatic polling enabled?

gauteh avatar Oct 22 '19 08:10 gauteh

On October 22, 2019 10:22 am Gaute Hope wrote:

Seems like a second main-thread is started? With different logging formatting? Does the same happen if you do not have automatic polling enabled?

Hi Gaute,

sorry for late reply.

Yes, polling disabled, only one window. This is actual trace.

ligi@wand:~$ gdb astroid astroid.core GNU gdb (GDB) 8.3.1 [GDB v8.3.1 for FreeBSD] Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-portbld-freebsd12.0". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/.

For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from astroid... [New LWP 101360] [New LWP 100880] [New LWP 101038] [New LWP 100904] [New LWP 101256] Core was generated by `astroid --no-auto-poll'. Program terminated with signal SIGABRT, Aborted. #0 0x0000000806e9a45a in thr_kill () from /lib/libc.so.7 [Current thread is 1 (LWP 101360)] (gdb) bt #0 0x0000000806e9a45a in thr_kill () at /lib/libc.so.7 #1 0x0000000806e98844 in raise () at /lib/libc.so.7 #2 0x0000000806e0b079 in abort () at /lib/libc.so.7 #3 0x0000000805e8eeab in () at /usr/local/lib/libglibmm-2.4.so.1 #4 0x0000000809ddf020 in () #5 0x0000000805eacf67 in () at /usr/local/lib/libglibmm-2.4.so.1 #6 0x00000000004c4e84 in Astroid::Astroid::~Astroid() (this=0x809d80000) at /home/ligi/workspace/astroid/src/astroid.cc:407 #7 0x00000000004c4f19 in Astroid::Astroid::~Astroid() (this=0x809d80000) at /home/ligi/workspace/astroid/src/astroid.cc:407 #8 0x0000000805498093 in g_datalist_clear () at /usr/local/lib/libglib-2.0.so.0 #9 0x0000000803fc7584 in g_object_unref () at /usr/local/lib/libgobject-2.0.so.0 #10 0x00000000004ba6ff in Glib::RefPtrAstroid::Astroid::~RefPtr() (this=0x897018 Astroid::astroid) at /usr/local/include/glibmm-2.4/glibmm/refptr.h:273 #11 0x0000000806e7b0c1 in __cxa_finalize () at /lib/libc.so.7 #12 0x0000000806e0acc1 in exit () at /lib/libc.so.7 #13 0x00000000004ba122 in _start (ap=, cleanup=) at /usr/src/lib/csu/amd64/crt1.c:76

Any idea?

Regards

Martin

l1gi avatar Oct 30 '19 06:10 l1gi