* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! @ 2020-03-29 7:21 Roland Coeurjoly 2020-10-26 14:19 ` Lars Ingebrigtsen 0 siblings, 1 reply; 16+ messages in thread From: Roland Coeurjoly @ 2020-03-29 7:21 UTC (permalink / raw) To: 40279 [-- Attachment #1: Type: text/plain, Size: 24723 bytes --] When I try to run: M-x gdb <RET> docker-compose -f ~/docker-services/dev/docker-compose.yml exec dev_rhel7 bash -c "gdb -i=mi" <RET> I get the following error: Error: you did not specify -i=mi on GDB's command line! In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.32) of 2020-02-07 built on des26 Windowing system distributor 'The X.Org Foundation', version 11.0.12004000 System Description: Debian GNU/Linux 10 (buster) Recent messages: Checking 105 files in /usr/local/share/emacs/26.3/lisp/obsolete... Checking for load-path shadows...done Auto-saving... previous-line: Beginning of buffer [11 times] C-x C-g is undefined funcall-interactively: Beginning of buffer [10 times] previous-line: Beginning of buffer [28 times] Buffer *unsent mail to bug-gnu-emacs@gnu.org* modified; kill anyway? (y or n) y Buffer "*gud-docker-compose.yml*" has a running process; kill it? (y or n) y Error: you did not specify -i=mi on GDB’s command line! Configured features: XPM JPEG TIFF GIF PNG SOUND GSETTINGS GLIB NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK2 X11 XDBE XIM THREADS Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Debugger Minor modes in effect: gdb-many-windows: t helm-descbinds-mode: t helm-mode: t helm-flx-mode: t helm--remap-mouse-mode: t recentf-mode: t global-semanticdb-minor-mode: t global-semantic-idle-scheduler-mode: t global-semantic-idle-summary-mode: t global-semantic-stickyfunc-mode: t semantic-mode: t yas-global-mode: t yas-minor-mode: t global-auto-complete-mode: t global-company-mode: t company-mode: t global-magit-file-mode: t global-spacemacs-whitespace-cleanup-mode: t spacemacs-whitespace-cleanup-mode: t winum-mode: t winner-mode: t volatile-highlights-mode: t global-vi-tilde-fringe-mode: t save-place-mode: t savehist-mode: t popwin-mode: t nyan-mode: t Info-breadcrumbs-in-mode-line-mode: t global-git-gutter+-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t flycheck-pos-tip-mode: t global-flycheck-mode: t flx-ido-mode: t eyebrowse-mode: t global-evil-surround-mode: t evil-surround-mode: t global-evil-search-highlight-persist: t evil-search-highlight-persist: t show-smartparens-global-mode: t show-smartparens-mode: t smartparens-mode: t evil-escape-mode: t global-anzu-mode: t anzu-mode: t eval-sexp-fu-flash-mode: t diff-auto-refine-mode: t clean-aindent-mode: t holy-mode: t which-key-mode: t override-global-mode: t global-undo-tree-mode: t undo-tree-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t spacemacs-leader-override-mode: t global-spacemacs-leader-override-mode: t xterm-mouse-mode: t global-auto-revert-mode: t ido-vertical-mode: t global-page-break-lines-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-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 column-number-mode: t line-number-mode: t global-visual-line-mode: t transient-mark-mode: t Load-path shadows: /home/drcoeurjoly/.emacs.d/elpa/ht-20200217.2331/ht hides /home/drcoeurjoly/.emacs.d/core/libs/ht /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-ledger hides /usr/local/share/emacs/26.3/lisp/org/ob-ledger /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-icalendar hides /usr/local/share/emacs/26.3/lisp/org/ox-icalendar /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-eval hides /usr/local/share/emacs/26.3/lisp/org/ob-eval /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-indent hides /usr/local/share/emacs/26.3/lisp/org/org-indent /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-inlinetask hides /usr/local/share/emacs/26.3/lisp/org/org-inlinetask /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-attach hides /usr/local/share/emacs/26.3/lisp/org/org-attach /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-emacs-lisp hides /usr/local/share/emacs/26.3/lisp/org/ob-emacs-lisp /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-feed hides /usr/local/share/emacs/26.3/lisp/org/org-feed /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-duration hides /usr/local/share/emacs/26.3/lisp/org/org-duration /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-latex hides /usr/local/share/emacs/26.3/lisp/org/ox-latex /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-js hides /usr/local/share/emacs/26.3/lisp/org/ob-js /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-datetree hides /usr/local/share/emacs/26.3/lisp/org/org-datetree /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org hides /usr/local/share/emacs/26.3/lisp/org/org /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-faces hides /usr/local/share/emacs/26.3/lisp/org/org-faces /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-screen hides /usr/local/share/emacs/26.3/lisp/org/ob-screen /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-archive hides /usr/local/share/emacs/26.3/lisp/org/org-archive /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-src hides /usr/local/share/emacs/26.3/lisp/org/org-src /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-mouse hides /usr/local/share/emacs/26.3/lisp/org/org-mouse /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-dot hides /usr/local/share/emacs/26.3/lisp/org/ob-dot /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-shen hides /usr/local/share/emacs/26.3/lisp/org/ob-shen /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-sql hides /usr/local/share/emacs/26.3/lisp/org/ob-sql /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-protocol hides /usr/local/share/emacs/26.3/lisp/org/org-protocol /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-matlab hides /usr/local/share/emacs/26.3/lisp/org/ob-matlab /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-processing hides /usr/local/share/emacs/26.3/lisp/org/ob-processing /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-lua hides /usr/local/share/emacs/26.3/lisp/org/ob-lua /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-ctags hides /usr/local/share/emacs/26.3/lisp/org/org-ctags /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-publish hides /usr/local/share/emacs/26.3/lisp/org/ox-publish /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-R hides /usr/local/share/emacs/26.3/lisp/org/ob-R /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-stan hides /usr/local/share/emacs/26.3/lisp/org/ob-stan /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-md hides /usr/local/share/emacs/26.3/lisp/org/ox-md /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-colview hides /usr/local/share/emacs/26.3/lisp/org/org-colview /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-shell hides /usr/local/share/emacs/26.3/lisp/org/ob-shell /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-macs hides /usr/local/share/emacs/26.3/lisp/org/org-macs /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-odt hides /usr/local/share/emacs/26.3/lisp/org/ox-odt /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-ocaml hides /usr/local/share/emacs/26.3/lisp/org/ob-ocaml /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-man hides /usr/local/share/emacs/26.3/lisp/org/ox-man /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-entities hides /usr/local/share/emacs/26.3/lisp/org/org-entities /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-table hides /usr/local/share/emacs/26.3/lisp/org/ob-table /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-texinfo hides /usr/local/share/emacs/26.3/lisp/org/ox-texinfo /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-calc hides /usr/local/share/emacs/26.3/lisp/org/ob-calc /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-core hides /usr/local/share/emacs/26.3/lisp/org/ob-core /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-timer hides /usr/local/share/emacs/26.3/lisp/org/org-timer /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-plot hides /usr/local/share/emacs/26.3/lisp/org/org-plot /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-ref hides /usr/local/share/emacs/26.3/lisp/org/ob-ref /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-picolisp hides /usr/local/share/emacs/26.3/lisp/org/ob-picolisp /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-J hides /usr/local/share/emacs/26.3/lisp/org/ob-J /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-macro hides /usr/local/share/emacs/26.3/lisp/org/org-macro /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-beamer hides /usr/local/share/emacs/26.3/lisp/org/ox-beamer /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-id hides /usr/local/share/emacs/26.3/lisp/org/org-id /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-io hides /usr/local/share/emacs/26.3/lisp/org/ob-io /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-java hides /usr/local/share/emacs/26.3/lisp/org/ob-java /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-agenda hides /usr/local/share/emacs/26.3/lisp/org/org-agenda /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-mscgen hides /usr/local/share/emacs/26.3/lisp/org/ob-mscgen /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-clojure hides /usr/local/share/emacs/26.3/lisp/org/ob-clojure /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-abc hides /usr/local/share/emacs/26.3/lisp/org/ob-abc /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-tangle hides /usr/local/share/emacs/26.3/lisp/org/ob-tangle /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-coq hides /usr/local/share/emacs/26.3/lisp/org/ob-coq /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-footnote hides /usr/local/share/emacs/26.3/lisp/org/org-footnote /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-css hides /usr/local/share/emacs/26.3/lisp/org/ob-css /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-mobile hides /usr/local/share/emacs/26.3/lisp/org/org-mobile /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-maxima hides /usr/local/share/emacs/26.3/lisp/org/ob-maxima /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-table hides /usr/local/share/emacs/26.3/lisp/org/org-table /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-ditaa hides /usr/local/share/emacs/26.3/lisp/org/ob-ditaa /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-scheme hides /usr/local/share/emacs/26.3/lisp/org/ob-scheme /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-habit hides /usr/local/share/emacs/26.3/lisp/org/org-habit /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-element hides /usr/local/share/emacs/26.3/lisp/org/org-element /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-compat hides /usr/local/share/emacs/26.3/lisp/org/org-compat /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-lilypond hides /usr/local/share/emacs/26.3/lisp/org/ob-lilypond /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-hledger hides /usr/local/share/emacs/26.3/lisp/org/ob-hledger /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-lint hides /usr/local/share/emacs/26.3/lisp/org/org-lint /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-sqlite hides /usr/local/share/emacs/26.3/lisp/org/ob-sqlite /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-perl hides /usr/local/share/emacs/26.3/lisp/org/ob-perl /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-python hides /usr/local/share/emacs/26.3/lisp/org/ob-python /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-sed hides /usr/local/share/emacs/26.3/lisp/org/ob-sed /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-gnuplot hides /usr/local/share/emacs/26.3/lisp/org/ob-gnuplot /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-makefile hides /usr/local/share/emacs/26.3/lisp/org/ob-makefile /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-capture hides /usr/local/share/emacs/26.3/lisp/org/org-capture /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-ascii hides /usr/local/share/emacs/26.3/lisp/org/ox-ascii /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-org hides /usr/local/share/emacs/26.3/lisp/org/ob-org /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-latex hides /usr/local/share/emacs/26.3/lisp/org/ob-latex /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-list hides /usr/local/share/emacs/26.3/lisp/org/org-list /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-crypt hides /usr/local/share/emacs/26.3/lisp/org/org-crypt /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-lob hides /usr/local/share/emacs/26.3/lisp/org/ob-lob /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-html hides /usr/local/share/emacs/26.3/lisp/org/ox-html /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-C hides /usr/local/share/emacs/26.3/lisp/org/ob-C /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-install hides /usr/local/share/emacs/26.3/lisp/org/org-install /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox-org hides /usr/local/share/emacs/26.3/lisp/org/ox-org /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-forth hides /usr/local/share/emacs/26.3/lisp/org/ob-forth /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-sass hides /usr/local/share/emacs/26.3/lisp/org/ob-sass /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-asymptote hides /usr/local/share/emacs/26.3/lisp/org/ob-asymptote /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-vala hides /usr/local/share/emacs/26.3/lisp/org/ob-vala /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-ruby hides /usr/local/share/emacs/26.3/lisp/org/ob-ruby /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-clock hides /usr/local/share/emacs/26.3/lisp/org/org-clock /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-groovy hides /usr/local/share/emacs/26.3/lisp/org/ob-groovy /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ox hides /usr/local/share/emacs/26.3/lisp/org/ox /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob hides /usr/local/share/emacs/26.3/lisp/org/ob /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-comint hides /usr/local/share/emacs/26.3/lisp/org/ob-comint /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-plantuml hides /usr/local/share/emacs/26.3/lisp/org/ob-plantuml /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-haskell hides /usr/local/share/emacs/26.3/lisp/org/ob-haskell /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-pcomplete hides /usr/local/share/emacs/26.3/lisp/org/org-pcomplete /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-awk hides /usr/local/share/emacs/26.3/lisp/org/ob-awk /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-loaddefs hides /usr/local/share/emacs/26.3/lisp/org/org-loaddefs /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-exp hides /usr/local/share/emacs/26.3/lisp/org/ob-exp /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-octave hides /usr/local/share/emacs/26.3/lisp/org/ob-octave /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-ebnf hides /usr/local/share/emacs/26.3/lisp/org/ob-ebnf /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-lisp hides /usr/local/share/emacs/26.3/lisp/org/ob-lisp /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/org-version hides /usr/local/share/emacs/26.3/lisp/org/org-version /home/drcoeurjoly/.emacs.d/elpa/org-plus-contrib-20200323/ob-fortran hides /usr/local/share/emacs/26.3/lisp/org/ob-fortran Features: (two-column iso-transl pp shadow sort mail-extr mwim emacsbug sendmail gdb-mi bindat gud helm-command helm-elisp helm-eval edebug helm-info helm-descbinds helm-mode helm-files helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types helm-flx helm helm-source helm-multi-match helm-lib open-junk-file auto-dictionary org-eldoc evil-org cursor-sensor vc-git vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs ess-r-mode ess-r-flymake ess-r-xref ess-trns ess-r-package ess-r-completion ess-roxy ess-r-syntax ess-rd ess-s-lang ess-help ess-mode ess-inf ess-tracebug smartparens-ess ess ess-utils ess-custom company-robe robe inf-ruby rubocop ruby-tools auto-compile packed elisp-slime-nav verilog-mode perl-mode company-shell sh-script executable srefactor srefactor-ui recentf tree-widget srecode/semantic semantic/senator semantic/decorate pulse srecode/insert srecode/filters srecode/args ede/speedbar ede/files ede ede/detect ede/base ede/source eieio-speedbar eieio-custom srecode/find srecode/map srecode/ctxt srecode/compile srecode/dictionary srecode/table srecode semantic/doc semantic/db-file data-debug cedet-files semantic/bovine/c hideif semantic/bovine/c-by semantic/lex-spp semantic/bovine/gcc semantic/analyze/refs semantic/db-find semantic/db-ref semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn company-c-headers sql view company-yasnippet company-anaconda anaconda-mode pythonic evil-matchit evil-matchit-sdk hi-lock semantic/wisent/python semantic/dep semantic/wisent/python-wy semantic/wisent semantic/wisent/wisent semantic/db-mode semantic/idle stickyfunc-enhance semantic/bovine/el semantic/format semantic/tag-ls semantic/find semantic/ctxt semantic/db-el eieio-opt speedbar sb-image ezimage dframe semantic/db semantic/bovine semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet goto-addr bug-reference auto-highlight-symbol highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters smartparens-python python tramp-sh org-bullets org-download toc-org yasnippet flymake-proc flymake elec-pair face-remap image-file org-element avl-tree generator ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader ol-docview doc-view jka-compr ol-bibtex bibtex ol-bbdb ol-w3m auto-complete-config ac-ispell auto-complete popup company-oddmuse company-keywords company-etags 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 company ob-python ob-perl ob-sql ob-R ob-shell ob-latex ob-C smartparens-c compile cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-clojure ob-gnuplot org-crypt smartparens-org orgit git-rebase gh gh-users gh-issues gh-pulls gh-repos gh-comments gh-gist gh-oauth gh-api logito gh-cache pcache eieio-base gh-auth gh-url gh-profile evil-magit magit-submodule magit-obsolete magit-popup 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 imenu magit-diff diminish smerge-mode magit-core magit-autorevert magit-margin magit-transient magit-process magit-mode org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs hl-todo xterm-color spacemacs-whitespace-cleanup ws-butler winum winner volatile-highlights vi-tilde-fringe smartparens-config smartparens-text smartparens-ruby saveplace savehist ruby-test-mode pcre2el rxt re-builder ruby-mode smie popwin persp-mode nyan-mode linum info+ image-mode git-gutter-fringe+ fringe-helper git-gutter+ git-commit with-editor async-bytecomp async transient server magit-git magit-section magit-utils crm log-edit pcvs-util add-log docker-tramp tramp-cache tramp tramp-compat tramp-loaddefs trampver ucs-normalize parse-time gh-common marshal flycheck-pos-tip pos-tip flycheck find-func flx-ido flx feature-mode cucumber-mode etags xref project eyebrowse evil-unimpaired f s evil-surround evil-search-highlight-persist highlight evil-numbers evil-lisp-state smartparens dash evil-indent-plus evil-exchange evil-escape evil-args evil-anzu anzu eval-sexp-fu noutline outline rx diff-hl vc-dir ewoc vc vc-dispatcher diff-mode clean-aindent-mode clang-format xml ede/auto adaptive-wrap hybrid-mode exec-path-from-shell evil-evilified-state which-key use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core hydra lv cus-edit cus-start cus-load evil evil-keybindings evil-integration undo-tree diff evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex shell pcomplete comint ansi-color evil-macros evil-repeat evil-states evil-core evil-common windmove thingatpt rect evil-digraphs evil-vars ring info bind-map mm-archive message dired dired-loaddefs format-spec rfc822 mml mml-sec epa gnus-util rmail rmail-loaddefs mailabbrev gmm-utils mailheader epg mail-utils network-stream starttls url-http tls gnutls url-gw nsm rmc puny url-cache url-auth url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap quelpa help-fns radix-tree package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr json map lisp-mnt hl-line xt-mouse autorevert filenotify cl-extra disp-table wid-edit spacemacs-dark-theme spacemacs-common finder-inf core-configuration-layer eieio-compat ht cl help-mode warnings package epg-config url-handlers url-parse auth-source cl-seq password-cache url-vars eieio eieio-core eieio-loaddefs ido-vertical-mode ido seq byte-opt bytecomp byte-compile cconv core-spacemacs core-use-package-ext core-transient-state core-micro-state core-toggle core-keybindings core-fonts-support core-spacemacs-buffer core-funcs cl-macs gv core-themes-support core-display-init core-jump core-auto-completion core-release-management core-dotspacemacs core-command-line pcase core-debug edmacro kmacro derived advice profiler easymenu cl-loaddefs cl-lib page-break-lines easy-mmode core-emacs-backports subr-x time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame 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 minibuffer 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 inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 1314504 428302) (symbols 48 86343 66) (miscs 40 716 1732) (strings 32 276086 149761) (string-bytes 1 8825028) (vectors 16 124544) (vector-slots 8 2065482 500554) (floats 8 548 2808) (intervals 56 33741 9397) (buffers 992 38)) [-- Attachment #2: Type: text/html, Size: 25509 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-03-29 7:21 bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! Roland Coeurjoly @ 2020-10-26 14:19 ` Lars Ingebrigtsen 2020-10-26 20:31 ` Roland Coeurjoly 0 siblings, 1 reply; 16+ messages in thread From: Lars Ingebrigtsen @ 2020-10-26 14:19 UTC (permalink / raw) To: Roland Coeurjoly; +Cc: 40279 Roland Coeurjoly <rolandcoeurjoly@gmail.com> writes: > When I try to run: > M-x gdb <RET> docker-compose -f ~/docker-services/dev/docker-compose.yml > exec dev_rhel7 bash -c "gdb -i=mi" <RET> > I get the following error: > Error: you did not specify -i=mi on GDB's command line! I don't know docker, but this is a message Emacs gives when gdb doesn't start up and output the data that knows that it has been started correctly. So the message may be slightly misleading, but the problem seems to be that gdb isn't started properly? Here's the code: (defun gdb--check-interpreter (filter proc string) (unless (zerop (length string)) (remove-function (process-filter proc) #'gdb--check-interpreter) (unless (memq (aref string 0) '(?^ ?~ ?@ ?& ?* ?=)) ;; Apparently we're not running with -i=mi. (let ((msg "Error: you did not specify -i=mi on GDB's command line!")) So is there a problem with your gdb invocation via docker? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-26 14:19 ` Lars Ingebrigtsen @ 2020-10-26 20:31 ` Roland Coeurjoly 2020-10-26 21:01 ` Lars Ingebrigtsen ` (2 more replies) 0 siblings, 3 replies; 16+ messages in thread From: Roland Coeurjoly @ 2020-10-26 20:31 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 40279 [-- Attachment #1: Type: text/plain, Size: 8453 bytes --] Yes, the problem is that it doesn't split the frame in different windows, and nothing good happens. I need to run gdb inside Docker, and I have a strong preference for the interface provided by emacs. When doing M-x gdb, I enter "docker-compose -f ~/docker-services/dev/docker-compose.yml exec dev_rhel7 bash -c "gdb -i=mi"", and then it shows me the following message. Current directory is /home/drcoeurjoly/docker-services/dev/ Error: you did not specify -i=mi on GDB's command line! WARNING: The MY_UID variable is not set. Defaulting to a blank string. 1-inferior-tty-set /dev/pts/3 2-gdb-set height 0 3-gdb-set non-stop 1 4-enable-pretty-printing 5-file-list-exec-source-files 6-file-list-exec-source-file 7-gdb-show prompt 8-stack-info-frame 9-thread-info 10-break-list 11-thread-info 12-break-list =thread-group-added,id="i1" ~"GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-114.el7\n" ~"Copyright (C) 2013 Free Software Foundation, Inc.\n" ~"License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying\"\nand \"show warranty\" for details.\n" ~"This GDB was configured as \"x86_64-redhat-linux-gnu\".\nFor bug reporting instructions, please see:\n" ~"http://www.gnu.org/software/gdb/bugs/.\n" =cmd-param-changed,param="history save",value="on" =cmd-param-changed,param="history filename",value="/home/drcoeurjoly/dotfiles/gdb/.gdb_history" =cmd-param-changed,param="print pretty",value="on" =cmd-param-changed,param="print object",value="on" =cmd-param-changed,param="print vtbl",value="on" =cmd-param-changed,param="demangle-style",value="gnu-v3" =cmd-param-changed,param="follow-fork-mode",value="child" =cmd-param-changed,param="detach-on-fork",value="off" (gdb) 1^done (gdb) 2^done (gdb) 3^done (gdb) 4^done (gdb) 5^done,files=[] (gdb) 6^error,msg="No symbol table is loaded. Use the \"file\" command." (gdb) 7^done,value="(gdb) " (gdb) 8^error,msg="No registers." (gdb) 9^done,threads=[] (gdb) 10^done,BreakpointTable={nr_rows="0",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[]} (gdb) 11^done,threads=[] (gdb) 12^done,BreakpointTable={nr_rows="0",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[]} (gdb) Note that I successfully enter gdb in Docker, since GDB says: "GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-114.el7\n" In my host operating system (Debian): gdb --version outputs: GNU gdb (Debian 8.2.1-2+b3) 8.2.1 In Debian, I execute the Docker command: docker-compose -f ~/docker-services/dev/docker-compose.yml exec dev_rhel7 bash -c "gdb -i=mi" and I get the machine-oriented text interface. From the previous test I deduce that it is an issue of emacs, not Docker. When entering the path of a binary instead of the option -i=mi, it reads the symbols just fine: M-x gdb RETURN docker-compose -f ~/docker-services/dev/docker-compose.yml exec dev_rhel7 bash -c "gdb ~/babel_sandbox/build/foo" which outputs: Current directory is /home/drcoeurjoly/docker-services/dev/ Error: you did not specify -i=mi on GDB's command line! WARNING: The MY_UID variable is not set. Defaulting to a blank string. 1-inferior-tty-set /dev/pts/3 2-gdb-set height 0 3-gdb-set non-stop 1 4-enable-pretty-printing 5-file-list-exec-source-files 6-file-list-exec-source-file 7-gdb-show prompt 8-stack-info-frame 9-thread-info 10-break-list 11-thread-info 12-break-list GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-114.el7 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /home/drcoeurjoly/babel_sandbox/build/foo...done. (gdb) 1-inferior-tty-set /dev/pts/3 Undefined command: "1-inferior-tty-set". Try "help". (gdb) 2-gdb-set height 0 Undefined command: "2-gdb-set". Try "help". (gdb) 3-gdb-set non-stop 1 Undefined command: "3-gdb-set". Try "help". (gdb) 4-enable-pretty-printing Undefined command: "4-enable-pretty-printing". Try "help". (gdb) 5-file-list-exec-source-files Undefined command: "5-file-list-exec-source-files". Try "help". (gdb) 6-file-list-exec-source-file Undefined command: "6-file-list-exec-source-file". Try "help". (gdb) 7-gdb-show prompt Undefined command: "7-gdb-show". Try "help". (gdb) 8-stack-info-frame Undefined command: "8-stack-info-frame". Try "help". (gdb) 9-thread-info Undefined command: "9-thread-info". Try "help". (gdb) 10-break-list Undefined command: "10-break-list". Try "help". (gdb) 11-thread-info Undefined command: "11-thread-info". Try "help". (gdb) 12-break-list Undefined command: "12-break-list". Try "help". (gdb) I also tried putting the gdb -i=mi inside a script and calling that from emacs, to no avail. Calling directly from bash worked and not from emacs. Relevant information: - My spacemacs config <https://github.com/RCoeurjoly/dotfiles> - foo program <https://github.com/RCoeurjoly/babel_sandbox/> used for testing argument passing to gdb in emacs. I don't know if the dockerfile and docker-compose yml are relevant. If so, I will create a repo. Versions: Host: uname -a Linux des26 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux Emacs in host: emacs --version GNU Emacs 26.3 GDB in host: gdb --version GNU gdb (Debian 8.2.1-2+b3) 8.2.1 Docker in host: docker --version Docker version 18.09.1, build 4c52b90 Docker-compose in host: docker-compose --version docker-compose version 1.21.0, build unknown Docker container: cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) GDB in docker container: gdb --version GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-114.el7 This issue was reported by Robert Mecklenburg here <https://lists.gnu.org/archive/html/bug-gnu-emacs/2017-08/msg01216.html> and here <https://forums.docker.com/t/emacs-gud-mode-fails-with-docker-gdb/37452> as early as august 2017. On Mon, Oct 26, 2020 at 3:19 PM Lars Ingebrigtsen <larsi@gnus.org> wrote: > Roland Coeurjoly <rolandcoeurjoly@gmail.com> writes: > > > When I try to run: > > M-x gdb <RET> docker-compose -f ~/docker-services/dev/docker-compose.yml > > exec dev_rhel7 bash -c "gdb -i=mi" <RET> > > I get the following error: > > Error: you did not specify -i=mi on GDB's command line! > > I don't know docker, but this is a message Emacs gives when gdb doesn't > start up and output the data that knows that it has been started > correctly. > > So the message may be slightly misleading, but the problem seems to be > that gdb isn't started properly? Here's the code: > > (defun gdb--check-interpreter (filter proc string) > (unless (zerop (length string)) > (remove-function (process-filter proc) #'gdb--check-interpreter) > (unless (memq (aref string 0) '(?^ ?~ ?@ ?& ?* ?=)) > ;; Apparently we're not running with -i=mi. > (let ((msg "Error: you did not specify -i=mi on GDB's command > line!")) > > So is there a problem with your gdb invocation via docker? > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no > [-- Attachment #2: Type: text/html, Size: 12587 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-26 20:31 ` Roland Coeurjoly @ 2020-10-26 21:01 ` Lars Ingebrigtsen 2020-10-26 21:07 ` Roland Coeurjoly 2020-10-27 18:36 ` William Xu 2020-11-03 18:52 ` William Xu 2 siblings, 1 reply; 16+ messages in thread From: Lars Ingebrigtsen @ 2020-10-26 21:01 UTC (permalink / raw) To: Roland Coeurjoly; +Cc: 40279 Roland Coeurjoly <rolandcoeurjoly@gmail.com> writes: > Yes, the problem is that it doesn't split the frame in different windows, and nothing > good happens. > > I need to run gdb inside Docker, and I have a strong preference for the interface > provided by emacs. > > When doing M-x gdb, I enter "docker-compose -f > ~/docker-services/dev/docker-compose.yml exec dev_rhel7 bash -c "gdb -i=mi"", > and then it shows me the following message. Like I said, I know nothing about Docker, but my totally uninformed guess would be that something in that command line mangles the output from gdb, somehow, so that Emacs is no longer able to parse it. It's hard to tell, since you're posting via Gmail, as HTML, and the output examples you include have been mangled beyond recognition. Perhaps try including them as attachments? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-26 21:01 ` Lars Ingebrigtsen @ 2020-10-26 21:07 ` Roland Coeurjoly 2020-10-27 7:46 ` Lars Ingebrigtsen 0 siblings, 1 reply; 16+ messages in thread From: Roland Coeurjoly @ 2020-10-26 21:07 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 40279 [-- Attachment #1: Type: text/plain, Size: 1488 bytes --] > > Like I said, I know nothing about Docker, but my totally uninformed > guess would be that something in that command line mangles the output > from gdb, somehow, so that Emacs is no longer able to parse it. Yes, that seems to be the case. I posted this in stackoverflow here: https://stackoverflow.com/questions/60112087/error-you-did-not-specify-i-mi-on-gdbs-command-line-in-docker Would that be ok just to provide the link? On Mon, Oct 26, 2020 at 10:01 PM Lars Ingebrigtsen <larsi@gnus.org> wrote: > Roland Coeurjoly <rolandcoeurjoly@gmail.com> writes: > > > Yes, the problem is that it doesn't split the frame in different > windows, and nothing > > good happens. > > > > I need to run gdb inside Docker, and I have a strong preference for the > interface > > provided by emacs. > > > > When doing M-x gdb, I enter "docker-compose -f > > ~/docker-services/dev/docker-compose.yml exec dev_rhel7 bash -c "gdb > -i=mi"", > > and then it shows me the following message. > > Like I said, I know nothing about Docker, but my totally uninformed > guess would be that something in that command line mangles the output > from gdb, somehow, so that Emacs is no longer able to parse it. > > It's hard to tell, since you're posting via Gmail, as HTML, and the > output examples you include have been mangled beyond recognition. > > Perhaps try including them as attachments? > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no > [-- Attachment #2: Type: text/html, Size: 2397 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-26 21:07 ` Roland Coeurjoly @ 2020-10-27 7:46 ` Lars Ingebrigtsen 0 siblings, 0 replies; 16+ messages in thread From: Lars Ingebrigtsen @ 2020-10-27 7:46 UTC (permalink / raw) To: Roland Coeurjoly; +Cc: 40279 Roland Coeurjoly <rolandcoeurjoly@gmail.com> writes: > Like I said, I know nothing about Docker, but my totally uninformed > guess would be that something in that command line mangles the output > from gdb, somehow, so that Emacs is no longer able to parse it. > > Yes, that seems to be the case. > > I posted this in stackoverflow here: > https://stackoverflow.com/questions/60112087/error-you-did-not-specify-i-mi-on-gdbs-command-line-in-docker > > Would that be ok just to provide the link? I don't see anything on that link that wasn't in your bug report, so -- no, that doesn't really get us anywhere further. The problem is, as I was guessing, that your command line does something with the stream output from gdb that make Emacs not able to interpret it. If you posted the actual output here (not as HTML, but as a text attachment), it might help us further guess what it is that's happening. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-26 20:31 ` Roland Coeurjoly 2020-10-26 21:01 ` Lars Ingebrigtsen @ 2020-10-27 18:36 ` William Xu 2020-10-27 19:14 ` Lars Ingebrigtsen 2020-11-03 18:52 ` William Xu 2 siblings, 1 reply; 16+ messages in thread From: William Xu @ 2020-10-27 18:36 UTC (permalink / raw) To: 40279 Roland Coeurjoly <rolandcoeurjoly@gmail.com> writes: > From the previous test I deduce that it is an issue of emacs, not > Docker. I recently tried to setup calling gdb from docker as well, I also got some weird errors. Eventually I'm able to make it work by disabling the I/O separation (via "-inferior-tty-set") done by gdb mode. Root cause seems that emacs allocates an inferior tty (for I/O separation in gdb) for the *host*, which of course is not known to docker gdb. I'm not really sure how it should be properly fixed. This is my setup, I wrap around the gdb docker in a script: https://lists.gnu.org/archive/html/help-gnu-emacs/2020-10/msg00311.html This is the change I have to make: https://lists.gnu.org/archive/html/help-gnu-emacs/2020-10/msg00369.html P.S. I had hope on tramp remote gdb, but there are other issues... :( https://lists.gnu.org/archive/html/bug-gnu-emacs/2020-10/msg01839.html -- William ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-27 18:36 ` William Xu @ 2020-10-27 19:14 ` Lars Ingebrigtsen 2020-10-27 20:04 ` William Xu 2020-10-27 20:09 ` Eli Zaretskii 0 siblings, 2 replies; 16+ messages in thread From: Lars Ingebrigtsen @ 2020-10-27 19:14 UTC (permalink / raw) To: William Xu; +Cc: 40279 William Xu <william.xwl@gmail.com> writes: > This is the change I have to make: > https://lists.gnu.org/archive/html/help-gnu-emacs/2020-10/msg00369.html For reference, your proposed patch is just: diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index f0262c2315..7df23a6f41 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el @@ -1658,14 +1658,7 @@ gdb-display-io-buffer (defun gdb-inferior-io--init-proc (proc) ;; Set up inferior I/O. Needs GDB 6.4 onwards. (set-process-filter proc 'gdb-inferior-filter) - (set-process-sentinel proc 'gdb-inferior-io-sentinel) - ;; The process can run on a remote host. - (let ((tty (or (process-get proc 'remote-tty) - (process-tty-name proc)))) - (unless (or (null tty) - (string= tty "")) - (gdb-input - (concat "-inferior-tty-set " tty) 'ignore)))) + (set-process-sentinel proc 'gdb-inferior-io-sentinel)) (defun gdb-inferior-io-sentinel (proc _str) (when (eq (process-status proc) 'failed) I tried looking at the VC logs to see what the point of the inferior-tty-set command was, but the only mention I found was: (gdb-inferior-io--init-proc): Don't send "-inferior-tty" command if the TTY name is nil or empty (which happens when communicating with the inferior via pipes, e.g. on MS-Windows). Which just disables it on Windows? Hm... it was introduced below, but doesn't really say why. commit f30d612a7a628828baa7c333629a10295605291b Author: Chong Yidong <cyd@gnu.org> AuthorDate: Fri Apr 20 14:39:29 2012 +0800 And as far as I can tell, gdb runs just fine without it, even on GNU/Linux? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply related [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-27 19:14 ` Lars Ingebrigtsen @ 2020-10-27 20:04 ` William Xu 2020-10-27 20:11 ` Lars Ingebrigtsen 2020-10-27 20:20 ` Eli Zaretskii 2020-10-27 20:09 ` Eli Zaretskii 1 sibling, 2 replies; 16+ messages in thread From: William Xu @ 2020-10-27 20:04 UTC (permalink / raw) To: 40279 Lars Ingebrigtsen <larsi@gnus.org> writes: > And as far as I can tell, gdb runs just fine without it, even on > GNU/Linux? Without that, the gdb commands and program I/O are mixed together in the same buffer, so "*input/output of...*" window in gdb-many-windows will be empty. It is mostly useful if there is a lot of I/O from the program. It makes it easier to inspect only the program I/O in that separated buffer. So my change will kill the I/O separation. But then most of gdb mode features will work. Eli has explained it in my thread: https://lists.gnu.org/archive/html/help-gnu-emacs/2020-10/msg00392.html -- William ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-27 20:04 ` William Xu @ 2020-10-27 20:11 ` Lars Ingebrigtsen 2020-10-28 19:48 ` William Xu 2020-10-27 20:20 ` Eli Zaretskii 1 sibling, 1 reply; 16+ messages in thread From: Lars Ingebrigtsen @ 2020-10-27 20:11 UTC (permalink / raw) To: William Xu; +Cc: 40279 William Xu <william.xwl@gmail.com> writes: > Lars Ingebrigtsen <larsi@gnus.org> writes: > >> And as far as I can tell, gdb runs just fine without it, even on >> GNU/Linux? > > Without that, the gdb commands and program I/O are mixed together in the > same buffer, so "*input/output of...*" window in gdb-many-windows will > be empty. Ah, I see. > It is mostly useful if there is a lot of I/O from the program. It makes > it easier to inspect only the program I/O in that separated buffer. > > So my change will kill the I/O separation. But then most of gdb mode > features will work. Does the `M-x gud-gdb' command work OK in the Docker use case? That one doesn't have a separate socket for the I/O. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-27 20:11 ` Lars Ingebrigtsen @ 2020-10-28 19:48 ` William Xu 2020-10-30 12:19 ` Lars Ingebrigtsen 0 siblings, 1 reply; 16+ messages in thread From: William Xu @ 2020-10-28 19:48 UTC (permalink / raw) To: 40279 Lars Ingebrigtsen <larsi@gnus.org> writes: > Does the `M-x gud-gdb' command work OK in the Docker use case? That one > doesn't have a separate socket for the I/O. I just tested it, yes, it works well without my change. -- William ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-28 19:48 ` William Xu @ 2020-10-30 12:19 ` Lars Ingebrigtsen 2020-10-30 16:29 ` William Xu 0 siblings, 1 reply; 16+ messages in thread From: Lars Ingebrigtsen @ 2020-10-30 12:19 UTC (permalink / raw) To: William Xu; +Cc: 40279 William Xu <william.xwl@gmail.com> writes: > Lars Ingebrigtsen <larsi@gnus.org> writes: > >> Does the `M-x gud-gdb' command work OK in the Docker use case? That one >> doesn't have a separate socket for the I/O. > > I just tested it, yes, it works well without my change. I think it's probably not feasible to get the gdb-mi interface working within Docker (with Emacs on the outside), so I think the right fix here is to just make the error message less sure of itself. I've now done this in Emacs 28. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-30 12:19 ` Lars Ingebrigtsen @ 2020-10-30 16:29 ` William Xu 0 siblings, 0 replies; 16+ messages in thread From: William Xu @ 2020-10-30 16:29 UTC (permalink / raw) To: 40279 Lars Ingebrigtsen <larsi@gnus.org> writes: > I think it's probably not feasible to get the gdb-mi interface working > within Docker (with Emacs on the outside), so I think the right fix here > is to just make the error message less sure of itself. > > I've now done this in Emacs 28. The new error message looks much more informative/helpful than before. Thanks. -- William ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-27 20:04 ` William Xu 2020-10-27 20:11 ` Lars Ingebrigtsen @ 2020-10-27 20:20 ` Eli Zaretskii 1 sibling, 0 replies; 16+ messages in thread From: Eli Zaretskii @ 2020-10-27 20:20 UTC (permalink / raw) To: William Xu; +Cc: 40279 > From: William Xu <william.xwl@gmail.com> > Date: Tue, 27 Oct 2020 21:04:55 +0100 > > Lars Ingebrigtsen <larsi@gnus.org> writes: > > > And as far as I can tell, gdb runs just fine without it, even on > > GNU/Linux? > > Without that, the gdb commands and program I/O are mixed together in the > same buffer, so "*input/output of...*" window in gdb-many-windows will > be empty. > > It is mostly useful if there is a lot of I/O from the program. It makes > it easier to inspect only the program I/O in that separated buffer. No, it's useful even if the program does only a small amount of I/O, because running GDB in the default mode on GNU/Linux lets you run the program in the non-stop mode, where GDB and the program run in parallel -- in that case if they both output stuff to the same file descriptor, you will get an illegible mess. ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-27 19:14 ` Lars Ingebrigtsen 2020-10-27 20:04 ` William Xu @ 2020-10-27 20:09 ` Eli Zaretskii 1 sibling, 0 replies; 16+ messages in thread From: Eli Zaretskii @ 2020-10-27 20:09 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 40279, william.xwl > From: Lars Ingebrigtsen <larsi@gnus.org> > Date: Tue, 27 Oct 2020 20:14:07 +0100 > Cc: 40279@debbugs.gnu.org > > I tried looking at the VC logs to see what the point of the > inferior-tty-set command was, but the only mention I found was: > > (gdb-inferior-io--init-proc): Don't send "-inferior-tty" command > if the TTY name is nil or empty (which happens when communicating > with the inferior via pipes, e.g. on MS-Windows). > > Which just disables it on Windows? Yes. Because on Windows this is nothing but trouble. > Hm... it was introduced below, but doesn't really say why. > > commit f30d612a7a628828baa7c333629a10295605291b > Author: Chong Yidong <cyd@gnu.org> > AuthorDate: Fri Apr 20 14:39:29 2012 +0800 > > And as far as I can tell, gdb runs just fine without it, even on > GNU/Linux? It is needed to redirect the I/O of the program being debugged into a separate buffer, so it doesn't get mixed with the interaction between the user and GDB. gdb-many-windows creates, among others, a buffer where the program's I/O is redirected. ^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! 2020-10-26 20:31 ` Roland Coeurjoly 2020-10-26 21:01 ` Lars Ingebrigtsen 2020-10-27 18:36 ` William Xu @ 2020-11-03 18:52 ` William Xu 2 siblings, 0 replies; 16+ messages in thread From: William Xu @ 2020-11-03 18:52 UTC (permalink / raw) To: 40279 Roland Coeurjoly <rolandcoeurjoly@gmail.com> writes: > When doing M-x gdb, I enter "docker-compose -f ~/docker-services/dev/docker-compose.yml exec dev_rhel7 bash -c "gdb -i=mi"", and then > it shows me the following message. > > Current directory is /home/drcoeurjoly/docker-services/dev/ > > Error: you did not specify -i=mi on GDB's command line! WARNING: The MY_UID variable is not set. Defaulting to a blank string. Is "WARNING: The MY_UID variable is not set. Defaulting to a blank string." coming from your docker or bash? The check of gdb--check-interpreter looks pretty weak, as long as there is anything that will be written to stdout before the gdb cmd itself, it will fail with below check: #+begin_src emacs-lisp (unless (memq (aref string 0) '(?^ ?~ ?@ ?& ?* ?=)) #+end_src which will further set below filter. The filter below seems preventing the gdb-mi to work: #+begin_src emacs-lisp (set (make-local-variable 'gud-marker-filter) #'gud-gdb-marker-filter) #+end_src One can easily reproduce similar error, by wrapping around gdb with "echo hi" at the front: #+begin_src shell-script #!/bin/sh arg="$@" echo hi gdb -i=mi ${arg} #+end_src IMO, in the above cases, we should not immediately fall back to gud-gdb filter. The user should at least get a chance (like yes-or-no-p) to continue with gdb-mi, regardless of the sometimes-false-positive error. -- William ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2020-11-03 18:52 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-03-29 7:21 bug#40279: 26.3; Error: you did not specify -i=mi on GDB's command line! Roland Coeurjoly 2020-10-26 14:19 ` Lars Ingebrigtsen 2020-10-26 20:31 ` Roland Coeurjoly 2020-10-26 21:01 ` Lars Ingebrigtsen 2020-10-26 21:07 ` Roland Coeurjoly 2020-10-27 7:46 ` Lars Ingebrigtsen 2020-10-27 18:36 ` William Xu 2020-10-27 19:14 ` Lars Ingebrigtsen 2020-10-27 20:04 ` William Xu 2020-10-27 20:11 ` Lars Ingebrigtsen 2020-10-28 19:48 ` William Xu 2020-10-30 12:19 ` Lars Ingebrigtsen 2020-10-30 16:29 ` William Xu 2020-10-27 20:20 ` Eli Zaretskii 2020-10-27 20:09 ` Eli Zaretskii 2020-11-03 18:52 ` William Xu
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.