* bug#44502: 28.0.50; Emacs crash using new frame @ 2020-11-07 13:27 Andy Moreton 2020-11-07 13:51 ` Andy Moreton ` (2 more replies) 0 siblings, 3 replies; 21+ messages in thread From: Andy Moreton @ 2020-11-07 13:27 UTC (permalink / raw) To: 44502 Emacs crashed when using a new frame. After a bootstrap of master, I could repeat the crash witht he following recipe: - Run "emacs -Q" - Type "C-x 5 2 RET" to create a new frame (which becomes selected) - Type "C-x C-f" and emacs crashes I bisected this using the recipe above, with: git checkout master git bisect start git bisect bad git bisect good c3a20804a8 Bisect reports the bad commit as: 2ecbf4cfae Allow minibuffer to stay in its original frame. (2020-11-05 Alan Mackenzie) Looking in gdb, the backtrace is: Thread 1 received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 5768.0x1dd0] 0x00007ffb807493e3 in KERNELBASE!DebugBreak () from C:\WINDOWS\System32\KernelBase.dll (gdb) bt #0 0x00007ffb807493e3 in KERNELBASE!DebugBreak () from C:\WINDOWS\System32\KernelBase.dll #1 0x000000040021673c in emacs_abort () at C:/emacs/git/emacs/master/src/w32fns.c:10832 #2 0x00000004000e9a9e in terminate_due_to_signal (sig=11, backtrace_limit=12553480) at C:/emacs/git/emacs/master/src/emacs.c:408 #3 0x000000040010a7bc in deliver_fatal_thread_signal () at C:/msys64/mingw64/x86_64-w64-mingw32/include/stdio.h:443 #4 0x00000004002a7962 in _gnu_exception_handler (exception_data=0xbf8dc0) at C:/_/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crt_handler.c:223 #5 0x00007ffb80fd7ff8 in msvcrt!__C_specific_handler () from C:\WINDOWS\System32\msvcrt.dll #6 0x00007ffb82cb10ef in ntdll!.chkstk () from C:\WINDOWS\SYSTEM32\ntdll.dll #7 0x00007ffb82c5b474 in ntdll!RtlRaiseException () from C:\WINDOWS\SYSTEM32\ntdll.dll #8 0x00007ffb82cafc1e in ntdll!KiUserExceptionDispatcher () from C:\WINDOWS\SYSTEM32\ntdll.dll #9 0x0000000400245e50 in stat_worker (path=<optimized out>, path@entry=0x9358ae0 "c:/home/ajm/.emacs.d/gnus/.newsrc-dribble", buf=buf@entry=0xbfa910, follow_symlinks=13303808, follow_symlinks@entry=1) at C:/emacs/git/emacs/master/src/w32.c:5441 #10 0x00000004002466df in fstatat (fd=fd@entry=-3041965, name=name@entry=0x9358ae0 "c:/home/ajm/.emacs.d/gnus/.newsrc-dribble", st=st@entry=0xbfa910, flags=flags@entry=0) at C:/emacs/git/emacs/master/src/w32.c:5658 #11 0x000000040010ba6d in emacs_fstatat (dirfd=dirfd@entry=-3041965, filename=0x9358ae0 "c:/home/ajm/.emacs.d/gnus/.newsrc-dribble", st=st@entry=0xbfa910, flags=flags@entry=0) at C:/emacs/git/emacs/master/src/sysdep.c:2300 #12 0x0000000400134f6a in auto_save_1 () at C:/emacs/git/emacs/master/src/lisp.h:1508 #13 0x0000000400185f5d in internal_condition_case (bfun=bfun@entry=0x400134ec0 <auto_save_1>, handlers=<optimized out>, hfun=hfun@entry=0x400129430 <auto_save_error>) at C:/emacs/git/emacs/master/src/eval.c:1359 #14 0x0000000400132a40 in Fdo_auto_save (no_message=no_message@entry=XIL(0x30), current_only=current_only@entry=XIL(0)) at C:/emacs/git/emacs/master/src/lisp.h:1007 #15 0x00000004000e9919 in shut_down_emacs (sig=sig@entry=22, stuff=XIL(0)) at C:/emacs/git/emacs/master/src/lisp.h:1007 #16 0x00000004000e9ad1 in terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at C:/emacs/git/emacs/master/src/lisp.h:1007 #17 0x0000000400156e04 in die (msg=0x4006c2a42 <null_glyph_slice+3762> "EQ (window, selected_window)", file=0x4006c24b0 <null_glyph_slice+2336> "C:/emacs/git/emacs/master/src/window.c", line=554) at C:/emacs/git/emacs/master/src/alloc.c:7341 #18 0x000000040007f2c2 in select_window (window=XIL(0x5127715), norecord=norecord@entry=XIL(0x30), inhibit_point_swap=inhibit_point_swap@entry=false) at C:/emacs/git/emacs/master/src/lisp.h:1373 #19 0x000000040007f2d8 in Fselect_window (window=<optimized out>, norecord=norecord@entry=XIL(0x30)) at C:/emacs/git/emacs/master/src/window.c:630 #20 0x000000040004c588 in gui_consider_frame_title (frame=XIL(0x51274c5)) at C:/emacs/git/emacs/master/src/lisp.h:1007 #21 0x000000040005c41d in prepare_menu_bars () at C:/emacs/git/emacs/master/src/xdisp.c:12679 #22 redisplay_internal () at C:/emacs/git/emacs/master/src/xdisp.c:15575 #23 0x000000040005e365 in redisplay () at C:/emacs/git/emacs/master/src/xdisp.c:15159 #24 0x00000004000f9af6 in read_char (commandflag=1601537, map=XIL(0), map@entry=XIL(0x9c4dc23), prev_event=XIL(0x172a2c), used_mouse_menu=0x1, used_mouse_menu@entry=0xbfdb0b, end_time=end_time@entry=0x0) at C:/emacs/git/emacs/master/src/keyboard.c:2497 #25 0x00000004000fcc41 in read_key_sequence (keybuf=keybuf@entry=0xbfdc80, prompt=prompt@entry=XIL(0), dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false) at C:/emacs/git/emacs/master/src/keyboard.c:9546 #26 0x00000004000fe44f in command_loop_1 () at C:/emacs/git/emacs/master/src/lisp.h:1007 #27 0x0000000400185f5d in internal_condition_case (bfun=bfun@entry=0x4000fe230 <command_loop_1>, handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x4000f36a0 <cmd_error>) at C:/emacs/git/emacs/master/src/eval.c:1359 #28 0x00000004000eaaf8 in command_loop_2 (ignore=<optimized out>) at C:/emacs/git/emacs/master/src/lisp.h:1007 #29 0x0000000400185e9b in internal_catch (tag=tag@entry=XIL(0x5940), func=func@entry=0x4000eaad0 <command_loop_2>, arg=arg@entry=XIL(0)) at C:/emacs/git/emacs/master/src/eval.c:1120 #30 0x00000004000eb752 in command_loop () at C:/emacs/git/emacs/master/src/lisp.h:1007 #31 0x0000000000000000 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) Lisp Backtrace: Thread 1 hit Breakpoint 1, terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at C:/emacs/git/emacs/master/src/emacs.c:377 377 { The program being debugged stopped while in a function called from GDB. Evaluation of the expression containing the function (backtrace_function) will be abandoned. In GNU Emacs 28.0.50 (build 11, x86_64-w64-mingw32) of 2020-11-07 built on QUIETUS Repository revision: bc76afd355c0a6608830e2b43c8c67243aa0fa7b Repository branch: master Windowing system distributor 'Microsoft Corp.', version 10.0.19041 System Description: Microsoft Windows 10 Pro (v10.0.2004.19041.572) Configured using: 'configure --prefix=/c/emacs/emacs-master --cache-file=/c/emacs/git/emacs/master/build/mingw64-x86_64-O2/config.cache --without-dbus --with-gif --with-gnutls --without-imagemagick --with-jpeg --with-json --with-lcms2 --with-modules --with-png --without-pop --with-rsvg --with-tiff --with-xml2 --with-xpm --enable-checking 'ac_cv_search___gmpz_roinit_n=-Wl,--push-state,-static -lgmp -Wl,--pop-state' 'CFLAGS= -O2 -g3 -gdwarf-4 -fdiagnostics-color=never' PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY W32NOTIFY ACL GNUTLS LIBXML2 HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER LCMS2 Important settings: value of $LANG: ENG locale-coding-system: cp1252 Major mode: ELisp/d Minor modes in effect: hexl-follow-ascii: t bug-reference-prog-mode: t which-function-mode: t global-so-long-mode: t display-fill-column-indicator-mode: t desktop-save-mode: t show-paren-mode: t minibuffer-electric-default-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils add-log time mule-util jka-compr sh-script executable dired-aux autorevert filenotify rng-xsd xsd-regexp rng-cmpct image-mode dired-x dired dired-loaddefs exif vc-git diff-mode macrostep-c cmacexp macrostep xcscope cap-words superword subword time-date rnc-mode rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap sgml-mode dom nxml-util nxml-enc xmltok typescript-mode tuareg speedbar ezimage dframe tuareg-opam flymake-proc flymake caml-help caml-types caml-emacs smalltalk-mode rust-mode meson-mode smie lua-mode advice kconfig-mode go-mode find-file ffap etags fileloop generator xref project csharp-mode cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cmake-mode thingatpt hexl bug-reference graphviz-dot-mode compile text-property-search xr which-func imenu so-long display-fill-column-indicator desktop frameset cygwin-mount ange-ftp comint ansi-color ring hl-line pcase rx paren edmacro kmacro use-package-bind-key use-package-delight minibuf-eldef gnu-elpa-keyring-update warnings delight bind-key easy-mmode finder-inf cl-extra help-mode use-package-ensure use-package-core cus-edit pp cus-start cus-load wid-edit nsm rmc gnutls puny info package easymenu browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 384317 223359) (symbols 48 27577 428) (strings 32 117889 33639) (string-bytes 1 3236646) (vectors 16 40518) (vector-slots 8 561206 362902) (floats 8 89 815) (intervals 56 4641 630) (buffers 992 35)) ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 28.0.50; Emacs crash using new frame 2020-11-07 13:27 bug#44502: 28.0.50; Emacs crash using new frame Andy Moreton @ 2020-11-07 13:51 ` Andy Moreton 2020-11-07 14:05 ` Eli Zaretskii 2022-08-10 13:26 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2 siblings, 0 replies; 21+ messages in thread From: Andy Moreton @ 2020-11-07 13:51 UTC (permalink / raw) To: 44502 On Sat 07 Nov 2020, Andy Moreton wrote: > Emacs crashed when using a new frame. After a bootstrap of master, I > could repeat the crash witht he following recipe: > - Run "emacs -Q" > - Type "C-x 5 2 RET" to create a new frame (which becomes selected) > - Type "C-x C-f" and emacs crashes > > I bisected this using the recipe above, with: > git checkout master > git bisect start > git bisect bad > git bisect good c3a20804a8 > > Bisect reports the bad commit as: > 2ecbf4cfae Allow minibuffer to stay in its original frame. > (2020-11-05 Alan Mackenzie) This emacs was built with --enable-checking, so the crash is actually an eassert in select_window (in window.c). AndyM ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 28.0.50; Emacs crash using new frame 2020-11-07 13:27 bug#44502: 28.0.50; Emacs crash using new frame Andy Moreton 2020-11-07 13:51 ` Andy Moreton @ 2020-11-07 14:05 ` Eli Zaretskii 2020-11-08 13:37 ` Alan Mackenzie 2022-08-10 13:26 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2 siblings, 1 reply; 21+ messages in thread From: Eli Zaretskii @ 2020-11-07 14:05 UTC (permalink / raw) To: Andy Moreton, Alan Mackenzie; +Cc: 44502 > From: Andy Moreton <andrewjmoreton@gmail.com> > Date: Sat, 7 Nov 2020 13:27:30 +0000 > > Emacs crashed when using a new frame. After a bootstrap of master, I > could repeat the crash witht he following recipe: > - Run "emacs -Q" > - Type "C-x 5 2 RET" to create a new frame (which becomes selected) > - Type "C-x C-f" and emacs crashes > > I bisected this using the recipe above, with: > git checkout master > git bisect start > git bisect bad > git bisect good c3a20804a8 > > Bisect reports the bad commit as: > 2ecbf4cfae Allow minibuffer to stay in its original frame. > (2020-11-05 Alan Mackenzie) Thanks. Yes, the above recipe causes an assertion violation. Alan, can you take a look, please? Here's a backtrace from an unoptimized build: window.c:554: Emacs fatal error: assertion failed: EQ (window, selected_window) Thread 1 hit Breakpoint 1, terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at emacs.c:378 378 signal (sig, SIG_DFL); (gdb) bt #0 terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at emacs.c:378 #1 0x012196a3 in die ( msg=0x172067b <DEFAULT_REHASH_SIZE+783> "EQ (window, selected_window)", file=0x1720425 <DEFAULT_REHASH_SIZE+185> "window.c", line=554) at alloc.c:7341 #2 0x010b9b57 in select_window (window=XIL(0xa000000006bc6220), norecord=XIL(0x30), inhibit_point_swap=false) at window.c:554 #3 0x010b9d97 in Fselect_window (window=XIL(0xa000000006bc6220), norecord=XIL(0x30)) at window.c:630 #4 0x0106036e in gui_consider_frame_title (frame=XIL(0xa000000006bc6020)) at xdisp.c:12569 #5 0x01060989 in prepare_menu_bars () at xdisp.c:12679 #6 0x01068a85 in redisplay_internal () at xdisp.c:15575 #7 0x01067518 in redisplay () at xdisp.c:15159 #8 0x011677c4 in read_char (commandflag=1, map=XIL(0xc0000000062a2af0), prev_event=XIL(0), used_mouse_menu=0x82bdff, end_time=0x0) at keyboard.c:2497 #9 0x0117f688 in read_key_sequence (keybuf=0x82c100, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9546 #10 0x0116335a in command_loop_1 () at keyboard.c:1354 #11 0x01255830 in internal_condition_case (bfun=0x1162c37 <command_loop_1>, handlers=XIL(0x90), hfun=0x1161e95 <cmd_error>) at eval.c:1359 #12 0x011626a4 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1095 #13 0x01254a3d in internal_catch (tag=XIL(0x5940), func=0x1162667 <command_loop_2>, arg=XIL(0)) at eval.c:1120 #14 0x01162589 in command_loop () at keyboard.c:1066 #15 0x01161925 in recursive_edit_1 () at keyboard.c:718 #16 0x011c17be in read_minibuf (map=XIL(0xc0000000062a3ab0), initial=XIL(0x8000000007142188), prompt=XIL(0x800000000592036c), expflag=false, histvar=XIL(0x6060), histpos=make_fixnum(0), defalt=XIL(0x80000000062abed0), allow_props=false, inherit_input_method=false) at minibuf.c:730 #17 0x011c29a3 in Fread_from_minibuffer (prompt=XIL(0x800000000592036c), initial_contents=XIL(0x8000000007142188), keymap=XIL(0xc0000000062a3ab0), sys_read=XIL(0), hist=XIL(0x6060), default_value=XIL(0x80000000062abed0), inherit_input_method=XIL(0)) at minibuf.c:1021 #18 0x0125bba7 in funcall_subr (subr=0x170ae60 <Sread_from_minibuffer>, numargs=7, args=0x82c8a0) at eval.c:2902 #19 0x0125b2bc in Ffuncall (nargs=8, args=0x82c898) at eval.c:2809 #20 0x012c5ad4 in exec_byte_code (bytestr=XIL(0x80000000059e4f44), vector=XIL(0xa0000000059e2c6c), maxdepth=make_fixnum(18), args_template=make_fixnum(2050), nargs=8, args=0x82cf40) at bytecode.c:632 #21 0x0125bdeb in fetch_and_exec_byte_code (fun=XIL(0xa0000000059e2c3c), syms_left=make_fixnum(2050), nargs=8, args=0x82cf00) at eval.c:2931 #22 0x0125c368 in funcall_lambda (fun=XIL(0xa0000000059e2c3c), nargs=8, arg_vector=0x82cf00) at eval.c:3012 #23 0x0125b316 in Ffuncall (nargs=9, args=0x82cef8) at eval.c:2811 #24 0x011c556b in Fcompleting_read (prompt=XIL(0x800000000592036c), collection=XIL(0x409f4b4), predicate=XIL(0x5e80), require_match=XIL(0x406c17c), initial_input=XIL(0x8000000007142188), hist=XIL(0x6060), def=XIL(0x80000000062abed0), inherit_input_method=XIL(0)) at minibuf.c:1733 #25 0x0125bcde in funcall_subr (subr=0x170af60 <Scompleting_read>, numargs=7, args=0x82d210) at eval.c:2907 #26 0x0125b2bc in Ffuncall (nargs=8, args=0x82d208) at eval.c:2809 #27 0x012c5ad4 in exec_byte_code (bytestr=XIL(0x8000000005bdf1dc), vector=XIL(0xa0000000058da554), maxdepth=make_fixnum(22), args_template=make_fixnum(1537), nargs=6, args=0x82d9f0) at bytecode.c:632 #28 0x0125bdeb in fetch_and_exec_byte_code (fun=XIL(0xa0000000058da524), syms_left=make_fixnum(1537), nargs=6, args=0x82d9c0) at eval.c:2931 #29 0x0125c368 in funcall_lambda (fun=XIL(0xa0000000058da524), nargs=6, arg_vector=0x82d9c0) at eval.c:3012 #30 0x0125b316 in Ffuncall (nargs=7, args=0x82d9b8) at eval.c:2811 #31 0x012c5ad4 in exec_byte_code (bytestr=XIL(0x8000000005bdf25c), vector=XIL(0xa0000000058da4dc), maxdepth=make_fixnum(13), args_template=make_fixnum(1537), nargs=4, args=0x82dfc0) at bytecode.c:632 #32 0x0125bdeb in fetch_and_exec_byte_code (fun=XIL(0xa0000000058da4ac), syms_left=make_fixnum(1537), nargs=4, args=0x82dfa0) at eval.c:2931 #33 0x0125c368 in funcall_lambda (fun=XIL(0xa0000000058da4ac), nargs=4, arg_vector=0x82dfa0) at eval.c:3012 #34 0x0125b316 in Ffuncall (nargs=5, args=0x82df98) at eval.c:2811 #35 0x012c5ad4 in exec_byte_code (bytestr=XIL(0x8000000005920404), vector=XIL(0xa0000000059203dc), maxdepth=make_fixnum(7), args_template=make_fixnum(514), nargs=2, args=0x82e570) at bytecode.c:632 #36 0x0125bdeb in fetch_and_exec_byte_code (fun=XIL(0xa0000000059203ac), syms_left=make_fixnum(514), nargs=2, args=0x82e560) at eval.c:2931 #37 0x0125c368 in funcall_lambda (fun=XIL(0xa0000000059203ac), nargs=2, arg_vector=0x82e560) at eval.c:3012 #38 0x0125b316 in Ffuncall (nargs=3, args=0x82e558) at eval.c:2811 #39 0x012c5ad4 in exec_byte_code (bytestr=XIL(0x8000000005920434), vector=XIL(0xa00000000592034c), maxdepth=make_fixnum(3), args_template=XIL(0), nargs=0, args=0x0) at bytecode.c:632 #40 0x012c4ba9 in Fbyte_code (bytestr=XIL(0x8000000005920434), vector=XIL(0xa00000000592034c), maxdepth=make_fixnum(3)) at bytecode.c:334 #41 0x01258e92 in eval_sub (form=XIL(0xc00000000592031c)) at eval.c:2292 #42 0x0125827c in Feval (form=XIL(0xc00000000592031c), lexical=XIL(0)) at eval.c:2115 #43 0x0124c06a in Fcall_interactively (function=XIL(0x40e4e14), record_flag=XIL(0), keys=XIL(0xa000000005eb8e9c)) at callint.c:322 #44 0x0125b8a9 in funcall_subr (subr=0x170d7a0 <Scall_interactively>, numargs=3, args=0x82ef80) at eval.c:2887 #45 0x0125b2bc in Ffuncall (nargs=4, args=0x82ef78) at eval.c:2809 #46 0x012c5ad4 in exec_byte_code (bytestr=XIL(0x80000000059f24ac), vector=XIL(0xa0000000059f2254), maxdepth=make_fixnum(13), args_template=make_fixnum(1025), nargs=1, args=0x82f5d0) at bytecode.c:632 #47 0x0125bdeb in fetch_and_exec_byte_code (fun=XIL(0xa0000000059f2224), syms_left=make_fixnum(1025), nargs=1, args=0x82f5c8) at eval.c:2931 #48 0x0125c368 in funcall_lambda (fun=XIL(0xa0000000059f2224), nargs=1, arg_vector=0x82f5c8) at eval.c:3012 #49 0x0125b316 in Ffuncall (nargs=2, args=0x82f5c0) at eval.c:2811 #50 0x0125a5e8 in call1 (fn=XIL(0x3f30), arg1=XIL(0x40e4e14)) at eval.c:2669 #51 0x01163878 in command_loop_1 () at keyboard.c:1467 #52 0x01255830 in internal_condition_case (bfun=0x1162c37 <command_loop_1>, handlers=XIL(0x90), hfun=0x1161e95 <cmd_error>) at eval.c:1359 #53 0x011626a4 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1095 #54 0x01254a3d in internal_catch (tag=XIL(0xe130), func=0x1162667 <command_loop_2>, arg=XIL(0)) at eval.c:1120 #55 0x01162621 in command_loop () at keyboard.c:1074 #56 0x01161925 in recursive_edit_1 () at keyboard.c:718 #57 0x01161b93 in Frecursive_edit () at keyboard.c:790 #58 0x0115d3a8 in main (argc=2, argv=0xa428e0) at emacs.c:2047 Lisp Backtrace: "redisplay_internal (C function)" (0x0) "read-from-minibuffer" (0x82c8a0) "completing-read-default" (0x82cf00) "completing-read" (0x82d210) "read-file-name-default" (0x82d9c0) "read-file-name" (0x82dfa0) "find-file-read-args" (0x82e560) "byte-code" (0x82ea18) "call-interactively" (0x82ef80) "command-execute" (0x82f5c8) ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 28.0.50; Emacs crash using new frame 2020-11-07 14:05 ` Eli Zaretskii @ 2020-11-08 13:37 ` Alan Mackenzie 2020-11-08 15:15 ` Eli Zaretskii 0 siblings, 1 reply; 21+ messages in thread From: Alan Mackenzie @ 2020-11-08 13:37 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 44502, acm, Andy Moreton Hello, Eli and Andy. On Sat, Nov 07, 2020 at 16:05:51 +0200, Eli Zaretskii wrote: > > From: Andy Moreton <andrewjmoreton@gmail.com> > > Date: Sat, 7 Nov 2020 13:27:30 +0000 > > Emacs crashed when using a new frame. After a bootstrap of master, I > > could repeat the crash witht he following recipe: > > - Run "emacs -Q" > > - Type "C-x 5 2 RET" to create a new frame (which becomes selected) > > - Type "C-x C-f" and emacs crashes > > I bisected this using the recipe above, with: > > git checkout master > > git bisect start > > git bisect bad > > git bisect good c3a20804a8 > > Bisect reports the bad commit as: > > 2ecbf4cfae Allow minibuffer to stay in its original frame. > > (2020-11-05 Alan Mackenzie) > Thanks. Yes, the above recipe causes an assertion violation. Alan, > can you take a look, please? Thanks for the backtrace, which was helpful. I've committed the following patch, which appears to fix the bug: commit cfe8a73cab5e7a9c6a6fcc212bd9df980f233895 (HEAD -> master, origin/master, origin/HEAD) Author: Alan Mackenzie <acm@muc.de> Date: Sun Nov 8 13:28:55 2020 +0000 Don't set the selected window to the miniwindow on a frame change. Intended to fix bug #44502. * src/minibuf.c (move_minibuffer_onto_frame): Remove the lines of code which set the selected window to the minibuffer. diff --git a/src/minibuf.c b/src/minibuf.c index 068086ead8..8c19559b08 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -142,10 +142,6 @@ void move_minibuffer_onto_frame (void) set_window_buffer (sf->minibuffer_window, buffer, 0, 0); minibuf_window = sf->minibuffer_window; - if (EQ (XWINDOW (minibuf_window)->frame, selected_frame)) - /* The minibuffer might be on another frame. */ - Fset_frame_selected_window (selected_frame, sf->minibuffer_window, - Qnil); set_window_buffer (of->minibuffer_window, get_minibuffer (0), 0, 0); } } > Here's a backtrace from an unoptimized build: > window.c:554: Emacs fatal error: assertion failed: EQ (window, selected_window) > Thread 1 hit Breakpoint 1, terminate_due_to_signal (sig=22, > backtrace_limit=2147483647) at emacs.c:378 > 378 signal (sig, SIG_DFL); [ .... ] > Lisp Backtrace: > "redisplay_internal (C function)" (0x0) > "read-from-minibuffer" (0x82c8a0) > "completing-read-default" (0x82cf00) > "completing-read" (0x82d210) > "read-file-name-default" (0x82d9c0) > "read-file-name" (0x82dfa0) > "find-file-read-args" (0x82e560) > "byte-code" (0x82ea18) > "call-interactively" (0x82ef80) > "command-execute" (0x82f5c8) -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply related [flat|nested] 21+ messages in thread
* bug#44502: 28.0.50; Emacs crash using new frame 2020-11-08 13:37 ` Alan Mackenzie @ 2020-11-08 15:15 ` Eli Zaretskii 2020-11-08 15:36 ` Andy Moreton 0 siblings, 1 reply; 21+ messages in thread From: Eli Zaretskii @ 2020-11-08 15:15 UTC (permalink / raw) To: Alan Mackenzie; +Cc: 44502, acm, andrewjmoreton > Date: Sun, 8 Nov 2020 13:37:21 +0000 > Cc: Andy Moreton <andrewjmoreton@gmail.com>, 44502@debbugs.gnu.org, acm@muc.de > Thanks for the backtrace, which was helpful. I've committed the > following patch, which appears to fix the bug: Thanks, it no longer crashes here. ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 28.0.50; Emacs crash using new frame 2020-11-08 15:15 ` Eli Zaretskii @ 2020-11-08 15:36 ` Andy Moreton 2021-09-08 9:52 ` Lars Ingebrigtsen 0 siblings, 1 reply; 21+ messages in thread From: Andy Moreton @ 2020-11-08 15:36 UTC (permalink / raw) To: 44502 On Sun 08 Nov 2020, Eli Zaretskii wrote: >> Date: Sun, 8 Nov 2020 13:37:21 +0000 >> Cc: Andy Moreton <andrewjmoreton@gmail.com>, 44502@debbugs.gnu.org, acm@muc.de >> Thanks for the backtrace, which was helpful. I've committed the >> following patch, which appears to fix the bug: > > Thanks, it no longer crashes here. Thanks Alan, that fixes the bug here too. AndyM ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 28.0.50; Emacs crash using new frame 2020-11-08 15:36 ` Andy Moreton @ 2021-09-08 9:52 ` Lars Ingebrigtsen 0 siblings, 0 replies; 21+ messages in thread From: Lars Ingebrigtsen @ 2021-09-08 9:52 UTC (permalink / raw) To: Andy Moreton; +Cc: 44502 Andy Moreton <andrewjmoreton@gmail.com> writes: > On Sun 08 Nov 2020, Eli Zaretskii wrote: > >>> Date: Sun, 8 Nov 2020 13:37:21 +0000 >>> Cc: Andy Moreton <andrewjmoreton@gmail.com>, 44502@debbugs.gnu.org, >>> acm@muc.de >>> Thanks for the backtrace, which was helpful. I've committed the >>> following patch, which appears to fix the bug: >> >> Thanks, it no longer crashes here. > > Thanks Alan, that fixes the bug here too. The patch was pushed at the time, but the bug report was left open, so I'm closing it now. commit cfe8a73cab5e7a9c6a6fcc212bd9df980f233895 Author: Alan Mackenzie <acm@muc.de> AuthorDate: Sun Nov 8 13:28:55 2020 +0000 Don't set the selected window to the miniwindow on a frame change. Intended to fix bug #44502. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2020-11-07 13:27 bug#44502: 28.0.50; Emacs crash using new frame Andy Moreton 2020-11-07 13:51 ` Andy Moreton 2020-11-07 14:05 ` Eli Zaretskii @ 2022-08-10 13:26 ` andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-08-10 15:49 ` bug#44502: Eli Zaretskii 2 siblings, 1 reply; 21+ messages in thread From: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-10 13:26 UTC (permalink / raw) To: 44502 Hello dear Colleagues! For couple of times I hit a stack whose top part perfectly fits to the reported in this bug. Mine: gdb) bt #0 0x00007ffff256c817 in raise (sig=<optimized out>) at raise.c:51 #1 0x0000555555732728 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:437 #2 0x00005555557e5e2e in die (msg=0x55555593c747 "EQ (window, selected_window)", file=0x55555593c4dc "window.c", line=557) at alloc.c:7486 #3 0x000055555564f2cb in select_window (window=..., norecord=..., inhibit_point_swap=false) at window.c:557 #4 0x000055555564f45b in Fselect_window (window=..., norecord=...) at window.c:634 #5 0x00005555555f0389 in gui_consider_frame_title (frame=...) at xdisp.c:12801 #6 0x00005555555f09be in prepare_menu_bars () at xdisp.c:12914 #7 0x00005555555f8d68 in redisplay_internal () at xdisp.c:15785 #8 0x00005555555f7a14 in redisplay () at xdisp.c:15369 #9 0x000055555573ec1c in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fffffffd8ed, end_time=0x0) at keyboard.c:2555 #10 0x000055555575272b in read_key_sequence (keybuf=0x7fffffffdad0, prompt=..., dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9635 #11 0x000055555573aea2 in command_loop_1 () at keyboard.c:1392 #12 0x000055555581cc49 in internal_condition_case (bfun=0x55555573aa08 <command_loop_1>, handlers=..., hfun=0x555555739e35 <cmd_error>) at eval.c:1450 #13 0x000055555573a5ef in command_loop_2 (handlers=...) at keyboard.c:1133 #14 0x000055555581be5f in internal_catch (tag=..., func=0x55555573a5c8 <command_loop_2>, arg=...) at eval.c:1181 #15 0x000055555573a593 in command_loop () at keyboard.c:1111 #16 0x0000555555739900 in recursive_edit_1 () at keyboard.c:720 #17 0x0000555555739b14 in Frecursive_edit () at keyboard.c:803 #18 0x000055555573578d in main (argc=3, argv=0x7fffffffdf38) at emacs.c:2358 My emacs version: $ git log -1 --oneline 7ffcba4213 I am used to run emacs in gdb so keeping the stack alive in case some of you would be interested to dig in. Thank you in advace! Emacs' faithful Andrei Elkin @ mariadb ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-10 13:26 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-10 15:49 ` Eli Zaretskii 2022-08-11 18:19 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 21+ messages in thread From: Eli Zaretskii @ 2022-08-10 15:49 UTC (permalink / raw) To: andrei.elkin; +Cc: 44502 > Date: Wed, 10 Aug 2022 16:26:38 +0300 > From: andrei.elkin--- via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> > > Hello dear Colleagues! > > For couple of times I hit a stack whose top part perfectly fits to the > reported in this bug. > Mine: > gdb) bt > #0 0x00007ffff256c817 in raise (sig=<optimized out>) at raise.c:51 > #1 0x0000555555732728 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:437 > #2 0x00005555557e5e2e in die (msg=0x55555593c747 "EQ (window, selected_window)", file=0x55555593c4dc "window.c", line=557) at alloc.c:7486 > #3 0x000055555564f2cb in select_window (window=..., norecord=..., inhibit_point_swap=false) at window.c:557 > #4 0x000055555564f45b in Fselect_window (window=..., norecord=...) at window.c:634 > #5 0x00005555555f0389 in gui_consider_frame_title (frame=...) at xdisp.c:12801 > #6 0x00005555555f09be in prepare_menu_bars () at xdisp.c:12914 Please do: (gdb) frame 3 (gdb) print window (gdb) xwindow (gdb) print XWINDOW(window)->contents (gdb) xbuffer (gdb) print selected_window (gdb) xwindow (gdb) print XWINDOW(selected_window)->contents (gdb) xbuffer and post here everything GDB prints as result. If GDB says it doesn't know about commands xwindow and xbuffer, you need to do this: (gdb) source /path/to/emacs/src/.gdbinit > My emacs version: > > $ git log -1 --oneline > 7ffcba4213 On which branch of the Git repository? Thanks. ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-10 15:49 ` bug#44502: Eli Zaretskii @ 2022-08-11 18:19 ` andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-08-11 18:41 ` bug#44502: Eli Zaretskii 0 siblings, 1 reply; 21+ messages in thread From: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-11 18:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 44502 Howdy Eli! >> Date: Wed, 10 Aug 2022 16:26:38 +0300 >> From: andrei.elkin--- via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> >> >> Hello dear Colleagues! >> >> For couple of times I hit a stack whose top part perfectly fits to the >> reported in this bug. >> Mine: >> gdb) bt >> #0 0x00007ffff256c817 in raise (sig=<optimized out>) at raise.c:51 >> #1 0x0000555555732728 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:437 >> #2 0x00005555557e5e2e in die (msg=0x55555593c747 "EQ (window, >> selected_window)", file=0x55555593c4dc "window.c", line=557) at >> alloc.c:7486 >> #3 0x000055555564f2cb in select_window (window=..., norecord=..., >> inhibit_point_swap=false) at window.c:557 >> #4 0x000055555564f45b in Fselect_window (window=..., norecord=...) at window.c:634 >> #5 0x00005555555f0389 in gui_consider_frame_title (frame=...) at xdisp.c:12801 >> #6 0x00005555555f09be in prepare_menu_bars () at xdisp.c:12914 > > Please do: > > (gdb) frame 3 > (gdb) print window > (gdb) xwindow > (gdb) print XWINDOW(window)->contents > (gdb) xbuffer > (gdb) print selected_window > (gdb) xwindow > (gdb) print XWINDOW(selected_window)->contents > (gdb) xbuffer > > and post here everything GDB prints as result. (gdb) f 3 #3 0x000055555564f2cb in select_window (window=XIL(0x55555b038855), norecord=XIL(0x30), inhibit_point_swap=false) at window.c:557 557 eassert (EQ (window, selected_window)); (gdb) p window $4 = XIL(0x55555b038855) (gdb) xwindow $5 = (struct window *) 0x55555b038850 124x1+0+80 (gdb) print XWINDOW(window)->contents $6 = XIL(0x7fffea1bd07d) (gdb) xbuffer $7 = (struct buffer *) 0x7fffea1bd078 0x7fffea4aedc1 " *Minibuf-0*" (gdb) print selected_window $8 = XIL(0x55555b038645) (gdb) xwindow $9 = (struct window *) 0x55555b038640 124x80+0+0 (gdb) print XWINDOW(selected_window)->contents $10 = XIL(0x5555577f9475) (gdb) xbuffer $11 = (struct buffer *) 0x5555577f9470 0x555559788ff0 "magit: A<10.6>" > > If GDB says it doesn't know about commands xwindow and xbuffer, you > need to do this: > > (gdb) source /path/to/emacs/src/.gdbinit > >> My emacs version: >> >> $ git log -1 --oneline >> 7ffcba4213 > > On which branch of the Git repository? emacs-28 > > Thanks. I promise to be more diligent with replies tomorrow (has been a busy today, sorry). Cheers, Andrei ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-11 18:19 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-11 18:41 ` Eli Zaretskii 2022-08-11 19:10 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 21+ messages in thread From: Eli Zaretskii @ 2022-08-11 18:41 UTC (permalink / raw) To: andrei.elkin; +Cc: 44502 > From: andrei.elkin@pp.inet.fi > Cc: 44502@debbugs.gnu.org > Date: Thu, 11 Aug 2022 21:19:06 +0300 > > (gdb) p window > $4 = XIL(0x55555b038855) > (gdb) xwindow > $5 = (struct window *) 0x55555b038850 > 124x1+0+80 > (gdb) print XWINDOW(window)->contents > $6 = XIL(0x7fffea1bd07d) > (gdb) xbuffer > $7 = (struct buffer *) 0x7fffea1bd078 > 0x7fffea4aedc1 " *Minibuf-0*" > (gdb) print selected_window > $8 = XIL(0x55555b038645) > (gdb) xwindow > $9 = (struct window *) 0x55555b038640 > 124x80+0+0 > (gdb) print XWINDOW(selected_window)->contents > $10 = XIL(0x5555577f9475) > (gdb) xbuffer > $11 = (struct buffer *) 0x5555577f9470 > 0x555559788ff0 "magit: A<10.6>" Do you remember what were you doing when this assertion violation happened? Also, are you using a separate minibuffer frame? ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-11 18:41 ` bug#44502: Eli Zaretskii @ 2022-08-11 19:10 ` andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-08-12 6:27 ` bug#44502: Eli Zaretskii 0 siblings, 1 reply; 21+ messages in thread From: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-11 19:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 44502 Eli Zaretskii <eliz@gnu.org> writes: >> From: andrei.elkin@pp.inet.fi >> Cc: 44502@debbugs.gnu.org >> Date: Thu, 11 Aug 2022 21:19:06 +0300 >> >> (gdb) p window >> $4 = XIL(0x55555b038855) >> (gdb) xwindow >> $5 = (struct window *) 0x55555b038850 >> 124x1+0+80 >> (gdb) print XWINDOW(window)->contents >> $6 = XIL(0x7fffea1bd07d) >> (gdb) xbuffer >> $7 = (struct buffer *) 0x7fffea1bd078 >> 0x7fffea4aedc1 " *Minibuf-0*" >> (gdb) print selected_window >> $8 = XIL(0x55555b038645) >> (gdb) xwindow >> $9 = (struct window *) 0x55555b038640 >> 124x80+0+0 >> (gdb) print XWINDOW(selected_window)->contents >> $10 = XIL(0x5555577f9475) >> (gdb) xbuffer >> $11 = (struct buffer *) 0x5555577f9470 >> 0x555559788ff0 "magit: A<10.6>" > > Do you remember what were you doing when this assertion violation > happened? Something like C-u M-x shell > > > Also, are you using a separate minibuffer frame? No ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-11 19:10 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-12 6:27 ` Eli Zaretskii 2022-08-12 8:34 ` bug#44502: Alan Mackenzie 2022-08-12 10:24 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 2 replies; 21+ messages in thread From: Eli Zaretskii @ 2022-08-12 6:27 UTC (permalink / raw) To: andrei.elkin, Alan Mackenzie; +Cc: 44502 > From: andrei.elkin@pp.inet.fi > Cc: 44502@debbugs.gnu.org > Date: Thu, 11 Aug 2022 22:10:12 +0300 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> From: andrei.elkin@pp.inet.fi > >> Cc: 44502@debbugs.gnu.org > >> Date: Thu, 11 Aug 2022 21:19:06 +0300 > >> > >> (gdb) p window > >> $4 = XIL(0x55555b038855) > >> (gdb) xwindow > >> $5 = (struct window *) 0x55555b038850 > >> 124x1+0+80 > >> (gdb) print XWINDOW(window)->contents > >> $6 = XIL(0x7fffea1bd07d) > >> (gdb) xbuffer > >> $7 = (struct buffer *) 0x7fffea1bd078 > >> 0x7fffea4aedc1 " *Minibuf-0*" > >> (gdb) print selected_window > >> $8 = XIL(0x55555b038645) > >> (gdb) xwindow > >> $9 = (struct window *) 0x55555b038640 > >> 124x80+0+0 > >> (gdb) print XWINDOW(selected_window)->contents > >> $10 = XIL(0x5555577f9475) > >> (gdb) xbuffer > >> $11 = (struct buffer *) 0x5555577f9470 > >> 0x555559788ff0 "magit: A<10.6>" > > > > Do you remember what were you doing when this assertion violation > > happened? > > Something like > > C-u M-x shell > > > > > > > Also, are you using a separate minibuffer frame? > > No Then I tend to think that the assertion there is simply wrong. Adding Alan to CC, since this seems to be related to the minibuffer-follows-selected-frame feature. Alan, this happens in Emacs 28, so trying to fix it on the release branch in a safe way is important. TIA. ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-12 6:27 ` bug#44502: Eli Zaretskii @ 2022-08-12 8:34 ` Alan Mackenzie 2022-08-12 10:24 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 0 replies; 21+ messages in thread From: Alan Mackenzie @ 2022-08-12 8:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 44502, andrei.elkin Hello, Eli. On Fri, Aug 12, 2022 at 09:27:21 +0300, Eli Zaretskii wrote: > > From: andrei.elkin@pp.inet.fi > > Cc: 44502@debbugs.gnu.org > > Date: Thu, 11 Aug 2022 22:10:12 +0300 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> From: andrei.elkin@pp.inet.fi > > >> Cc: 44502@debbugs.gnu.org > > >> Date: Thu, 11 Aug 2022 21:19:06 +0300 > > >> (gdb) p window > > >> $4 = XIL(0x55555b038855) > > >> (gdb) xwindow > > >> $5 = (struct window *) 0x55555b038850 > > >> 124x1+0+80 > > >> (gdb) print XWINDOW(window)->contents > > >> $6 = XIL(0x7fffea1bd07d) > > >> (gdb) xbuffer > > >> $7 = (struct buffer *) 0x7fffea1bd078 > > >> 0x7fffea4aedc1 " *Minibuf-0*" > > >> (gdb) print selected_window > > >> $8 = XIL(0x55555b038645) > > >> (gdb) xwindow > > >> $9 = (struct window *) 0x55555b038640 > > >> 124x80+0+0 > > >> (gdb) print XWINDOW(selected_window)->contents > > >> $10 = XIL(0x5555577f9475) > > >> (gdb) xbuffer > > >> $11 = (struct buffer *) 0x5555577f9470 > > >> 0x555559788ff0 "magit: A<10.6>" > > > Do you remember what were you doing when this assertion violation > > > happened? > > Something like > > C-u M-x shell > > > Also, are you using a separate minibuffer frame? > > No > Then I tend to think that the assertion there is simply wrong. > Adding Alan to CC, since this seems to be related to the > minibuffer-follows-selected-frame feature. Alan, this happens in > Emacs 28, so trying to fix it on the release branch in a safe way is > important. TIA. OK, I'll have a look at it over the weekend. -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-12 6:27 ` bug#44502: Eli Zaretskii 2022-08-12 8:34 ` bug#44502: Alan Mackenzie @ 2022-08-12 10:24 ` andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-08-14 14:30 ` bug#44502: Alan Mackenzie 1 sibling, 1 reply; 21+ messages in thread From: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-12 10:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 44502, Alan Mackenzie Salve Eli! >> From: andrei.elkin@pp.inet.fi >> Cc: 44502@debbugs.gnu.org >> Date: Thu, 11 Aug 2022 22:10:12 +0300 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >> >> From: andrei.elkin@pp.inet.fi >> >> Cc: 44502@debbugs.gnu.org >> >> Date: Thu, 11 Aug 2022 21:19:06 +0300 >> >> >> >> (gdb) p window >> >> $4 = XIL(0x55555b038855) >> >> (gdb) xwindow >> >> $5 = (struct window *) 0x55555b038850 >> >> 124x1+0+80 >> >> (gdb) print XWINDOW(window)->contents >> >> $6 = XIL(0x7fffea1bd07d) >> >> (gdb) xbuffer >> >> $7 = (struct buffer *) 0x7fffea1bd078 >> >> 0x7fffea4aedc1 " *Minibuf-0*" >> >> (gdb) print selected_window >> >> $8 = XIL(0x55555b038645) >> >> (gdb) xwindow >> >> $9 = (struct window *) 0x55555b038640 >> >> 124x80+0+0 >> >> (gdb) print XWINDOW(selected_window)->contents >> >> $10 = XIL(0x5555577f9475) >> >> (gdb) xbuffer >> >> $11 = (struct buffer *) 0x5555577f9470 >> >> 0x555559788ff0 "magit: A<10.6>" >> > >> > Do you remember what were you doing when this assertion violation >> > happened? >> >> Something like >> >> C-u M-x shell >> >> > >> > >> > Also, are you using a separate minibuffer frame? There are still *two* asserted emacs' frames around with "Minibuffer-1" (not 0!) around. >> >> No > > Then I tend to think that the assertion there is simply wrong. > > Adding Alan to CC, since this seems to be related to the I am holing on the gdb session for your colleague just in case. > minibuffer-follows-selected-frame feature. Alan, this happens in > Emacs 28, so trying to fix it on the release branch in a safe way is > important. TIA. Thanks over for so far! If the assert comes back to me, I'd just comment it out :-). Have a good day! Andrei ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-12 10:24 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-14 14:30 ` Alan Mackenzie 2022-08-19 10:45 ` bug#44502: Eli Zaretskii 0 siblings, 1 reply; 21+ messages in thread From: Alan Mackenzie @ 2022-08-14 14:30 UTC (permalink / raw) To: andrei.elkin; +Cc: 44502, acm, Eli Zaretskii Hello, Andrei. On Fri, Aug 12, 2022 at 13:24:27 +0300, andrei.elkin@pp.inet.fi wrote: > Salve Eli! > >> From: andrei.elkin@pp.inet.fi > >> Cc: 44502@debbugs.gnu.org > >> Date: Thu, 11 Aug 2022 22:10:12 +0300 > >> Eli Zaretskii <eliz@gnu.org> writes: > >> >> From: andrei.elkin@pp.inet.fi > >> >> Cc: 44502@debbugs.gnu.org > >> >> Date: Thu, 11 Aug 2022 21:19:06 +0300 > >> >> (gdb) p window > >> >> $4 = XIL(0x55555b038855) > >> >> (gdb) xwindow > >> >> $5 = (struct window *) 0x55555b038850 > >> >> 124x1+0+80 > >> >> (gdb) print XWINDOW(window)->contents > >> >> $6 = XIL(0x7fffea1bd07d) > >> >> (gdb) xbuffer > >> >> $7 = (struct buffer *) 0x7fffea1bd078 > >> >> 0x7fffea4aedc1 " *Minibuf-0*" > >> >> (gdb) print selected_window > >> >> $8 = XIL(0x55555b038645) > >> >> (gdb) xwindow > >> >> $9 = (struct window *) 0x55555b038640 > >> >> 124x80+0+0 > >> >> (gdb) print XWINDOW(selected_window)->contents > >> >> $10 = XIL(0x5555577f9475) > >> >> (gdb) xbuffer > >> >> $11 = (struct buffer *) 0x5555577f9470 > >> >> 0x555559788ff0 "magit: A<10.6>" > >> > Do you remember what were you doing when this assertion violation > >> > happened? > >> Something like > >> C-u M-x shell I've tried quite a bit to reproduce the error, but haven't managed. > >> > Also, are you using a separate minibuffer frame? > There are still *two* asserted emacs' frames around with "Minibuffer-1" > (not 0!) around. I think I understand what has caused the breakage of this assertion, and as Eli suggested, it is something fairly harmless. > >> No > > Then I tend to think that the assertion there is simply wrong. > > Adding Alan to CC, since this seems to be related to the > I am holing on the gdb session for your colleague just in case. Thanks! I'm sorry it's taken me so long to get back to you, it's been a chaotic weekend. > > minibuffer-follows-selected-frame feature. Alan, this happens in > > Emacs 28, so trying to fix it on the release branch in a safe way is > > important. TIA. > Thanks over for so far! If the assert comes back to me, I'd just comment it > out :-). I think the following fix to the assert should indeed be a "safe" fix, suitable for Emacs-28. Could you possibly apply it, please, and try to recreate the error. If you don't manage to recreate the error, the bug is probably "fixed". diff --git a/src/window.c b/src/window.c index 2576b66a18..35ec2a1f90 100644 --- a/src/window.c +++ b/src/window.c @@ -554,7 +554,9 @@ select_window (Lisp_Object window, Lisp_Object norecord, frame is active. */ Fselect_frame (frame, norecord); /* Fselect_frame called us back so we've done all the work already. */ - eassert (EQ (window, selected_window)); + eassert (EQ (window, selected_window) + || (EQ (window, f->minibuffer_window) + && NILP (Fminibufferp (XWINDOW (window)->contents, Qt)))); return window; } else > Have a good day! And yourself, too! > Andrei -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply related [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-14 14:30 ` bug#44502: Alan Mackenzie @ 2022-08-19 10:45 ` Eli Zaretskii 2022-08-19 13:05 ` bug#44502: Alan Mackenzie 0 siblings, 1 reply; 21+ messages in thread From: Eli Zaretskii @ 2022-08-19 10:45 UTC (permalink / raw) To: Alan Mackenzie; +Cc: 44502, acm, andrei.elkin Ping! Any progress with this bug? > Date: Sun, 14 Aug 2022 14:30:04 +0000 > Cc: Eli Zaretskii <eliz@gnu.org>, 44502@debbugs.gnu.org, acm@muc.de > From: Alan Mackenzie <acm@muc.de> > > Hello, Andrei. > > On Fri, Aug 12, 2022 at 13:24:27 +0300, andrei.elkin@pp.inet.fi wrote: > > Salve Eli! > > > >> From: andrei.elkin@pp.inet.fi > > >> Cc: 44502@debbugs.gnu.org > > >> Date: Thu, 11 Aug 2022 22:10:12 +0300 > > > >> Eli Zaretskii <eliz@gnu.org> writes: > > > >> >> From: andrei.elkin@pp.inet.fi > > >> >> Cc: 44502@debbugs.gnu.org > > >> >> Date: Thu, 11 Aug 2022 21:19:06 +0300 > > > >> >> (gdb) p window > > >> >> $4 = XIL(0x55555b038855) > > >> >> (gdb) xwindow > > >> >> $5 = (struct window *) 0x55555b038850 > > >> >> 124x1+0+80 > > >> >> (gdb) print XWINDOW(window)->contents > > >> >> $6 = XIL(0x7fffea1bd07d) > > >> >> (gdb) xbuffer > > >> >> $7 = (struct buffer *) 0x7fffea1bd078 > > >> >> 0x7fffea4aedc1 " *Minibuf-0*" > > >> >> (gdb) print selected_window > > >> >> $8 = XIL(0x55555b038645) > > >> >> (gdb) xwindow > > >> >> $9 = (struct window *) 0x55555b038640 > > >> >> 124x80+0+0 > > >> >> (gdb) print XWINDOW(selected_window)->contents > > >> >> $10 = XIL(0x5555577f9475) > > >> >> (gdb) xbuffer > > >> >> $11 = (struct buffer *) 0x5555577f9470 > > >> >> 0x555559788ff0 "magit: A<10.6>" > > > >> > Do you remember what were you doing when this assertion violation > > >> > happened? > > > >> Something like > > > >> C-u M-x shell > > I've tried quite a bit to reproduce the error, but haven't managed. > > > >> > Also, are you using a separate minibuffer frame? > > > There are still *two* asserted emacs' frames around with "Minibuffer-1" > > (not 0!) around. > > I think I understand what has caused the breakage of this assertion, and > as Eli suggested, it is something fairly harmless. > > > >> No > > > > Then I tend to think that the assertion there is simply wrong. > > > > Adding Alan to CC, since this seems to be related to the > > > I am holing on the gdb session for your colleague just in case. > > Thanks! I'm sorry it's taken me so long to get back to you, it's been a > chaotic weekend. > > > > minibuffer-follows-selected-frame feature. Alan, this happens in > > > Emacs 28, so trying to fix it on the release branch in a safe way is > > > important. TIA. > > > Thanks over for so far! If the assert comes back to me, I'd just comment it > > out :-). > > I think the following fix to the assert should indeed be a "safe" fix, > suitable for Emacs-28. Could you possibly apply it, please, and try to > recreate the error. If you don't manage to recreate the error, the bug > is probably "fixed". > > > > diff --git a/src/window.c b/src/window.c > index 2576b66a18..35ec2a1f90 100644 > --- a/src/window.c > +++ b/src/window.c > @@ -554,7 +554,9 @@ select_window (Lisp_Object window, Lisp_Object norecord, > frame is active. */ > Fselect_frame (frame, norecord); > /* Fselect_frame called us back so we've done all the work already. */ > - eassert (EQ (window, selected_window)); > + eassert (EQ (window, selected_window) > + || (EQ (window, f->minibuffer_window) > + && NILP (Fminibufferp (XWINDOW (window)->contents, Qt)))); > return window; > } > else > > > > Have a good day! > > And yourself, too! > > > Andrei > > -- > Alan Mackenzie (Nuremberg, Germany). > ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-19 10:45 ` bug#44502: Eli Zaretskii @ 2022-08-19 13:05 ` Alan Mackenzie 2022-08-19 13:20 ` bug#44502: Eli Zaretskii 2022-08-19 16:10 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 2 replies; 21+ messages in thread From: Alan Mackenzie @ 2022-08-19 13:05 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 44502, andrei.elkin Hello, Eli. On Fri, Aug 19, 2022 at 13:45:57 +0300, Eli Zaretskii wrote: > Ping! Any progress with this bug? I haven't been able to reproduce the bug, but understand fairly well what must have caused it. I also haven't heard back from the OP since sending him a proposed patch last Sunday. Since the patch is fairly simple and obvious, also non-dangerous, how about just installing it on the release branch? > > I think the following fix to the assert should indeed be a "safe" fix, > > suitable for Emacs-28. Could you possibly apply it, please, and try to > > recreate the error. If you don't manage to recreate the error, the bug > > is probably "fixed". > > diff --git a/src/window.c b/src/window.c > > index 2576b66a18..35ec2a1f90 100644 > > --- a/src/window.c > > +++ b/src/window.c > > @@ -554,7 +554,9 @@ select_window (Lisp_Object window, Lisp_Object norecord, > > frame is active. */ > > Fselect_frame (frame, norecord); > > /* Fselect_frame called us back so we've done all the work already. */ > > - eassert (EQ (window, selected_window)); > > + eassert (EQ (window, selected_window) > > + || (EQ (window, f->minibuffer_window) > > + && NILP (Fminibufferp (XWINDOW (window)->contents, Qt)))); > > return window; > > } > > else -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-19 13:05 ` bug#44502: Alan Mackenzie @ 2022-08-19 13:20 ` Eli Zaretskii 2022-08-19 15:12 ` bug#44502: Alan Mackenzie 2022-08-19 16:10 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 1 reply; 21+ messages in thread From: Eli Zaretskii @ 2022-08-19 13:20 UTC (permalink / raw) To: Alan Mackenzie; +Cc: 44502, andrei.elkin > Date: Fri, 19 Aug 2022 13:05:24 +0000 > Cc: andrei.elkin@pp.inet.fi, 44502@debbugs.gnu.org > From: Alan Mackenzie <acm@muc.de> > > I haven't been able to reproduce the bug, but understand fairly well what > must have caused it. > > I also haven't heard back from the OP since sending him a proposed patch > last Sunday. > > Since the patch is fairly simple and obvious, also non-dangerous, how > about just installing it on the release branch? Please go ahead and install. Thanks. ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-19 13:20 ` bug#44502: Eli Zaretskii @ 2022-08-19 15:12 ` Alan Mackenzie 0 siblings, 0 replies; 21+ messages in thread From: Alan Mackenzie @ 2022-08-19 15:12 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 44502-done, acm, andrei.elkin Hello, Eli and Andrei. On Fri, Aug 19, 2022 at 16:20:58 +0300, Eli Zaretskii wrote: > > Date: Fri, 19 Aug 2022 13:05:24 +0000 > > Cc: andrei.elkin@pp.inet.fi, 44502@debbugs.gnu.org > > From: Alan Mackenzie <acm@muc.de> > > I haven't been able to reproduce the bug, but understand fairly well what > > must have caused it. > > I also haven't heard back from the OP since sending him a proposed patch > > last Sunday. > > Since the patch is fairly simple and obvious, also non-dangerous, how > > about just installing it on the release branch? > Please go ahead and install. DONE. I'm closing the bug (again) with this post. > Thanks. -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#44502: 2022-08-19 13:05 ` bug#44502: Alan Mackenzie 2022-08-19 13:20 ` bug#44502: Eli Zaretskii @ 2022-08-19 16:10 ` andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 0 replies; 21+ messages in thread From: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-19 16:10 UTC (permalink / raw) To: Alan Mackenzie; +Cc: 44502, Eli Zaretskii Salute, Alan, Eli. > Hello, Eli. > > On Fri, Aug 19, 2022 at 13:45:57 +0300, Eli Zaretskii wrote: >> Ping! Any progress with this bug? > > I haven't been able to reproduce the bug, but understand fairly well what > must have caused it. > > I also haven't heard back from the OP since sending him a proposed patch > last Sunday. If OP is myself :-), then I have not patched my emacs waiting first for the assert. Has not come back yet. Cheers, Andrei > > Since the patch is fairly simple and obvious, also non-dangerous, how > about just installing it on the release branch? > >> > I think the following fix to the assert should indeed be a "safe" fix, >> > suitable for Emacs-28. Could you possibly apply it, please, and try to >> > recreate the error. If you don't manage to recreate the error, the bug >> > is probably "fixed". > >> > diff --git a/src/window.c b/src/window.c >> > index 2576b66a18..35ec2a1f90 100644 >> > --- a/src/window.c >> > +++ b/src/window.c >> > @@ -554,7 +554,9 @@ select_window (Lisp_Object window, Lisp_Object norecord, >> > frame is active. */ >> > Fselect_frame (frame, norecord); >> > /* Fselect_frame called us back so we've done all the work already. */ >> > - eassert (EQ (window, selected_window)); >> > + eassert (EQ (window, selected_window) >> > + || (EQ (window, f->minibuffer_window) >> > + && NILP (Fminibufferp (XWINDOW (window)->contents, Qt)))); >> > return window; >> > } >> > else ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2022-08-19 16:10 UTC | newest] Thread overview: 21+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-11-07 13:27 bug#44502: 28.0.50; Emacs crash using new frame Andy Moreton 2020-11-07 13:51 ` Andy Moreton 2020-11-07 14:05 ` Eli Zaretskii 2020-11-08 13:37 ` Alan Mackenzie 2020-11-08 15:15 ` Eli Zaretskii 2020-11-08 15:36 ` Andy Moreton 2021-09-08 9:52 ` Lars Ingebrigtsen 2022-08-10 13:26 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-08-10 15:49 ` bug#44502: Eli Zaretskii 2022-08-11 18:19 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-08-11 18:41 ` bug#44502: Eli Zaretskii 2022-08-11 19:10 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-08-12 6:27 ` bug#44502: Eli Zaretskii 2022-08-12 8:34 ` bug#44502: Alan Mackenzie 2022-08-12 10:24 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-08-14 14:30 ` bug#44502: Alan Mackenzie 2022-08-19 10:45 ` bug#44502: Eli Zaretskii 2022-08-19 13:05 ` bug#44502: Alan Mackenzie 2022-08-19 13:20 ` bug#44502: Eli Zaretskii 2022-08-19 15:12 ` bug#44502: Alan Mackenzie 2022-08-19 16:10 ` bug#44502: andrei.elkin--- via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).