Package: emacs;
Reported by: Jonathan Mitchell <mitchell.jkyle <at> gmail.com>
Date: Wed, 13 Jul 2022 00:45:01 UTC
Severity: normal
Tags: moreinfo
Found in version 28.1
Fixed in version 28.2
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Jonathan Mitchell <mitchell.jkyle <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 56527 <at> debbugs.gnu.org Subject: bug#56527: 28.1; Crash on macOS with magit Date: Wed, 13 Jul 2022 17:16:21 -0500
I built a debug version of emacs-28 with this configuration: `configure --enable-checking=all --enable-check-lisp-object-type 'CFLAGS=-O0 -g3' --without-png --without-rsvg`. I was in magit repeatedly pressing the "l" key (bound to magit-log in magit-log-mode-map) when it crashed this time. The LLDB trace is below. (lldb) target create "./emacs" Current executable set to '/Users/kyle/emacs/src/emacs' (arm64). (lldb) run Process 77095 launched: '/Users/kyle/emacs/src/emacs' (arm64) alloc.c:3139: Emacs fatal error: assertion failed: ! PSEUDOVEC_STRUCT (vector, Lisp_Marker)->buffer Process 77095 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT frame #0: 0x00000001bdae6d98 libsystem_kernel.dylib`__pthread_kill + 8 libsystem_kernel.dylib`__pthread_kill: -> 0x1bdae6d98 <+8>: b.lo 0x1bdae6db8 ; <+40> 0x1bdae6d9c <+12>: pacibsp 0x1bdae6da0 <+16>: stp x29, x30, [sp, #-0x10]! 0x1bdae6da4 <+20>: mov x29, sp Target 0: (emacs) stopped. (lldb) xbacktrace (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (unsigned char *) data = <parent failed to evaluate: parent failed to evaluate: parent is NULL> (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT * frame #0: 0x00000001bdae6d98 libsystem_kernel.dylib`__pthread_kill + 8 frame #1: 0x00000001bdb1bee0 libsystem_pthread.dylib`pthread_kill + 288 frame #2: 0x00000001bda1e680 libsystem_c.dylib`raise + 32 frame #3: 0x0000000100478d70 emacs`terminate_due_to_signal(sig=6, backtrace_limit=40) at emacs.c:437:3 frame #4: 0x00000001004791f4 emacs`emacs_abort at sysdep.c:2282:3 frame #5: 0x0000000100405488 emacs`ns_term_shutdown(sig=6) at nsterm.m:5367:7 frame #6: 0x00000001001a0788 emacs`shut_down_emacs(sig=6, stuff=-> ) at emacs.c:2796:3 frame #7: 0x0000000100478cf8 emacs`terminate_due_to_signal(sig=6, backtrace_limit=2147483647) at emacs.c:420:11 frame #8: 0x00000001004796b8 emacs`die(msg="! PSEUDOVEC_STRUCT (vector, Lisp_Marker)->buffer", file="alloc.c", line=3139) at alloc.c:7481:3 frame #9: 0x0000000100289520 emacs`cleanup_vector(vector=0x0000000102931240) at alloc.c:3139:7 frame #10: 0x0000000100288c50 emacs`sweep_vectors at alloc.c:3218:5 frame #11: 0x0000000100281278 emacs`gc_sweep at alloc.c:7245:3 frame #12: 0x000000010027f8c8 emacs`garbage_collect at alloc.c:6178:3 frame #13: 0x000000010027f170 emacs`maybe_garbage_collect at alloc.c:6045:5 frame #14: 0x00000001002d5c9c emacs`maybe_gc at lisp.h:5142:5 frame #15: 0x00000001002da78c emacs`Ffuncall(nargs=2, args=-> ) at eval.c:3007:3 frame #16: 0x000000010035ead4 emacs`exec_byte_code(bytestr=-> , vector=-> , maxdepth=-> , args_template=-> , nargs=3, args=-> ) at bytecode.c:632:12 frame #17: 0x00000001002e1570 emacs`fetch_and_exec_byte_code(fun=-> , syms_left=-> , nargs=3, args=-> ) at eval.c:3147:10 frame #18: 0x00000001002dc668 emacs`funcall_lambda(fun=-> , nargs=3, arg_vector=-> ) at eval.c:3228:11 frame #19: 0x00000001002da8dc emacs`Ffuncall(nargs=4, args=-> ) at eval.c:3027:11 frame #20: 0x000000010035ead4 emacs`exec_byte_code(bytestr=-> , vector=-> , maxdepth=-> , args_template=-> , nargs=1, args=-> ) at bytecode.c:632:12 frame #21: 0x00000001002e1570 emacs`fetch_and_exec_byte_code(fun=-> , syms_left=-> , nargs=1, args=-> ) at eval.c:3147:10 frame #22: 0x00000001002dc668 emacs`funcall_lambda(fun=-> , nargs=1, arg_vector=-> ) at eval.c:3228:11 frame #23: 0x00000001002da8dc emacs`Ffuncall(nargs=2, args=-> ) at eval.c:3027:11 frame #24: 0x000000010035ead4 emacs`exec_byte_code(bytestr=-> , vector=-> , maxdepth=-> , args_template=-> , nargs=0, args=-> ) at bytecode.c:632:12 frame #25: 0x00000001002e1570 emacs`fetch_and_exec_byte_code(fun=-> , syms_left=-> , nargs=0, args=-> ) at eval.c:3147:10 frame #26: 0x00000001002dc668 emacs`funcall_lambda(fun=-> , nargs=0, arg_vector=-> ) at eval.c:3228:11 frame #27: 0x00000001002da8dc emacs`Ffuncall(nargs=1, args=-> ) at eval.c:3027:11 frame #28: 0x000000010035ead4 emacs`exec_byte_code(bytestr=-> , vector=-> , maxdepth=-> , args_template=-> , nargs=0, args=-> ) at bytecode.c:632:12 frame #29: 0x00000001002e1570 emacs`fetch_and_exec_byte_code(fun=-> , syms_left=-> , nargs=0, args=-> ) at eval.c:3147:10 frame #30: 0x00000001002dc668 emacs`funcall_lambda(fun=-> , nargs=0, arg_vector=-> ) at eval.c:3228:11 frame #31: 0x00000001002da8dc emacs`Ffuncall(nargs=1, args=-> ) at eval.c:3027:11 frame #32: 0x000000010035ead4 emacs`exec_byte_code(bytestr=-> , vector=-> , maxdepth=-> , args_template=-> , nargs=1, args=-> ) at bytecode.c:632:12 frame #33: 0x00000001002e1570 emacs`fetch_and_exec_byte_code(fun=-> , syms_left=-> , nargs=1, args=-> ) at eval.c:3147:10 frame #34: 0x00000001002dc668 emacs`funcall_lambda(fun=-> , nargs=1, arg_vector=-> ) at eval.c:3228:11 frame #35: 0x00000001002da8dc emacs`Ffuncall(nargs=2, args=-> ) at eval.c:3027:11 frame #36: 0x000000010035ead4 emacs`exec_byte_code(bytestr=-> , vector=-> , maxdepth=-> , args_template=-> , nargs=0, args=-> ) at bytecode.c:632:12 frame #37: 0x00000001002e1570 emacs`fetch_and_exec_byte_code(fun=-> , syms_left=-> , nargs=0, args=-> ) at eval.c:3147:10 frame #38: 0x00000001002dc668 emacs`funcall_lambda(fun=-> , nargs=0, arg_vector=-> ) at eval.c:3228:11 frame #39: 0x00000001002da8dc emacs`Ffuncall(nargs=1, args=-> ) at eval.c:3027:11 frame #40: 0x00000001002c5138 emacs`Ffuncall_interactively(nargs=1, args=-> ) at callint.c:260:32 frame #41: 0x00000001002dc06c emacs`funcall_subr(subr=0x00000001005022a0, numargs=1, args=-> ) at eval.c:3078:12 frame #42: 0x00000001002da888 emacs`Ffuncall(nargs=2, args=-> ) at eval.c:3023:11 frame #43: 0x00000001002d7544 emacs`Fapply(nargs=3, args=-> ) at eval.c:2606:12 frame #44: 0x00000001002c561c emacs`Fcall_interactively(function=-> , record_flag=-> , keys=-> ) at callint.c:353:36 frame #45: 0x00000001002dc1c8 emacs`funcall_subr(subr=0x0000000100502270, numargs=3, args=-> ) at eval.c:3103:19 frame #46: 0x00000001002da888 emacs`Ffuncall(nargs=4, args=-> ) at eval.c:3023:11 frame #47: 0x000000010035ead4 emacs`exec_byte_code(bytestr=-> , vector=-> , maxdepth=-> , args_template=-> , nargs=1, args=-> ) at bytecode.c:632:12 frame #48: 0x00000001002e1570 emacs`fetch_and_exec_byte_code(fun=-> , syms_left=-> , nargs=1, args=-> ) at eval.c:3147:10 frame #49: 0x00000001002dc668 emacs`funcall_lambda(fun=-> , nargs=1, arg_vector=-> ) at eval.c:3228:11 frame #50: 0x00000001002da8dc emacs`Ffuncall(nargs=2, args=-> ) at eval.c:3027:11 frame #51: 0x00000001002db908 emacs`call1(fn=-> , arg1=-> ) at eval.c:2883:10 frame #52: 0x00000001001a6d5c emacs`command_loop_1 at keyboard.c:1505:13 frame #53: 0x00000001002d387c emacs`internal_condition_case(bfun=-> , handlers=-> , hfun=-> ) at eval.c:1450:25 frame #54: 0x00000001001a6200 emacs`command_loop_2(handlers=-> ) at keyboard.c:1133:11 frame #55: 0x00000001002d2a20 emacs`internal_catch(tag=-> , func=-> , arg=-> ) at eval.c:1181:25 frame #56: 0x00000001001a538c emacs`command_loop at keyboard.c:1111:2 frame #57: 0x00000001001a5198 emacs`recursive_edit_1 at keyboard.c:720:9 frame #58: 0x00000001001a55fc emacs`Frecursive_edit at keyboard.c:803:3 frame #59: 0x00000001001a2138 emacs`main(argc=1, argv=0x000000016fdff8c8) at emacs.c:2358:3 frame #60: 0x0000000100b8908c dyld`start + 520
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.