[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Deadlock in signal handler

From: Aleksey Fedotov
Subject: Deadlock in signal handler
Date: Tue, 14 Mar 2017 14:19:13 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)


I've stumbled upon a peculiar issue, which made make to deadlock. I've
managed to reproduce it only couple of times. Make was building a
project when I send SIGINT to it. However, Make didn't exited and didn't
report any issues.

backtrace showed:

#0  __lll_lock_wait_private () at
#1  0x00007f11a03b267a in __GI___libc_malloc (bytes=139713682811680,
address@hidden) at malloc.c:2909
#2  0x00007f11a0361825 in _nl_make_l10nflist
(address@hidden <_nl_loaded_domains>,
address@hidden <_nl_default_dirname> "/usr/share/locale",
    dirlist_len=18, address@hidden, address@hidden
"en_US.UTF-8", address@hidden, codeset=0x0,
normalized_codeset=0x0, modifier=0x0,
    filename=0x7ffe49c9b950 "LC_MESSAGES/make.mo", do_allocate=0) at
#3  0x00007f11a035f6b7 in _nl_find_domain (address@hidden
<_nl_default_dirname> "/usr/share/locale", address@hidden
    address@hidden "LC_MESSAGES/make.mo",
address@hidden) at finddomain.c:91
#4  0x00007f11a035ef1c in __dcigettext (domainname=0xc62010 "make",
msgid1=0x42640c "*** Deleting file '%s'", msgid2=0x0, plural=0, n=0, category=5)
at dcigettext.c:722
#5  0x0000000000408e03 in ?? ()
#6  0x0000000000408e44 in ?? ()
#7  0x0000000000409c06 in fatal_error_signal ()
#8  <signal handler called>
#9  _int_malloc (address@hidden <main_arena>,
address@hidden) at malloc.c:3765
#10 0x00007f11a03b1850 in _int_realloc (address@hidden <main_arena>,
address@hidden, address@hidden, address@hidden) at
#11 0x00007f11a03b2c89 in __GI___libc_realloc (oldmem=0x2088ff0, bytes=1003) at
#12 0x000000000041818b in xrealloc ()
#13 0x000000000040afde in variable_buffer_output ()
#14 0x000000000040b62a in variable_expand_string ()
#15 0x000000000040b0af in expand_argument ()
#16 0x00000000004110ae in handle_function ()
#17 0x000000000040b283 in variable_expand_string ()
#18 0x000000000040bc2b in variable_expand_for_file ()
#19 0x000000000040bc93 in allocated_variable_expand_for_file ()
#20 0x000000000041593c in new_job ()
#21 0x0000000000420d9f in ?? ()
#22 0x000000000041f73e in ?? ()
#23 0x000000000041fee8 in ?? ()
#24 0x000000000041f73e in ?? ()
#25 0x000000000041fee8 in ?? ()
#26 0x00000000004210af in update_goal_chain ()
#27 0x0000000000407781 in main ()

Apparently, It seems that Make attempted to print message about removing
intermediate target from signal handler, and gettext implicitly
allocated memory, which caused it to deadlock with the main thread.

What do you think about this issue? How can I fix it?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]