unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GDB does not stop in breakpoint!
@ 2010-01-11  8:23 alin.s
  2010-01-11 10:00 ` alin.s
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: alin.s @ 2010-01-11  8:23 UTC (permalink / raw)
  To: Emacs-devel


I put a breakpoint in Fx_create_frame. When I start emacs using "r" , the
breakpoint is never reached, and the X windows stops responding.

I have to run this command to make it work again: (Gdb stops all Xwindows)

kill -KILL `ps -e | grep gdb | cut -dp  -f1`

Why gdb does not stop ?

On the other hand, I discovered this strange behaviour:


Breakpoint 3, funcall_lambda (fun=137006261, nargs=2, arg_vector=0xbfaf0e14)
at eval.c:3147
3147      int count = SPECPDL_INDEX ();

(gdb) p arg_vector[0]
$406 = 139830890
(gdb) pp arg_vector[0]
cygwin-mount-map-drive-hook-function
(gdb) pp XCAR(arg_vector[0])
34957716
(gdb) pp XCDR(XCAR(arg_vector[0]))
"cygwin-mount-name-hook-function"
(gdb)

Even if arg_vector[0] is not a cons, I can compute car and cdr, and more
than that - they make sense! Why do they make sense?

Here is defined the breakpoint:

3       breakpoint     keep y   0x081fc176 in funcall_lambda at eval.c:3147
        stop only if EQ(XCDR(XCAR(arg_vector[0])),Qx)
        breakpoint already hit 411 times


It stops even if XCDR(XCAR(arg_vector[0])) != 'x

Why ?






-- 
View this message in context: http://old.nabble.com/GDB-does-not-stop-in-breakpoint%21-tp27107078p27107078.html
Sent from the Emacs - Dev mailing list archive at Nabble.com.





^ permalink raw reply	[flat|nested] 17+ messages in thread
* Re: GDB does not stop in breakpoint!
@ 2010-01-14  8:36 A. Soare
  0 siblings, 0 replies; 17+ messages in thread
From: A. Soare @ 2010-01-14  8:36 UTC (permalink / raw)
  To: rms; +Cc: Emacs   Dev  [emacs-devel]



>     3       breakpoint     keep y   0x081fc176 in funcall_lambda at eval.c:3147
>         stop only if EQ(XCDR(XCAR(arg_vector[0])),Qx)
>         breakpoint already hit 411 times
> 
> 
>     It stops even if XCDR(XCAR(arg_vector[0])) != 'x
> 
> I did not know it was possible to use C macros in GDB.
> But if that does work now, I do not see why this condition would fail
> to work correctly.

The protocol of communication between the debugger and the executable is dwarf for C language. When one create the executable, it must be created following this protocol for gdb to be able to debug.

There is a flag to gcc to add options such that  gdb can render macros. 

> 
> But it is clear that that fails to verify whether arg_vector[0]
> is a cons cell.  So it will sometimes match objects that are the
> wrong type.
> 
> Therefore, it is certain that this
> 
>     cond 3 (CONSP(arg_vector[0]) && CONSP(XCAR(arg_vector[0])) &&
>     EQ(XCAR(XCAR(arg_vector[0])),Qx))
> 

yes, i am required to check.




____________________________________________________

Vous n’avez pas encore adressé vos voeux ? Retrouvez nos cartes sur http://carte-de-voeux.voila.fr 







^ permalink raw reply	[flat|nested] 17+ messages in thread
* Re: GDB does not stop in breakpoint!
@ 2010-01-14  8:49 A. Soare
  2010-01-14 13:30 ` tomas
  0 siblings, 1 reply; 17+ messages in thread
From: A. Soare @ 2010-01-14  8:49 UTC (permalink / raw)
  To: rms; +Cc: Emacs   Dev  [emacs-devel]


>     I put a breakpoint in Fx_create_frame. When I start emacs using "r" , the
>     breakpoint is never reached, and the X windows stops responding.
> 
> There are times, when the screen is grabbed, that stopping the program
> would cause X not to respond.  If you have put the breakpoint at a
> line which is in the middle of a grab, that would explain this.
> 

What means that the screen to be grabbed? How does this happen?


> Most of the code inside Fx_create_frame is NOT in the middle of a
> grab, and this problem should not happen in those places.
> 
> Can you connect from another machine with ssh and run gdb from
> the other machine?
> 
> 


I have a macintosh on my table, and I connect on linux, but there is no use ... over ssh the code will be the code for console, that works well. If I set the DISPLAY var:

Emacs checks at startup whether DISPLAY variable is set, and here is the result.


(gdb) set height 10000
(gdb) show environment 
TERM=xterm-color
SHELL=/bin/bash
XDG_SESSION_COOKIE=28814368defdc69e6f7455fa4b4dfcdd-1263458361.341927-1471763996
SSH_CLIENT=192.168.2.124 50118 22
SSH_TTY=/dev/pts/7
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD=/emacs/src
LANG=en_US.UTF-8
SPEECHD_PORT=6560
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=192.168.2.124 50118 192.168.2.64 22
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/gdb
OLDPWD=/emacs
LINES=24
COLUMNS=80
(gdb) set environment DISPLAY=:0
(gdb) set environment DISPLAY=:0.0
(gdb) r -Q
Starting program: /emacs/src/emacs -Q
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x080f314f in check_x_display_info (object=138336946) at xfns.c:289
289	      dpyinfo = FRAME_X_DISPLAY_INFO (f);
(gdb) 




____________________________________________________

Vous n’avez pas encore adressé vos voeux ? Retrouvez nos cartes sur http://carte-de-voeux.voila.fr 







^ permalink raw reply	[flat|nested] 17+ messages in thread
* Re: GDB does not stop in breakpoint!
@ 2010-01-18  8:01 A. Soare
  0 siblings, 0 replies; 17+ messages in thread
From: A. Soare @ 2010-01-18  8:01 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Emacs   Dev  [emacs-devel]


> "alin.s" <alinsoar@voila.fr> writes:
> 
> > 1. breakpoint in Fx_create_frame
> > 2. run emacs and block X-windows.
> > 3. from a console kill gdb
> > 4. when I return in X, emacs is running , and gdb that started it is dead.
> 
> What do you mean by "block X-windows"?

No running application does not answer (redisplay). The bug reproduces on GNU linux, debian and ubuntu, latest stable versions.

However, notice in the log that gdb stopped in the breakpoint, but X-windows did not refresh the screen.

(before Killed, you can see the prompt of gdb after the br.p.)

I cannot understand this behavior of X server. Please clarify me if you can.







____________________________________________________

Vous n’avez pas encore adressé vos voeux ? Retrouvez nos cartes sur http://carte-de-voeux.voila.fr 







^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2010-01-18  8:01 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-11  8:23 GDB does not stop in breakpoint! alin.s
2010-01-11 10:00 ` alin.s
2010-01-11 10:24   ` alin.s
2010-01-11 10:52     ` alin.s
2010-01-11 11:41     ` Jan Djärv
2010-01-11 11:59       ` alin.s
2010-01-12 10:03     ` Richard Stallman
2010-01-12 10:03   ` Richard Stallman
2010-01-12 18:49     ` Tom Tromey
2010-01-12 10:03 ` Richard Stallman
2010-01-17 17:36   ` alin.s
2010-01-17 18:47     ` Chong Yidong
2010-01-12 10:03 ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2010-01-14  8:36 A. Soare
2010-01-14  8:49 A. Soare
2010-01-14 13:30 ` tomas
2010-01-18  8:01 A. Soare

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).