Package: emacs;
Reported by: Michał Kondraciuk <k.michal <at> zoho.com>
Date: Sat, 24 Mar 2018 22:07:02 UTC
Severity: normal
Tags: confirmed
Found in versions 25.3, 26.0.91, 27.0.50
Fixed in version 26.2
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Paul Eggert <eggert <at> cs.ucla.edu> Cc: tracker <at> debbugs.gnu.org Subject: bug#30931: closed (abort() due to CHECK_ALLOCATED_AND_LIVE failure during GC) Date: Fri, 30 Mar 2018 21:30:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 30 Mar 2018 14:29:07 -0700 with message-id <892e5c68-35a3-3a24-dd8c-a6badf028275 <at> cs.ucla.edu> and subject line Re: bug#30931: abort() due to CHECK_ALLOCATED_AND_LIVE failure during GC has caused the debbugs.gnu.org bug report #30931, regarding abort() due to CHECK_ALLOCATED_AND_LIVE failure during GC to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 30931: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30931 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Michał Kondraciuk <k.michal <at> zoho.com> To: bug-gnu-emacs <at> gnu.org Subject: 27.0.50; Crash in "Automatic GC" Date: Sat, 24 Mar 2018 21:30:56 +0100[Message part 3 (text/plain, inline)]Newest Emacs (and 25.3) crashes for me. Unfortunately I can only reproduce this using newest versions of Ivy and yasnippet packages. Backtrace (full backtrace in attachment): #0 0x00007ffff1190269 in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:35 #1 0x0000000000568a3a in terminate_due_to_signal (sig=6, backtrace_limit=40) at ../../src/emacs.c:395 #2 0x000000000058fc5d in emacs_abort () at ../../src/sysdep.c:2426 #3 0x000000000061719a in signal_or_quit (error_symbol=XIL(0x7b60), data=XIL(0x232e613), keyboard_quit=false) at ../../src/eval.c:1595 #4 0x00000000006170f1 in Fsignal (error_symbol=XIL(0x7b60), data=XIL(0x232e613)) at ../../src/eval.c:1565 #5 0x00000000005663e3 in xsignal (error_symbol=XIL(0x7b60), data=XIL(0x232e613)) at ../../src/lisp.h:3944 #6 0x00000000006175d9 in xsignal1 (error_symbol=XIL(0x7b60), arg=XIL(0x2233484)) at ../../src/eval.c:1702 #7 0x00000000005cddda in compile_pattern_1 (cp=0xcc4440 <searchbufs+6688>, pattern=XIL(0x1904bf4), translate=XIL(0), posix=false) at ../../src/search.c:165 #8 0x00000000005ce09a in compile_pattern (pattern=XIL(0x1904bf4), regp=0x0, translate=XIL(0), posix=false, multibyte=true) at ../../src/search.c:248 #9 0x00000000005ceb94 in fast_string_match_internal (regexp=XIL(0x1904bf4), string=XIL(0x1c99f34), table=XIL(0)) at ../../src/search.c:481 #10 0x0000000000566444 in fast_string_match (regexp=XIL(0x1904bf4), string=XIL(0x1c99f34)) at ../../src/lisp.h:4150 #11 0x00000000005b2ca9 in Ffind_file_name_handler (filename=XIL(0x1c99f34), operation=XIL(0x5580)) at ../../src/fileio.c:306 #12 0x00000000005b39f6 in Fexpand_file_name (name=XIL(0x1c99f34), default_directory=XIL(0)) at ../../src/fileio.c:783 #13 0x00000000005bf41f in Fdo_auto_save (no_message=XIL(0xc0f0), current_only=XIL(0)) at ../../src/fileio.c:5574 #14 0x000000000056b219 in shut_down_emacs (sig=6, stuff=XIL(0)) at ../../src/emacs.c:2111 #15 0x00000000005689e1 in terminate_due_to_signal (sig=6, backtrace_limit=40) at ../../src/emacs.c:378 #16 0x000000000058fc5d in emacs_abort () at ../../src/sysdep.c:2426 #17 0x00000000005f4b7b in mark_object (arg=XIL(0x23b5e81)) at ../../src/alloc.c:6707 #18 0x00000000005f4c4e in mark_object (arg=XIL(0x232e893)) at ../../src/alloc.c:6725 #19 0x00000000005f4c4e in mark_object (arg=XIL(0x232e813)) at ../../src/alloc.c:6725 #20 0x00000000005f19d5 in mark_maybe_object (obj=XIL(0x232e813)) at ../../src/alloc.c:4844 #21 0x00000000005f1bb3 in mark_memory (start=0x7fffffff2d90, end=0x7fffffffdc58) at ../../src/alloc.c:4988 #22 0x00000000005f1be8 in mark_stack (bottom=0x7fffffffdc58 "", end=0x7fffffff2d90 "\240-\377\377\377\177") at ../../src/alloc.c:5195 #23 0x00000000006a0eff in mark_one_thread (thread=0xcfbac0 <main_thread>) at ../../src/thread.c:616 #24 0x00000000006a1000 in mark_threads_callback (ignore=0x0) at ../../src/thread.c:649 #25 0x00000000005f1c3e in flush_stack_call_func (func=0x6a0fba <mark_threads_callback>, arg=0x0) at ../../src/alloc.c:5222 #26 0x00000000006a102c in mark_threads () at ../../src/thread.c:656 #27 0x00000000005f3670 in garbage_collect_1 (end=0x7fffffff2f90) at ../../src/alloc.c:6000 #28 0x00000000005f3d73 in Fgarbage_collect () at ../../src/alloc.c:6171 #29 0x000000000056655d in maybe_gc () at ../../src/lisp.h:4838 #30 0x000000000061a3ee in Ffuncall (nargs=3, args=0x7fffffff3048) at ../../src/eval.c:2803 #31 0x0000000000666193 in exec_byte_code (bytestr=XIL(0x21552e4), vector=XIL(0x2157365), maxdepth=make_number(9), args_template=XIL(0), nargs=0, args=0x0) at ../../src/bytecode.c:632 #32 0x000000000061b2f1 in funcall_lambda (fun=XIL(0x21573d5), nargs=2, arg_vector=0x2157365) at ../../src/eval.c:3104 #33 0x000000000061a4f3 in Ffuncall (nargs=3, args=0x7fffffff3500) at ../../src/eval.c:2823 #34 0x0000000000666193 in exec_byte_code (bytestr=XIL(0x2157a54), vector=XIL(0x2157775), maxdepth=make_number(7), args_template=XIL(0), nargs=0, args=0x0) at ../../src/bytecode.c:632 #35 0x000000000061b2f1 in funcall_lambda (fun=XIL(0x215ac45), nargs=2, arg_vector=0x2157775) at ../../src/eval.c:3104 #36 0x000000000061a4f3 in Ffuncall (nargs=3, args=0x7fffffff39c8) at ../../src/eval.c:2823 #37 0x0000000000666193 in exec_byte_code (bytestr=XIL(0x2157ab4), vector=XIL(0x215ac75), maxdepth=make_number(7), args_template=XIL(0), nargs=0, args=0x0) at ../../src/bytecode.c:632 #38 0x000000000061b2f1 in funcall_lambda (fun=XIL(0x215ad55), nargs=2, arg_vector=0x215ac75) at ../../src/eval.c:3104 #39 0x000000000061a4f3 in Ffuncall (nargs=3, args=0x7fffffff3f38) at ../../src/eval.c:2823 #40 0x0000000000666193 in exec_byte_code (bytestr=XIL(0x21651b4), vector=XIL(0x2165fb5), maxdepth=make_number(3), args_template=XIL(0), nargs=0, args=0x0) at ../../src/bytecode.c:632 #41 0x000000000061b2f1 in funcall_lambda (fun=XIL(0x2165fd5), nargs=0, arg_vector=0x2165fb5) at ../../src/eval.c:3104 #42 0x000000000061a4f3 in Ffuncall (nargs=1, args=0x7fffffff43b0) at ../../src/eval.c:2823 #43 0x0000000000618c3f in eval_sub (form=XIL(0x232e6c3)) at ../../src/eval.c:2257 #44 0x0000000000614e4f in Fprogn (body=XIL(0)) at ../../src/eval.c:455 #45 0x00000000006160c2 in Flet (args=XIL(0x232e6a3)) at ../../src/eval.c:969 #46 0x0000000000618a08 in eval_sub (form=XIL(0x232e693)) at ../../src/eval.c:2238 #47 0x0000000000618443 in Feval (form=XIL(0x232e693), lexical=XIL(0)) at ../../src/eval.c:2106 #48 0x000000000061a8f4 in funcall_subr (subr=0xc63a20 <Seval>, numargs=1, args=0x7fffffff4860) at ../../src/eval.c:2898 #49 0x000000000061a4af in Ffuncall (nargs=2, args=0x7fffffff4858) at ../../src/eval.c:2821 #50 0x0000000000666193 in exec_byte_code (bytestr=XIL(0x2165114), vector=XIL(0x2166005), maxdepth=make_number(8), args_template=XIL(0), nargs=0, args=0x0) at ../../src/bytecode.c:632 Lisp backtrace: "Automatic GC" (0x0) "mapcar" (0xffff3050) "yas-active-snippets" (0xffff3508) "yas--place-overlays" (0xffff39d0) "yas--move-to-field" (0xffff3f40) 0x2165fd0 PVEC_COMPILED "funcall" (0xffff43b0) "let" (0xffff4600) "eval" (0xffff4860) "yas-expand-snippet" (0xffff4f60) "yas--expand-or-prompt-for-template" (0xffff5440) "yas-expand" (0xffff58f0) "save-restriction" (0xffff5b40) "save-current-buffer" (0xffff5cc0) "update-fn" (0xffff5f10) "ivy--insert-minibuffer" (0xffff63d0) "ivy--exhibit" (0xffff6980) "ivy--queue-exhibit" (0xffff6e30) "execute-kbd-macro" (0xffff7230) "while" (0xffff7350) "let" (0xffff7570) 0x1251040 Lisp type 3 "apply" (0xffff7958) "timer-event-handler" (0xffff7ea8) "input-pending-p" (0xffff81e8) "sit-for" (0xffff86c0) "yas-expand-snippet" (0xffff8dc0) "yas--expand-or-prompt-for-template" (0xffff92a0) "yas-expand" (0xffff9750) "save-restriction" (0xffff99a0) "save-current-buffer" (0xffff9b20) "update-fn" (0xffff9d70) "ivy--insert-minibuffer" (0xffffa230) "ivy--exhibit" (0xffffa7e0) "ivy--minibuffer-setup" (0xffffacd0) 0x21d5720 PVEC_COMPILED "read-from-minibuffer" (0xffffb598) "ivy-read" (0xffffbd10) "catch" (0xffffbfc0) "while" (0xffffc170) "let" (0xffffc390) "let" (0xffffc5b0) "progn" (0xffffc700) "eval" (0xffffc990) "eval-expression" (0xffffcfb0) "funcall-interactively" (0xffffcfa8) "call-interactively" (0xffffd3e0) "command-execute" (0xffffd928) Emacs first crashed for me on 25.3, when I was calling `yas-expand-snippet` inside `save-restriction` form inside `ivy-read`. I wrote this form to try to reproduce this: (progn (package-initialize) (require 'yasnippet) (require 'ivy) (yas-reload-all) (switch-to-buffer "*scratch*") (lisp-interaction-mode) (yas-minor-mode-on) (let ((templates (mapcar #'yas--template-key (yas--all-templates (yas--get-snippet-tables))))) (defun update-fn () (with-current-buffer "*scratch*" (save-restriction (narrow-to-region 3 3) (insert " " (ivy-state-current ivy-last)) (yas-expand) (mapc #'yas-abort-snippet (yas-active-snippets))) (redisplay))) (let ((buffer-undo-list t)) (while t (erase-buffer) (insert "aaaaaa") (redisplay) (sit-for 0.1) (run-with-timer 0.01 nil (lambda () (dotimes (_ (% (random) 15)) (execute-kbd-macro "\C-n") (sit-for 0.05) (redisplay) (when (zerop (% (random) 4)) (execute-kbd-macro "\C-p") (sit-for 0.05) (redisplay))) (sit-for 0.1) (redisplay) (abort-recursive-edit))) (catch 'exit (condition-case err (ivy-read "foo: " templates :update-fn #'update-fn) (quit))))))) Steps to reproduce: 1. Install newest ivy, yasnippet and yasnippet-snippets 2. Run emacs -Q 3. Eval form above 4. Typically emacs crashes after about 1-2 minutes In GNU Emacs 27.0.50 (build 13, x86_64-pc-linux-gnu, GTK+ Version 3.18.9) of 2018-03-24 built on mkc Repository revision: 4cfd2a2a92e2890af76bcd8375f966ce67ef2482 Windowing system distributor 'The X.Org Foundation', version 11.0.11804000 System Description: Linux Mint 18.2 Configured using: 'configure 'CFLAGS=-O0 -g2'' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD LCMS2 Important settings: value of $LC_CTYPE: en_US.UTF-8 value of $LC_MONETARY: pl_PL.UTF-8 value of $LC_NUMERIC: pl_PL.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix[gdb.txt (text/plain, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu> To: Noam Postavsky <npostavs <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 30931-done <at> debbugs.gnu.org, Michał Kondraciuk <k.michal <at> zoho.com> Subject: Re: bug#30931: abort() due to CHECK_ALLOCATED_AND_LIVE failure during GC Date: Fri, 30 Mar 2018 14:29:07 -0700[Message part 6 (text/plain, inline)]Thanks, I installed that along with the attached minor refactoring so that the bugfix is in just one place. Closing the bug. I assume that this fix should not be backported into the emacs-26 branch, as the bug is in Emacs 25.[0001-Centralize-Bug-30931-fix.patch (text/x-patch, attachment)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.