GNU bug report logs - #29332
27.0.50; running under gdb

Previous Next

Package: emacs;

Reported by: rms <at> gnu.org

Date: Fri, 17 Nov 2017 03:19:02 UTC

Severity: normal

Found in version 27.0.50

Done: Eli Zaretskii <eliz <at> gnu.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 29332 in the body.
You can then email your comments to 29332 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#29332; Package emacs. (Fri, 17 Nov 2017 03:19:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 17 Nov 2017 03:19:02 GMT) Full text and rfc822 format available.

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

From: Richard Stallman <rms <at> gnu.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.50; running under gdb
Date: Thu, 16 Nov 2017 22:17:55 -0500
I cd to src and type

   gdb emacs

   r

and I get the error message

   there is no member named name

I am using GDB version 7.7.1 which is in Trisquel 7.
In principle I could install the latest GDB, but it would be a lot of work
and I doubt it would make a difference.  I think the bug is in src/.gdbinit.

  


In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.23)
 of 2017-11-15 built on freetop
Repository revision: 52d822f31bc7cb57694c1e209b2d02e5efb8f48c
System Description:	Trisquel GNU/Linux 7.0, Belenos

Recent messages:
Loading paren...done
Loading view...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Note: file is write protected [4 times]
Counting messages...done
(No new mail has arrived)
0 new messages read
~/emacs-git/build-nov-15/src 

Configured using:
 'configure 'CFLAGS=-O0 -g' --with-gnutls=no'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS NOTIFY LIBXML2
FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK2 X11

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: RMAIL

Minor modes in effect:
  shell-dirtrack-mode: t
  gpm-mouse-mode: t
  tooltip-mode: t
  global-eldoc-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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow emacsbug mailalias pcmpl-unix shell pcomplete comint
ansi-color ring rmailmm message sendmail rmc puny format-spec rfc822
mml mml-sec epa epg gnus-util mm-decode mm-bodies mm-encode mailabbrev
gmm-utils mailheader mail-parse rfc2231 rmail rmail-loaddefs rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils dired dired-loaddefs
t-mouse term/linux elec-pair view derived time-date paren cus-start
cus-load advice finder-inf package easymenu epg-config url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache 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 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
dbusbind 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 241663 17158)
 (symbols 48 22882 2)
 (miscs 40 1971 1937)
 (strings 32 36389 2268)
 (string-bytes 1 980507)
 (vectors 16 15625)
 (vector-slots 8 491132 19474)
 (floats 8 66 295)
 (intervals 56 56888 41)
 (buffers 992 32)
 (heap 1024 17980 1513))
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]


-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
Skype: No way! See https://stallman.org/skype.html.





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Fri, 17 Nov 2017 10:11:02 GMT) Full text and rfc822 format available.

Notification sent to rms <at> gnu.org:
bug acknowledged by developer. (Fri, 17 Nov 2017 10:11:03 GMT) Full text and rfc822 format available.

Message #10 received at 29332-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: rms <at> gnu.org
Cc: 29332-done <at> debbugs.gnu.org
Subject: Re: bug#29332: 27.0.50; running under gdb
Date: Fri, 17 Nov 2017 12:10:04 +0200
> From: Richard Stallman <rms <at> gnu.org>
> Date: Thu, 16 Nov 2017 22:17:55 -0500
> 
> I cd to src and type
> 
>    gdb emacs
> 
>    r
> 
> and I get the error message
> 
>    there is no member named name
> 
> I am using GDB version 7.7.1 which is in Trisquel 7.
> In principle I could install the latest GDB, but it would be a lot of work
> and I doubt it would make a difference.  I think the bug is in src/.gdbinit.

You are right.  Fixed on the release branch with the changes below.

commit 42c8768134dcfaaf08637e36fe478605c1957517
Author:     Eli Zaretskii <eliz <at> gnu.org>
AuthorDate: Fri Nov 17 12:08:06 2017 +0200
Commit:     Eli Zaretskii <eliz <at> gnu.org>
CommitDate: Fri Nov 17 12:08:06 2017 +0200

    Fix .gdbinit following lisp.h changes
    
    * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
    (xprintstr): Adapt to latest changes in Lisp object C structures.
    (Bug#29332)

diff --git a/src/.gdbinit b/src/.gdbinit
index 60f6348..48bb5df 100644
--- a/src/.gdbinit
+++ b/src/.gdbinit
@@ -78,7 +78,7 @@ end
 # Access the name of a symbol
 define xsymname
   xgetsym $arg0
-  set $symname = $ptr->name
+  set $symname = $ptr->u.s.name
 end
 
 # Set up something to print out s-expressions.
@@ -376,7 +376,7 @@ define pwinx
   xgetptr $w->buffer
   set $tem = (struct buffer *) $ptr
   xgetptr $tem->name_
-  printf "%s", ((struct Lisp_String *) $ptr)->data
+  printf "%s", ((struct Lisp_String *) $ptr)->u.s.data
   printf "\n"
   xgetptr $w->start
   set $tem = (struct Lisp_Marker *) $ptr
@@ -504,7 +504,7 @@ define pgx
   xgettype ($g.object)
   if ($type == Lisp_String)
     xgetptr $g.object
-    printf " str=0x%x[%d]", ((struct Lisp_String *)$ptr)->data, $g.charpos
+    printf " str=0x%x[%d]", ((struct Lisp_String *)$ptr)->u.s.data, $g.charpos
   else
     printf " pos=%d", $g.charpos
   end
@@ -896,7 +896,7 @@ define xbuffer
   xgetptr $
   print (struct buffer *) $ptr
   xgetptr $->name_
-  output ((struct Lisp_String *) $ptr)->data
+  output ((struct Lisp_String *) $ptr)->u.s.data
   echo \n
 end
 document xbuffer
@@ -935,7 +935,7 @@ end
 define xcar
   xgetptr $
   xgettype $
-  print/x ($type == Lisp_Cons ? ((struct Lisp_Cons *) $ptr)->car : 0)
+  print/x ($type == Lisp_Cons ? ((struct Lisp_Cons *) $ptr)->u.s.car : 0)
 end
 document xcar
 Assume that $ is an Emacs Lisp pair and print its car.
@@ -944,7 +944,7 @@ end
 define xcdr
   xgetptr $
   xgettype $
-  print/x ($type == Lisp_Cons ? ((struct Lisp_Cons *) $ptr)->u.cdr : 0)
+  print/x ($type == Lisp_Cons ? ((struct Lisp_Cons *) $ptr)->u.s.u.cdr : 0)
 end
 document xcdr
 Assume that $ is an Emacs Lisp pair and print its cdr.
@@ -957,9 +957,9 @@ define xlist
   set $nil = $ptr
   set $i = 0
   while $cons != $nil && $i < 10
-    p/x $cons->car
+    p/x $cons->u.s.car
     xpr
-    xgetptr $cons->u.cdr
+    xgetptr $cons->u.s.u.cdr
     set $cons = (struct Lisp_Cons *) $ptr
     set $i = $i + 1
     printf "---\n"
@@ -1072,13 +1072,13 @@ Print $ as a lisp object of any type.
 end
 
 define xprintstr
-  set $data = (char *) $arg0->data
-  set $strsize = ($arg0->size_byte < 0) ? ($arg0->size & ~ARRAY_MARK_FLAG) : $arg0->size_byte
+  set $data = (char *) $arg0->u.s.data
+  set $strsize = ($arg0->u.s.size_byte < 0) ? ($arg0->u.s.size & ~ARRAY_MARK_FLAG) : $arg0->u.s.size_byte
   # GDB doesn't like zero repetition counts
   if $strsize == 0
     output ""
   else
-    output ($arg0->size > 1000) ? 0 : ($data[0])@($strsize)
+    output ($arg0->u.s.size > 1000) ? 0 : ($data[0])@($strsize)
   end
 end
 
@@ -1255,7 +1255,7 @@ commands
   xsymname globals.f_Vinitial_window_system
   xgetptr $symname
   set $tem = (struct Lisp_String *) $ptr
-  set $tem = (char *) $tem->data
+  set $tem = (char *) $tem->u.s.data
   # If we are running in synchronous mode, we want a chance to look
   # around before Emacs exits.  Perhaps we should put the break
   # somewhere else instead...




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

This bug report was last modified 7 years and 283 days ago.

Previous Next


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