GNU bug report logs - #52196
28.0.60; gdb-mi error message: "wrong type argument: stringp"

Previous Next

Package: emacs;

Reported by: sebastian <at> bsnrg.net

Date: Tue, 30 Nov 2021 10:09:02 UTC

Severity: normal

Tags: moreinfo

Found in version 28.0.60

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 52196 in the body.
You can then email your comments to 52196 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#52196; Package emacs. (Tue, 30 Nov 2021 10:09:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to sebastian <at> bsnrg.net:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 30 Nov 2021 10:09:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: sebastian <at> bsnrg.net
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.60; gdb-mi error message: "wrong type argument: stringp"
Date: Tue, 30 Nov 2021 10:08:00 +0000
[Message part 1 (text/plain, inline)]
I've attached a small C++ program that can be used to reproduce the issue. I compiled it like so

g++ -g3 main.cc -o test-program

Steps to reproduce:
- emacs -Q
- evaluate the forms:
(require 'gdb-mi)
(setq gdb-many-windows t)

- M-x gdb with argument "gdb -i=mi /path/to/test-program"
- Do "run" in the gdb command prompt
- M-x gdb-io-interrupt

Result: error message in minibuffer "Wrong type argument: stringp, nil" (although the command executes normally).

Furthermore, in this state any of the following will also cause the same message to flash:
- doing M-x gud-break in the source buffer
- toggling a breakpoint in the breakpoint buffer
- probably others

Although again none of the commands fail to execute properly.

Root cause:

In the function gdb-frame-handler the form:

(setq gdb-selected-file (file-local-name (gdb-mi--field frame 'fullname)))

causes the error message if gdb-mi--field returns nil. I don't know if this is an expected return value for that function or not. In any case, file-local-name signals the error in case of nil input. The file-local-name wrapping was introduced semi-recently with commit 019c70e731d0243ad3ea2d4ebb02dd4a343e868f.

Thanks.

----------------------------------------

In GNU Emacs 28.0.60 (build 8, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.12)
 of 2021-11-30 built on san
Repository revision: 30553d889d733613e8e5fd22358980baa7ee148e
Repository branch: emacs-28
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: CentOS Linux 8

Configured using:
 'configure --prefix=/home/snorgaard/emacs-master --with-cairo
 --with-dumping=pdumper --with-mailutils --with-json --with-x
 --with-xwidgets --with-native-compilation
 --enable-link-time-optimization 'CFLAGS=-g3 -O3 -mtune=native
 -march=native -fomit-frame-pointer''

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM
XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: en_DK.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: C++//l

Minor modes in effect:
  gdb-many-windows: 1
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-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-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
rmail-loaddefs auth-source eieio eieio-core eieio-loaddefs
password-cache json map text-property-search mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs comp comp-cstr warnings subr-x rx cl-macs cl-extra
help-mode seq byte-opt gv bytecomp byte-compile cconv gdb-mi cl-seq
cl-loaddefs cl-lib gud easy-mmode comint ansi-color ring iso-transl
tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode 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 lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax 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 emoji-zwj 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
xwidget-internal dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit
x multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 134661 11459)
 (symbols 48 10813 0)
 (strings 32 31925 1896)
 (string-bytes 1 1182054)
 (vectors 16 20650)
 (vector-slots 8 362625 14622)
 (floats 8 46 30)
 (intervals 56 365 3)
 (buffers 992 19))
[main.cc (application/octet-stream, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52196; Package emacs. (Tue, 30 Nov 2021 13:11:01 GMT) Full text and rfc822 format available.

Message #8 received at 52196 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: sebastian <at> bsnrg.net
Cc: 52196 <at> debbugs.gnu.org
Subject: Re: bug#52196: 28.0.60; gdb-mi error message: "wrong type argument:
 stringp"
Date: Tue, 30 Nov 2021 14:10:21 +0100
sebastian <at> bsnrg.net writes:

> In the function gdb-frame-handler the form:
>
> (setq gdb-selected-file (file-local-name (gdb-mi--field frame 'fullname)))
>
> causes the error message if gdb-mi--field returns nil. I don't know if this is an expected return value for that function or not. In any case, file-local-name signals the error in case of nil input. The file-local-name wrapping was introduced semi-recently with commit 019c70e731d0243ad3ea2d4ebb02dd4a343e868f.

Thanks for the analysis.  I think I've now fixed this in Emacs 28 -- can
you pull and rebuild and see whether this works better now?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 30 Nov 2021 13:11:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52196; Package emacs. (Tue, 30 Nov 2021 19:41:01 GMT) Full text and rfc822 format available.

Message #13 received at 52196 <at> debbugs.gnu.org (full text, mbox):

From: "Sebastian Arlund Nørgaard" <sebastian <at> bsnrg.net>
To: "Lars Ingebrigtsen" <larsi <at> gnus.org>
Cc: 52196 <at> debbugs.gnu.org
Subject: Re: bug#52196: 28.0.60; gdb-mi error message: "wrong type
 argument: stringp"
Date: Tue, 30 Nov 2021 19:40:09 +0000
>> Thanks for the analysis. I think I've now fixed this in Emacs 28 -- can
>> you pull and rebuild and see whether this works better now?

Yes, if indeed the nil return value is expected your fix should work just fine. I've done a quick test and everything looks fine on my end.

Regards,
Sebastian




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52196; Package emacs. (Tue, 30 Nov 2021 20:38:01 GMT) Full text and rfc822 format available.

Message #16 received at 52196 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Sebastian Arlund Nørgaard <sebastian <at> bsnrg.net>
Cc: 52196 <at> debbugs.gnu.org
Subject: Re: bug#52196: 28.0.60; gdb-mi error message: "wrong type argument:
 stringp"
Date: Tue, 30 Nov 2021 21:37:42 +0100
"Sebastian Arlund Nørgaard" <sebastian <at> bsnrg.net> writes:

>>> Thanks for the analysis. I think I've now fixed this in Emacs 28 -- can
>>> you pull and rebuild and see whether this works better now?
>
> Yes, if indeed the nil return value is expected your fix should work
> just fine. I've done a quick test and everything looks fine on my end.

Thanks for checking; I'm closing this bug report, then.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 29.1, send any further explanations to 52196 <at> debbugs.gnu.org and sebastian <at> bsnrg.net Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 30 Nov 2021 20:39:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 29 Dec 2021 12:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 80 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.