GNU bug report logs - #5076
23.1.50; gdb weird breakpoint problem

Previous Next

Package: emacs;

Reported by: Michael Welsh Duggan <md5i <at> md5i.com>

Date: Mon, 30 Nov 2009 04:20:12 UTC

Severity: normal

Done: Lars Magne 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 5076 in the body.
You can then email your comments to 5076 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-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#5076; Package emacs. (Mon, 30 Nov 2009 04:20:14 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Welsh Duggan <md5i <at> md5i.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Mon, 30 Nov 2009 04:20:15 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Michael Welsh Duggan <md5i <at> md5i.com>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.1.50; gdb weird breakpoint problem
Date: Sun, 29 Nov 2009 23:16:31 -0500
[Message part 1 (text/plain, inline)]
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug.  If you can, give
a recipe starting from `emacs -Q':

Compile the following program using 
gcc -g -o bar bar.c

[bar.c (text/x-csrc, inline)]
int main() {
    int a = 4;
    int b = 5;

    int c = a++ * b;
    int d = ++a * b;

    return d;
}
[Message part 3 (text/plain, inline)]
Start gdb on the resulting progam bar.  An example (modify to suit
location):

M-x gdb RET C-a C-k gdb -i=mi bar RET

Use the following gdb session:
start
n
n
n
n
n
n
n
n
start

Here is what the output is for me:

[Message part 4 (text/plain, inline)]
Current directory is /usr/local/home/md5i/
GNU gdb (GDB) 7.0-debian
Copyright (C) 2009 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 "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/home/md5i/bar...done.
(gdb) start
Temporary breakpoint 1 at 0x80483a5: file bar.c, line 2.
Starting program: /usr/local/home/md5i/bar 
(gdb) n
(gdb) n
(gdb) n
(gdb) n
(gdb) n
(gdb) n
(gdb) n
(gdb) n
The program is not being run.
(gdb) start
Temporary breakpoint 2 at 0x80483a5: file bar.c, line 2.
Starting program: /usr/local/home/md5i/bar 
Error in re-setting breakpoint 2: Warning:
Cannot insert breakpoint -44.
Error accessing memory address 0xb7ea56c0: Input/output error.

Warning:
Cannot insert breakpoint -44.
Error accessing memory address 0xb7ea56c0: Input/output error.
[Message part 5 (text/plain, inline)]
Here is the gdb-debug-log for this session:

[Message part 6 (text/plain, inline)]
((recv . "40^done,threads=[{id=\"1\",target-id=\"process 22176\",frame={level=\"0\",addr=\"0xb7fe2850\",func=\"_start\",args=[],from=\"/lib/ld-linux.so.2\"},state=\"stopped\"}],current-thread-id=\"1\"\n(gdb) \n41^done,frame={level=\"0\",addr=\"0xb7fe2850\",func=\"_start\",from=\"/lib/ld-linux.so.2\"}\n(gdb) \n42^done,BreakpointTable={nr_rows=\"1\",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=[bkpt={number=\"2\",type=\"breakpoint\",disp=\"del\",enabled=\"y\",addr=\"0x080483a5\",func=\"main\",file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"2\",times=\"0\",original-location=\"main\"}]}\n(gdb) \n")
 (send-item "42-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "41-stack-info-frame" gdb-frame-handler)
 (recv . "&\"Error in re-setting breakpoint 2: Warning:\\n\"\n&\"Cannot insert breakpoint -44.\\n\"\n&\"Error accessing memory address 0xb7ea56c0: Input/output error.\\n\"\n&\"\\n\"\n&\"Warning:\\n\"\n&\"Cannot insert breakpoint -44.\\n\"\n&\"Error accessing memory address 0xb7ea56c0: Input/output error.\\n\"\n&\"\\n\"\n^error,msg=\"Warning:\\nCannot insert breakpoint -44.\\nError accessing memory address 0xb7ea56c0: Input/output error.\\n\"\n(gdb) \n")
 (send-item "40-thread-info"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "=library-unloaded,id=\"/lib/ld-linux.so.2\",target-name=\"/lib/ld-linux.so.2\",host-name=\"/lib/ld-linux.so.2\"\n=library-unloaded,id=\"/lib/i686/cmov/libc.so.6\",target-name=\"/lib/i686/cmov/libc.so.6\",host-name=\"/lib/i686/cmov/libc.so.6\"\n~\"Temporary breakpoint 2 at 0x80483a5: file bar.c, line 2.\\n\"\n~\"Starting program: /usr/local/home/md5i/bar \\n\"\n=thread-group-created,id=\"22176\"\n=thread-created,id=\"1\",group-id=\"22176\"\n^running\n*running,thread-id=\"all\"\n=library-loaded,id=\"/lib/ld-linux.so.2\",target-name=\"/lib/ld-linux.so.2\",host-name=\"/lib/ld-linux.so.2\",symbols-loaded=\"0\"\n")
 (mi-send .
	  #("start\n" 0 5
	    (fontified t)))
 (recv . "37^error,msg=\"No registers.\"\n(gdb) \n38^done,threads=[]\n(gdb) \n39^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=[]}\n(gdb) \n")
 (send-item "39-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "38-thread-info"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (send-item "37-stack-info-frame" gdb-frame-handler)
 (recv . "&\"The program is not being run.\\n\"\n^error,msg=\"The program is not being run.\"\n(gdb) \n")
 (mi-send .
	  #("n\n" 0 1
	    (fontified t)))
 (recv . "34^error,msg=\"Thread id: 1 has terminated\"\n(gdb) \n35^error,msg=\"No registers.\"\n(gdb) \n36^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=[]}\n(gdb) \n")
 (send-item "36-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "35-stack-info-frame" gdb-frame-handler)
 (send-item "34-thread-info --thread 1"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "^running\n*running,thread-id=\"1\"\n(gdb) \n=thread-exited,id=\"1\",group-id=\"22163\"\n=thread-group-exited,id=\"22163\"\n*stopped,reason=\"exited\",exit-code=\"036\"\n")
 (mi-send .
	  #("n\n" 0 1
	    (fontified t)))
 (recv . "32^done,frame={level=\"0\",addr=\"0xb7e91b55\",func=\"__libc_start_main\",file=\"libc-start.c\",line=\"254\"}\n(gdb) \n33^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=[]}\n(gdb) \n")
 (send-item "33-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "32-stack-info-frame --thread 1" gdb-frame-handler)
 (recv . "*stopped,reason=\"end-stepping-range\",frame={addr=\"0xb7e91b55\",func=\"__libc_start_main\",args=[{name=\"main\",value=\"0x8048394 <main>\"},{name=\"argc\",value=\"1\"},{name=\"ubp_av\",value=\"0xbffff434\"},{name=\"init\",value=\"0x80483f0 <__libc_csu_init>\"},{name=\"fini\",value=\"0x80483e0 <__libc_csu_fini>\"},{name=\"rtld_fini\",value=\"0xb7ff0980 <_dl_fini>\"},{name=\"stack_end\",value=\"0xbffff42c\"}],file=\"libc-start.c\",line=\"254\"},thread-id=\"1\",stopped-threads=[\"1\"]\n31^done,threads=[{id=\"1\",target-id=\"process 22163\",frame={level=\"0\",addr=\"0xb7e91b55\",func=\"__libc_start_main\",args=[{name=\"main\",value=\"0x8048394 <main>\"},{name=\"argc\",value=\"1\"},{name=\"ubp_av\",value=\"0xbffff434\"},{name=\"init\",value=\"0x80483f0 <__libc_csu_init>\"},{name=\"fini\",value=\"0x80483e0 <__libc_csu_fini>\"},{name=\"rtld_fini\",value=\"0xb7ff0980 <_dl_fini>\"},{name=\"stack_end\",value=\"0xbffff42c\"}],file=\"libc-start.c\",line=\"254\"},state=\"stopped\"}],current-thread-id=\"1\"\n(gdb) \n")
 (send-item "31-thread-info --thread 1"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "^running\n*running,thread-id=\"1\"\n(gdb) \n")
 (mi-send .
	  #("n\n" 0 1
	    (fontified t)))
 (recv . "28^done,threads=[{id=\"1\",target-id=\"process 22163\",frame={level=\"0\",addr=\"0x080483d2\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"9\"},state=\"stopped\"}],current-thread-id=\"1\"\n(gdb) \n29^done,frame={level=\"0\",addr=\"0x080483d2\",func=\"main\",file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"9\"}\n(gdb) \n30^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=[]}\n(gdb) \n")
 (send-item "30-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "29-stack-info-frame --thread 1" gdb-frame-handler)
 (send-item "28-thread-info --thread 1"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "^running\n*running,thread-id=\"1\"\n(gdb) \n*stopped,reason=\"end-stepping-range\",frame={addr=\"0x080483d2\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"9\"},thread-id=\"1\",stopped-threads=[\"1\"]\n")
 (mi-send .
	  #("n\n" 0 1
	    (fontified t)))
 (recv . "25^done,threads=[{id=\"1\",target-id=\"process 22163\",frame={level=\"0\",addr=\"0x080483cf\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"8\"},state=\"stopped\"}],current-thread-id=\"1\"\n(gdb) \n26^done,frame={level=\"0\",addr=\"0x080483cf\",func=\"main\",file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"8\"}\n(gdb) \n27^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=[]}\n(gdb) \n")
 (send-item "27-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "26-stack-info-frame --thread 1" gdb-frame-handler)
 (send-item "25-thread-info --thread 1"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "^running\n*running,thread-id=\"1\"\n(gdb) \n*stopped,reason=\"end-stepping-range\",frame={addr=\"0x080483cf\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"8\"},thread-id=\"1\",stopped-threads=[\"1\"]\n")
 (mi-send .
	  #("n\n" 0 1
	    (fontified t)))
 (recv . "22^done,threads=[{id=\"1\",target-id=\"process 22163\",frame={level=\"0\",addr=\"0x080483c1\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"6\"},state=\"stopped\"}],current-thread-id=\"1\"\n(gdb) \n23^done,frame={level=\"0\",addr=\"0x080483c1\",func=\"main\",file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"6\"}\n(gdb) \n24^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=[]}\n(gdb) \n")
 (send-item "24-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "23-stack-info-frame --thread 1" gdb-frame-handler)
 (send-item "22-thread-info --thread 1"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "^running\n*running,thread-id=\"1\"\n(gdb) \n*stopped,reason=\"end-stepping-range\",frame={addr=\"0x080483c1\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"6\"},thread-id=\"1\",stopped-threads=[\"1\"]\n")
 (mi-send .
	  #("n\n" 0 1
	    (fontified t)))
 (recv . "19^done,threads=[{id=\"1\",target-id=\"process 22163\",frame={level=\"0\",addr=\"0x080483b3\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"5\"},state=\"stopped\"}],current-thread-id=\"1\"\n(gdb) \n20^done,frame={level=\"0\",addr=\"0x080483b3\",func=\"main\",file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"5\"}\n(gdb) \n21^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=[]}\n(gdb) \n")
 (send-item "21-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "20-stack-info-frame --thread 1" gdb-frame-handler)
 (send-item "19-thread-info --thread 1"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "^running\n*running,thread-id=\"1\"\n(gdb) \n*stopped,reason=\"end-stepping-range\",frame={addr=\"0x080483b3\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"5\"},thread-id=\"1\",stopped-threads=[\"1\"]\n")
 (mi-send .
	  #("n\n" 0 1
	    (fontified t)))
 (recv . "16^done,threads=[{id=\"1\",target-id=\"process 22163\",frame={level=\"0\",addr=\"0x080483ac\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"3\"},state=\"stopped\"}],current-thread-id=\"1\"\n(gdb) \n17^done,frame={level=\"0\",addr=\"0x080483ac\",func=\"main\",file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"3\"}\n(gdb) \n18^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=[]}\n(gdb) \n")
 (send-item "18-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "17-stack-info-frame --thread 1" gdb-frame-handler)
 (send-item "16-thread-info --thread 1"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "^running\n*running,thread-id=\"1\"\n(gdb) \n*stopped,reason=\"end-stepping-range\",frame={addr=\"0x080483ac\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"3\"},thread-id=\"1\",stopped-threads=[\"1\"]\n")
 (mi-send .
	  #("n\n" 0 1
	    (fontified t)))
 (recv . "13^done,register-names=[\"eax\",\"ecx\",\"edx\",\"ebx\",\"esp\",\"ebp\",\"esi\",\"edi\",\"eip\",\"eflags\",\"cs\",\"ss\",\"ds\",\"es\",\"fs\",\"gs\",\"st0\",\"st1\",\"st2\",\"st3\",\"st4\",\"st5\",\"st6\",\"st7\",\"fctrl\",\"fstat\",\"ftag\",\"fiseg\",\"fioff\",\"foseg\",\"fooff\",\"fop\",\"xmm0\",\"xmm1\",\"xmm2\",\"xmm3\",\"xmm4\",\"xmm5\",\"xmm6\",\"xmm7\",\"mxcsr\",\"orig_eax\",\"mm0\",\"mm1\",\"mm2\",\"mm3\",\"mm4\",\"mm5\",\"mm6\",\"mm7\"]\n(gdb) \n14^done,frame={level=\"0\",addr=\"0x080483a5\",func=\"main\",file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"2\"}\n(gdb) \n15^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=[]}\n(gdb) \n")
 (recv . "12^done,threads=[{id=\"1\",target-id=\"process 22163\",frame={level=\"0\",addr=\"0x080483a5\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"2\"},state=\"stopped\"}],current-thread-id=\"1\"\n(gdb) \n")
 (send-item "15-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "14-stack-info-frame --thread 1" gdb-frame-handler)
 (send-item "13-data-list-register-names --thread 1" gdb-register-names-handler)
 (recv . "*stopped,reason=\"breakpoint-hit\",disp=\"del\",bkptno=\"1\",frame={addr=\"0x080483a5\",func=\"main\",args=[],file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",line=\"2\"},thread-id=\"1\",stopped-threads=[\"1\"]\n")
 (recv . "(gdb) \n=library-loaded,id=\"/lib/i686/cmov/libc.so.6\",target-name=\"/lib/i686/cmov/libc.so.6\",host-name=\"/lib/i686/cmov/libc.so.6\",symbols-loaded=\"0\"\n")
 (recv . "=library-loaded,id=\"/lib/ld-linux.so.2\",target-name=\"/lib/ld-linux.so.2\",host-name=\"/lib/ld-linux.so.2\",symbols-loaded=\"0\"\n")
 (send-item "12-thread-info"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (recv . "~\"Temporary breakpoint 1 at 0x80483a5: file bar.c, line 2.\\n\"\n~\"Starting program: /usr/local/home/md5i/bar \\n\"\n=thread-group-created,id=\"22163\"\n=thread-created,id=\"1\",group-id=\"22163\"\n^running\n*running,thread-id=\"all\"\n")
 (mi-send .
	  #("start\n" 0 5
	    (fontified t)))
 (recv . "10^done\n(gdb) \n11^done\n(gdb) \n")
 (send-item "11-enable-pretty-printing" ignore)
 (send-item "10-gdb-set target-async 1" ignore)
 (recv . "~\"done.\\n\"\n(gdb) \n1^done\n(gdb) \n2^done\n(gdb) \n3^done\n(gdb) \n4^done,files=[{file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\"},{file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\"}]\n(gdb) \n5^done,line=\"1\",file=\"bar.c\",fullname=\"/usr/local/home/md5i/bar.c\",macro-info=\"0\"\n(gdb) \n6^done,value=\"(gdb) \"\n(gdb) \n7^error,msg=\"No registers.\"\n(gdb) \n8^done,threads=[]\n(gdb) \n9^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=[]}\n(gdb) \n")
 (recv . "~\"GNU gdb (GDB) 7.0-debian\\n\"\n~\"Copyright (C) 2009 Free Software Foundation, Inc.\\n\"\n~\"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\\n\"\n~\"This is free software: you are free to change and redistribute it.\\n\"\n~\"There is NO WARRANTY, to the extent permitted by law.  Type \\\"show copying\\\"\\n\"\n~\"and \\\"show warranty\\\" for details.\\n\"\n~\"This GDB was configured as \\\"i486-linux-gnu\\\".\\n\"\n~\"For bug reporting instructions, please see:\\n\"\n~\"<http://www.gnu.org/software/gdb/bugs/>...\\n\"\n~\"Reading symbols from /usr/local/home/md5i/bar...\"\n")
 (send-item "9-break-list"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *breakpoints of bar*>
				   (apply 'gdb-breakpoints-list-handler args))))
 (send-item "8-thread-info"
	    (lambda
	      (&rest args)
	      (with-current-buffer #<buffer *threads of bar*>
				   (apply 'gdb-thread-list-handler args))))
 (send-item "7-stack-info-frame" gdb-frame-handler)
 (send-item "6-gdb-show prompt" gdb-get-prompt)
 (send-item "5-file-list-exec-source-file" gdb-get-source-file)
 (send-item "4-file-list-exec-source-files" gdb-get-source-file-list)
 (send-item "3-gdb-set non-stop 1" gdb-non-stop-handler)
 (send-item "2-gdb-set height 0" ignore)
 (send-item "1-inferior-tty-set /dev/pts/14" ignore))
[Message part 7 (text/plain, inline)]
In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.18.3)
 of 2009-11-27 on maru
Windowing system distributor `The X.Org Foundation', version 11.0.10605000
configured using `configure  '--without-toolkit-scroll-bars''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Summary

Minor modes in effect:
  display-time-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  tooltip-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
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
C-n C-n C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f 
C-f M-b M-b M-f C-f M-d C-d C-M-f C-k C-k ) C-n M-b 
M-f <M-backspace> g d b - s e l M-/ M-/ C-e C-M-b C-M-f 
C-n C-a C-k C-k C-x C-s <M-return> <return> C-x 1 C-M-x 
M-x g d b <return> / u s <tab> l o c <tab> M-p M-n 
C-e b i <tab> l i l y p o n d <return> b SPC m a i 
n _ w i <tab> C-_ C-x 4 b <return> C-r ( w i t h - 
c u t r <backspace> r r t <backspace> <backspace> <backspace> 
<backspace> r r e t <backspace> C-s C-s C-s C-s C-s 
C-a C-x C-f g u d <tab> <return> C-s C-s C-s C-s C-s 
C-s C-s C-s C-s C-s C-s C-s C-a C-M-x <M-return> <return> 
C-x o C-e <tab> <return> r u n SPC <return> C-c C-n 
C-c C-n C-c C-n C-c C-n C-c C-n C-c C-s C-c C-n <return> 
<help-echo> <switch-frame> f C-c C-y C-x 1 <escape> 
> C-p C-p C-p C-p C-p C-p M-q C-n C-n C-n <return> 
C-p <return> I t SPC d o e s SPC w o r k . SPC SPC 
I SPC w i l l SPC b e SPC s u b m i t t i n g SPC a 
SPC f o l l o w u p SPC m i s f e a t u r e <M-backspace> 
b u g <M-backspace> m i s f e a t u r e SPC a SPC <backspace> 
s SPC a SPC s e p a r a t e SPC b u g . SPC <backspace> 
C-c C-c M-x r e p o r t <tab> <return>

Recent messages:
Command: -exec-next --thread 1 1
Mark set [2 times]
Auto-saving...done
Sending...
Sending via mail...
nnimap: Updating info for nnimap+localimap:archive.mail...done
Sending...done
Starting new Ispell process [default] ...
Checking spelling of DISAPPEARS...
DISAPPEARS is correct

Load-path shadows:
/usr/local/share/emacs/site-lisp/lilypond-words hides /usr/share/emacs/site-lisp/lilypond-words
/usr/local/share/emacs/site-lisp/lilypond-indent hides /usr/share/emacs/site-lisp/lilypond-indent
/usr/local/share/emacs/site-lisp/lilypond-mode hides /usr/share/emacs/site-lisp/lilypond-mode
/home/md5i/src/elisp/psvn hides /usr/share/emacs/site-lisp/psvn
/usr/local/share/emacs/site-lisp/lilypond-song hides /usr/share/emacs/site-lisp/lilypond-song
/usr/local/share/emacs/site-lisp/lilypond-what-beat hides /usr/share/emacs/site-lisp/lilypond-what-beat
/usr/local/share/emacs/site-lisp/lilypond-font-lock hides /usr/share/emacs/site-lisp/lilypond-font-lock
/usr/local/share/emacs/site-lisp/lilypond-init hides /usr/share/emacs/site-lisp/lilypond-init

Features:
(shadow ispell emacsbug newcomment speedbar sb-image ezimage dframe
gdb-mi warnings bindat json gud dabbrev jka-compr find-func grep
lilypond-mode scheme etags vc-git cc-mode cc-fonts cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs multi-isearch mule-util
vc-dispatcher vc-svn gnus-cite ansi-color flow-fill gnus-async
gnus-bcklg parse-time sort byte-opt bytecomp byte-compile gnus-ml
disp-table gnus-topic nnfolder utf-7 utf7 rfc2104 nnimap nndraft nnmh
bbdb-gnus bbdb-snarf mail-extr bbdb-com nnml gnus-agent gnus-srvr
gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view
smime dig gnus-cache edmacro kmacro gnus-demon nntp nnir gnus-sum
gnus-group gnus-undo nnmail mail-source nnoo gnus-start gnus-spec
gnus-int gnus-range gnus-win gnus gnus-ems server uptimes pp uniquify
descr-text help-mode view tramp-imap epa epg epg-config imap-hash imap
assoc tramp-gw tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds
tramp auth-source format-spec tramp-compat trampver time rng-loc rng-uri
rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util sgml-mode psvn log-edit pcvs-util add-log
diff-mode easy-mmode inf-caml camldebug thingatpt derived shell
caml-types caml-emacs caml-font caml advice help-fns advice-preload
compile imenu message sendmail ecomplete rfc822 mml easymenu mml-sec
password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc
time-date mm-util mail-prsvr gmm-utils wid-edit mailheader canlock sha1
hex-util hashcash mail-utils generic-x debian-el debian-el-loaddefs
dired-x dired-aux dired bbdb-autoloads bbdb timezone ange-ftp regexp-opt
comint ring cl cl-19 tooltip ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode
register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse
jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
loaddefs button minibuffer faces cus-face text-properties overlay md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)

-- 
Michael Welsh Duggan
(md5i <at> md5i.com)

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#5076; Package emacs. (Wed, 02 Dec 2009 07:15:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to nickrob <at> snap.net.nz (Nick Roberts):
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 02 Dec 2009 07:15:05 GMT) Full text and rfc822 format available.

Message #10 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: nickrob <at> snap.net.nz (Nick Roberts)
To: Michael Welsh Duggan <md5i <at> md5i.com>, 5076 <at> debbugs.gnu.org
Cc: emacs-pretest-bug <at> gnu.org
Subject: bug#5076: 23.1.50; gdb weird breakpoint problem
Date: Wed, 2 Dec 2009 20:07:05 +1300
 > Compile the following program using 
 > gcc -g -o bar bar.c
 > 
 > int main() {
 >     int a = 4;
 >     int b = 5;
 > 
 >     int c = a++ * b;
 >     int d = ++a * b;
 > 
 >     return d;
 > }
 > 
 > Start gdb on the resulting progam bar.  An example (modify to suit
 > location):
 >
 > M-x gdb RET C-a C-k gdb -i=mi bar RET

Yes.  I think it will also happen with a more simple program/recipe too.
By default Emacs uses GDB's non-stop mode but I think it has some bugs.
Look at this:

#include <stdio.h>

int main() {
  printf ("Hello World\n");
}


...
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/nickrob/bar...done.
(gdb) set target-async 1
(gdb) set pagination off
(gdb) set non-stop on
(gdb) r
Starting program: /home/nickrob/bar 
Hello World

Program exited with code 014.
(gdb) start
Temporary breakpoint 1 at 0x400514: file bar.c, line 4.
Starting program: /home/nickrob/bar 

Temporary breakpoint 1, main () at bar.c:4
4	  printf ("Hello World\n");
(gdb) n
Hello World
5	}
(gdb) n

Program received signal SIGSEGV, Segmentation fault.
main () at bar.c:5
5	}






-- 
Nick                                           http://users.snap.net.nz/~nickrob



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#5076; Package emacs. (Wed, 02 Dec 2009 07:15:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to nickrob <at> snap.net.nz (Nick Roberts):
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 02 Dec 2009 07:15:07 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#5076; Package emacs. (Wed, 02 Dec 2009 07:35:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Welsh Duggan <md5i <at> md5i.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 02 Dec 2009 07:35:10 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Michael Welsh Duggan <md5i <at> md5i.com>
To: nickrob <at> snap.net.nz (Nick Roberts)
Cc: 5076 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#5076: 23.1.50; gdb weird breakpoint problem
Date: Wed, 02 Dec 2009 02:26:20 -0500
So, should I be reporting a bug to the GDB maintainers, or have you
already done so?

nickrob <at> snap.net.nz (Nick Roberts) writes:

> Yes.  I think it will also happen with a more simple program/recipe too.
> By default Emacs uses GDB's non-stop mode but I think it has some bugs.
> Look at this:
>
> #include <stdio.h>
>
> int main() {
>   printf ("Hello World\n");
> }
>
>
> ...
> This GDB was configured as "x86_64-unknown-linux-gnu".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from /home/nickrob/bar...done.
> (gdb) set target-async 1
> (gdb) set pagination off
> (gdb) set non-stop on
> (gdb) r
> Starting program: /home/nickrob/bar 
> Hello World
>
> Program exited with code 014.
> (gdb) start
> Temporary breakpoint 1 at 0x400514: file bar.c, line 4.
> Starting program: /home/nickrob/bar 
>
> Temporary breakpoint 1, main () at bar.c:4
> 4	  printf ("Hello World\n");
> (gdb) n
> Hello World
> 5	}
> (gdb) n
>
> Program received signal SIGSEGV, Segmentation fault.
> main () at bar.c:5
> 5	}

-- 
Michael Welsh Duggan
(md5i <at> md5i.com)



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#5076; Package emacs. (Wed, 02 Dec 2009 07:35:16 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Welsh Duggan <md5i <at> md5i.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 02 Dec 2009 07:35:16 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#5076; Package emacs. (Sun, 18 Sep 2011 09:48:03 GMT) Full text and rfc822 format available.

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

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: Michael Welsh Duggan <md5i <at> md5i.com>
Cc: Nick Roberts <nickrob <at> snap.net.nz>, 5076 <at> debbugs.gnu.org
Subject: Re: bug#5076: 23.1.50; gdb weird breakpoint problem
Date: Sun, 18 Sep 2011 11:29:53 +0200
Michael Welsh Duggan <md5i <at> md5i.com> writes:

> So, should I be reporting a bug to the GDB maintainers, or have you
> already done so?

This sounds like a GDB bug and not an Emacs bug, in any case?

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#5076; Package emacs. (Sun, 18 Sep 2011 10:29:02 GMT) Full text and rfc822 format available.

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

From: Nick Roberts <nickrob <at> snap.net.nz>
To: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
Cc: Michael Welsh Duggan <md5i <at> md5i.com>, 5076 <at> debbugs.gnu.org
Subject: Re: bug#5076: 23.1.50; gdb weird breakpoint problem
Date: Sun, 18 Sep 2011 22:23:25 +1200
 > This sounds like a GDB bug and not an Emacs bug, in any case?

Yes but it looks like it's been fixed, or at least I can't reporoduce it in
current GDB.

-- 
Nick                                           http://users.snap.net.nz/~nickrob




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#5076; Package emacs. (Sun, 18 Sep 2011 10:37:01 GMT) Full text and rfc822 format available.

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

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: Nick Roberts <nickrob <at> snap.net.nz>
Cc: Michael Welsh Duggan <md5i <at> md5i.com>, 5076 <at> debbugs.gnu.org
Subject: Re: bug#5076: 23.1.50; gdb weird breakpoint problem
Date: Sun, 18 Sep 2011 12:27:58 +0200
Nick Roberts <nickrob <at> snap.net.nz> writes:

> Yes but it looks like it's been fixed, or at least I can't reporoduce it in
> current GDB.

Ok; I'll close the bug report.

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




bug closed, send any further explanations to 5076 <at> debbugs.gnu.org and Michael Welsh Duggan <md5i <at> md5i.com> Request was from Lars Magne Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 18 Sep 2011 10:37: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. (Sun, 16 Oct 2011 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 13 years and 328 days ago.

Previous Next


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