--- Begin Message ---
Subject: |
27.0.50; C-g while a non-main thread is sitting crashes Emacs |
Date: |
Thu, 28 Sep 2017 01:22:58 -0600 |
Evaluate the following in emacs -Q:
(make-thread
(lambda ()
(message "hello")
(sit-for 2)
(message "there")))
Executing C-g before this finishes crashes Emacs. Here's a backtrace:
#0 0x00007fffefa8bfcf in __GI_raise (address@hidden) at
../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007fffefa8d3fa in __GI_abort () at abort.c:89
#2 0x00007fffefac9bd0 in __libc_message (address@hidden, address@hidden "***
%s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007fffefb521b7 in __GI___fortify_fail (msg=0x7fffefbbd284 <longjmp_msg>
"longjmp causes uninitialized stack frame") at fortify_fail.c:30
#4 0x00007fffefb520ed in ____longjmp_chk () at
../sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S:100
#5 0x00007fffefb5204b in __longjmp_chk (address@hidden <getcjmp>,
address@hidden) at ../setjmp/longjmp.c:38
#6 0x00000000004f3007 in quit_throw_to_read_char (address@hidden) at
keyboard.c:10537
#7 0x0000000000501a4c in set_waiting_for_input (address@hidden) at
keyboard.c:10311
#8 0x00000000005a5d6d in wait_reading_process_output (address@hidden,
address@hidden, address@hidden, address@hidden, wait_for_cell=...,
address@hidden, address@hidden, just_wait_proc=0) at process.c:5172
#9 0x0000000000424000 in sit_for (timeout=..., address@hidden, address@hidden)
at dispnew.c:5764
#10 0x00000000004fdeef in read_char (address@hidden, map=...,
address@hidden, prev_event=..., address@hidden, address@hidden)
at keyboard.c:2724
#11 0x00000000004feb2c in read_key_sequence (address@hidden, prompt=...,
address@hidden, address@hidden, address@hidden, address@hidden,
address@hidden, bufsize=30) at keyboard.c:9154
#12 0x0000000000500576 in command_loop_1 () at keyboard.c:1372
#13 0x000000000056495e in internal_condition_case (address@hidden
<command_loop_1>, handlers=...,
address@hidden, address@hidden <cmd_error>) at eval.c:1332
#14 0x00000000004f2444 in command_loop_2 (ignore=..., address@hidden) at
keyboard.c:1114
#15 0x00000000005648cd in internal_catch (tag=..., address@hidden,
address@hidden <command_loop_2>, arg=...,
address@hidden) at eval.c:1097
#16 0x00000000004f23db in command_loop () at keyboard.c:1093
#17 0x00000000004f6ac3 in recursive_edit_1 () at keyboard.c:699
#18 0x00000000004f6de6 in Frecursive_edit () at keyboard.c:770
#19 0x000000000041a3f1 in main (argc=<optimized out>,
#argv=0x7fffffffe7a8) at emacs.c:1713
In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.18)
of 2017-09-28 built on lylat
Repository revision: 1f02ae39310f15bf683642b9aee1cf162bd391e6
Windowing system distributor 'The X.Org Foundation', version 11.0.11903000
System Description: Debian GNU/Linux testing (buster)
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 LCMS2
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#28630: 27.0.50; C-g while a non-main thread is sitting crashes Emacs |
Date: |
Wed, 04 Oct 2017 12:23:19 +0300 |
> Date: Wed, 04 Oct 2017 17:32:40 +0900
> From: YAMAMOTO Mitsuharu <address@hidden>
> Cc: address@hidden,
> address@hidden,
> address@hidden
>
> > OOC, could you please see whether on X the sit-for call is
> > interrupted or not? That is, do you see the "there" message after
> > typing C-g?
>
> Not interrupted (I see "there") on GTK+3, GTK+2, Athena, no toolkit,
> and (my internal version of) the Mac port.
That's what I thought should happen, thanks for confirming.
--- End Message ---