--- Begin Message ---
Subject: |
27.0.50; [PATCH] Fix: gdb-mi cannot recover from handler function error |
Date: |
Sat, 18 Jan 2020 13:48:45 -0500 |
If a handler produces an error, cleanup code doesn’t get to run and leaves
gbd-mi.el in a corrupted state (in terms of communication buffer). So other
handlers can’t parse the message sent from gdb anymore.
unwind-protect.patch
Description: Binary data
In GNU Emacs 27.0.50 (build 3, x86_64-apple-darwin19.0.0, NS appkit-1894.10
Version 10.15.1 (Build 19B88))
of 2019-11-30 built on missSilver
Repository revision: e2828795d73637577c7726965974a047fe2d7119
Repository branch: master
Windowing system distributor 'Apple', version 10.3.1894
System Description: Mac OS X 10.15.2
Recent messages:
Loading /Users/yuan/.emacs.d/star/org.el (source)...done
Loading /Users/yuan/.emacs.d/star/tex.el (source)...done
Loading /Users/yuan/.emacs.d/star/simple-mode.el (source)...done
Loading /Users/yuan/.emacs.d/custom.el (source)...done
Loading /Users/yuan/.emacsenv...done
Starting new Ispell process aspell with default dictionary...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Emacs ready in 0.90 seconds with 0 garbage collections.
Quit
Wrote /Users/yuan/.emacs.d/cache/.emacs.desktop.lock
Quit
Configured using:
'configure --with-modules --with-pdumper=yes
--oldincludedir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2/'
Configured features:
NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES
THREADS PDUMPER LCMS2
Important settings:
value of $LC_CTYPE: UTF-8
value of $LANG: en_CN.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
desktop-save-mode: t
ghelp-global-minor-mode: t
minibuffer-electric-default-mode: t
flymake-mode: t
global-magit-file-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
shell-dirtrack-mode: t
flyspell-mode: t
outshine-mode: t
ws-butler-global-mode: t
ws-butler-mode: t
minions-mode: t
eyebrowse-mode: t
savehist-mode: t
global-hl-todo-mode: t
hl-todo-mode: t
global-highlight-parentheses-mode: t
highlight-parentheses-mode: t
rainbow-delimiters-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
electric-pair-mode: t
winner-mode: t
aggressive-indent-mode: t
ivy-prescient-mode: t
prescient-persist-mode: t
recentf-mode: t
which-key-mode: t
general-override-mode: t
outline-minor-mode: t
ivy-mode: t
company-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-quote-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
transient-mark-mode: t
hs-minor-mode: t
Load-path shadows:
/Users/yuan/.emacs.d/ranch/winman/windman hides
/Users/yuan/.emacs.d/ranch/windman/windman
/Users/yuan/.emacs.d/ranch/nerd-font/test/test-helper hides
/Users/yuan/.emacs.d/ranch/doom-themes/test/test-helper
/Users/yuan/.emacs.d/ranch/julia-mode/julia-mode hides
/Users/yuan/.emacs.d/package/julia-mode-20190813.1326/julia-mode
/Users/yuan/.emacs.d/ranch/julia-mode/julia-latexsubs hides
/Users/yuan/.emacs.d/package/julia-mode-20190813.1326/julia-latexsubs
/Users/yuan/.emacs.d/ranch/matlab-emacs/mlint hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/mlint
/Users/yuan/.emacs.d/ranch/matlab-emacs/company-matlab-shell hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/company-matlab-shell
/Users/yuan/.emacs.d/ranch/matlab-emacs/linemark hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/linemark
/Users/yuan/.emacs.d/ranch/matlab-emacs/semanticdb-matlab hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/semanticdb-matlab
/Users/yuan/.emacs.d/ranch/matlab-emacs/semantic-matlab hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/semantic-matlab
/Users/yuan/.emacs.d/ranch/matlab-emacs/srecode-matlab hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/srecode-matlab
/Users/yuan/.emacs.d/ranch/matlab-emacs/matlab hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/matlab
/Users/yuan/.emacs.d/ranch/matlab-emacs/cedet-matlab hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/cedet-matlab
/Users/yuan/.emacs.d/ranch/matlab-emacs/tlc hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/tlc
/Users/yuan/.emacs.d/ranch/matlab-emacs/matlab-publish hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/matlab-publish
/Users/yuan/.emacs.d/ranch/matlab-emacs/matlab-mode-pkg hides
/Users/yuan/.emacs.d/package/matlab-mode-20180928.1526/matlab-mode-pkg
/Users/yuan/.emacs.d/package/faceup-20170925.1946/faceup hides
/Users/yuan/attic/emacs/lisp/emacs-lisp/faceup
Features:
(shadow sort mail-extr emacsbug sendmail vc-git vc-bzr vc-src vc-sccs
vc-svn vc-cvs vc-rcs vc vc-dispatcher magit-bookmark bookmark
company-oddmuse company-keywords company-etags etags fileloop
company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-bbdb hideshow desktop frameset
trivial-copy ghelp-eglot ghelp-helpful ghelp-builtin ghelp cus-edit
cus-start cus-load luna-publish utility pause luna-general-config
minibuf-eldef eglot array jsonrpc ert pp ewoc debug flymake-proc flymake
warnings url-util magit-submodule magit-obsolete magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func magit-diff smerge-mode diff-mode magit-core magit-autorevert
autorevert filenotify magit-margin magit-transient magit-process
magit-mode transient git-commit magit-git magit-section magit-utils crm
log-edit message rmc puny rfc822 mml mml-sec epa derived epg epg-config
gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
with-editor async-bytecomp async shell server flyspell ispell outshine
outshine-org-cmds outorg isolate inline expand-region
text-mode-expansions the-org-mode-expansions er-basic-expansions
thingatpt expand-region-core expand-region-custom ws-butler minions
eyebrowse savehist buffer-move windmove hl-todo highlight-parentheses
rainbow-delimiters doom-cyberpunk-theme undo-tree diff
doom-one-light-theme elec-pair winner doom-themes doom-themes-base
windman aggressive-indent find-char ivy-prescient prescient recentf-ext
recentf tree-widget wid-edit which-key general helpful imenu trace
edebug backtrace info-look f dash-functional help-fns radix-tree
elisp-refs s loop dash org-element avl-tree generator org advice
org-macro org-footnote org-pcomplete pcomplete org-list org-faces
org-entities time-date noutline outline org-version ob-emacs-lisp ob
ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint
ob-core ob-eval org-compat org-macs org-loaddefs format-spec find-func
cal-menu calendar cal-loaddefs counsel xdg xref project dired
dired-loaddefs compile comint ansi-color swiper cl-extra help-mode ivy
delsel ring colir color ivy-overlay company edmacro kmacro pcase
use-package use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core finder-inf
tex-site info cowboy package easymenu browse-url url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars cl-loaddefs cl-lib lunary
lunary-ui luna-f rx seq byte-opt gv bytecomp byte-compile cconv tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
term/ns-win ns-win ucs-normalize mule-util 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 loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads kqueue cocoa ns
lcms2 multi-tty make-network-process emacs)
Memory information:
((conses 16 77000 107585)
(symbols 48 4960 1)
(strings 32 19231 6468)
(string-bytes 1 447877)
(vectors 16 7984)
(vector-slots 8 124333 23380)
(floats 8 464 309)
(intervals 56 2209 0)
(buffers 1000 12))
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#39178: 27.0.50; [PATCH] Fix: gdb-mi cannot recover from handler function error |
Date: |
Fri, 31 Jan 2020 11:44:32 +0200 |
> From: Yuan Fu <address@hidden>
> Date: Sat, 18 Jan 2020 13:48:45 -0500
>
> If a handler produces an error, cleanup code doesn’t get to run and leaves
> gbd-mi.el in a corrupted state (in terms of communication buffer). So other
> handlers can’t parse the message sent from gdb anymore.
Thanks, pushed to the emacs-27 branch.
Please in the future try to observe the following nits:
> * lisp/progmodes/gdb-mi.el (gdb-handle-reply):
> Handle error in ’handler-function’ so the cleanup code after it
Please use quoting 'like this' in log messages (and also in NEWS).
> + (condition-case err
> + ;; protect against errors in handler-function
Comments should be complete sentences, and as such, begin with a
capital letter and end in a period.
(I fixed all of these nits this time.)
--- End Message ---