unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#4604: 23.1.50; tramp + remote debugging works no longer
@ 2009-09-30 16:27 Michal
  2009-10-01  3:14 ` Nick Roberts
       [not found] ` <mailman.7818.1254367639.2239.bug-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 3+ messages in thread
From: Michal @ 2009-09-30 16:27 UTC (permalink / raw)
  To: emacs-pretest-bug


Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

I just upgraded from emacs 23.1 (version from web site, not from cvs) to 23.1.50.1.
Then tried to debug some simple program:
M-x gdb: gdb -i=mi /n.10.3.rh73:/tmp/p1

failed as You can see.

Additionaly I just invoked it again, this time with "debug-on-error". This is result:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  string-match("[^-0-9a-zA-Z_./]" nil 0)
  shell-quote-argument(nil)
  tramp-shell-quote-argument(nil)
  mapconcat(tramp-shell-quote-argument (nil) " ")
  tramp-handle-start-file-process("gdb-inferior" #<buffer limbo> nil)
  apply(tramp-handle-start-file-process ("gdb-inferior" #<buffer limbo> nil))
  tramp-sh-file-name-handler(start-file-process "gdb-inferior" #<buffer limbo> nil)
  apply(tramp-sh-file-name-handler start-file-process ("gdb-inferior" #<buffer limbo> nil))
  tramp-file-name-handler(start-file-process "gdb-inferior" #<buffer limbo> nil)
  apply(tramp-file-name-handler start-file-process "gdb-inferior" #<buffer limbo> nil nil)
  start-file-process("gdb-inferior" #<buffer limbo> nil)
  apply(start-file-process "gdb-inferior" #<buffer limbo> nil nil)
  comint-exec-1("gdb-inferior" #<buffer limbo> nil nil)
  comint-exec(#<buffer limbo> "gdb-inferior" nil nil nil)
  make-comint-in-buffer("gdb-inferior" #<buffer limbo> nil)
  gdb-inferior-io-mode()
  gdb-get-buffer-create(gdb-inferior-io)
  gdb-init-1()
  gdb-update()
  gdb("gdb -i=mi /n.10.3.rh73:/tmp/p1")
  call-interactively(gdb t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)

in previous emacs I used to do:
1) visit /n.10.3.rh73:/tmp directory
2) M-x gdb: gdb --annotate=3 ./p1

for emacs 23.1.50.1 I also tried this command, but no success.

Best regards,
Michal

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/local/share/emacs/23.1.50/etc/DEBUG for instructions.


In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.12)
 of 2009-09-29 on localhost.localdomain
Windowing system distributor `The X.Org Foundation', version 11.0.10502000
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: Debugger

Minor modes in effect:
  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
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x C-f C-a C-k / n . 1 0 . 3 . r h 7 3 : / t m 
p / 1 p <backspace> <backspace> p 1 C-a C-k C-y . c 
<tab> <tab> <return> <escape> x g d b <return> <backspace> 
<backspace> C-y <return> <escape> x r e p o r t - e 
m <tab> <return>

Recent messages:
Tramp: Opening connection for n.10.3.rh73 using scp...
Tramp: Waiting 60s for local shell to come up...
Tramp: Sending command `ssh n.10.3.rh73   -q -e none && exit || exit'
Tramp: Waiting for prompts from remote shell
Tramp: Found remote shell prompt on `n.10.3.rh73'
Tramp: Opening connection for n.10.3.rh73 using scp...
Tramp: Waiting 60s for local shell to come up...
Tramp: Sending command `ssh n.10.3.rh73   -q -e none && exit || exit'
Tramp: Waiting for prompts from remote shell
Tramp: Found remote shell prompt on `n.10.3.rh73'
shell-quote-argument: Wrong type argument: stringp, nil

Load-path shadows:
None found.





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

* bug#4604: 23.1.50; tramp + remote debugging works no longer
  2009-09-30 16:27 bug#4604: 23.1.50; tramp + remote debugging works no longer Michal
@ 2009-10-01  3:14 ` Nick Roberts
       [not found] ` <mailman.7818.1254367639.2239.bug-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 3+ messages in thread
From: Nick Roberts @ 2009-10-01  3:14 UTC (permalink / raw)
  To: Michal, 4604; +Cc: emacs-pretest-bug

Remote debugging generally means that the program and the debugger run on
different machines (see the Emacs or GDB manual).  Tramp just allows you debug
programs on remote hosts

 > I just upgraded from emacs 23.1 (version from web site, not from cvs) to 23.1.50.1.
 > Then tried to debug some simple program:
 > M-x gdb: gdb -i=mi /n.10.3.rh73:/tmp/p1
 > 
 > failed as You can see.
 > 
 > Additionaly I just invoked it again, this time with "debug-on-error". This is result:
 > Debugger entered--Lisp error: (wrong-type-argument stringp nil)
 >   string-match("[^-0-9a-zA-Z_./]" nil 0)
 >   shell-quote-argument(nil)
 >   tramp-shell-quote-argument(nil)
 >   mapconcat(tramp-shell-quote-argument (nil) " ")
 >   tramp-handle-start-file-process("gdb-inferior" #<buffer limbo> nil)
 >   apply(tramp-handle-start-file-process ("gdb-inferior" #<buffer limbo> nil))
 >   tramp-sh-file-name-handler(start-file-process "gdb-inferior" #<buffer limbo> nil)
 >   apply(tramp-sh-file-name-handler start-file-process ("gdb-inferior" #<buffer limbo> nil))
 >   tramp-file-name-handler(start-file-process "gdb-inferior" #<buffer limbo> nil)
 >   apply(tramp-file-name-handler start-file-process "gdb-inferior" #<buffer limbo> nil nil)
 >   start-file-process("gdb-inferior" #<buffer limbo> nil)
 >   apply(start-file-process "gdb-inferior" #<buffer limbo> nil nil)
 >   comint-exec-1("gdb-inferior" #<buffer limbo> nil nil)
 >   comint-exec(#<buffer limbo> "gdb-inferior" nil nil nil)
 >   make-comint-in-buffer("gdb-inferior" #<buffer limbo> nil)
 >   gdb-inferior-io-mode()
 >   gdb-get-buffer-create(gdb-inferior-io)

Yes, it appears to be broken now.  Emacs now lets GDB to take control of the
terminal associated with the I/O buffer for it's own child process (the
program being debugged)and always has a separate I/O buffer.  In fact, it
looks like previously GDB in Emacs didn't work with tramp when it had a
separate I/O buffer (gdb-use-separate-io-buffer is t). 

PROGRAM is nil in make-comint-in-buffer (third arg - also see start-process)
which means just create a pty.

 >   gdb-init-1()
 >   gdb-update()
 >   gdb("gdb -i=mi /n.10.3.rh73:/tmp/p1")
 >   call-interactively(gdb t nil)
 >   execute-extended-command(nil)
 >   call-interactively(execute-extended-command nil nil)
 > 
 > in previous emacs I used to do:
 > 1) visit /n.10.3.rh73:/tmp directory
 > 2) M-x gdb: gdb --annotate=3 ./p1
 > 
 > for emacs 23.1.50.1 I also tried this command, but no success.

That must have been in emacs 23.1.  For now, you're better off using that version
with tramp ... or you can always try to write a patch for 23.1.50.  That would be
great!

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





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

* bug#4604: 23.1.50; tramp + remote debugging works no longer
       [not found] ` <mailman.7818.1254367639.2239.bug-gnu-emacs@gnu.org>
@ 2009-10-02 13:46   ` Michael Albinus
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Albinus @ 2009-10-02 13:46 UTC (permalink / raw)
  To: Nick Roberts; +Cc: 4604, Michal

nickrob@snap.net.nz (Nick Roberts) writes:

>  >   start-file-process("gdb-inferior" #<buffer limbo> nil)
>  >   apply(start-file-process "gdb-inferior" #<buffer limbo> nil nil)
>  >   comint-exec-1("gdb-inferior" #<buffer limbo> nil nil)
>  >   comint-exec(#<buffer limbo> "gdb-inferior" nil nil nil)
>  >   make-comint-in-buffer("gdb-inferior" #<buffer limbo> nil)
>  >   gdb-inferior-io-mode()
>  >   gdb-get-buffer-create(gdb-inferior-io)
>
> Yes, it appears to be broken now.  Emacs now lets GDB to take control of the
> terminal associated with the I/O buffer for it's own child process (the
> program being debugged)and always has a separate I/O buffer.  In fact, it
> looks like previously GDB in Emacs didn't work with tramp when it had a
> separate I/O buffer (gdb-use-separate-io-buffer is t). 
>
> PROGRAM is nil in make-comint-in-buffer (third arg - also see start-process)
> which means just create a pty.

Tramp's start-file-process implementation does not support ptys. And I
have no idea how to implement it.

For the time being, I will add a check for PROGRAM, resulting in an
error when it is nil. No solution, of course, but a more precise
indicator.

> That must have been in emacs 23.1.  For now, you're better off using that version
> with tramp ... or you can always try to write a patch for 23.1.50.  That would be
> great!

I would appreciate any patch for this! Or at least proposals how to implement.

Best regards, Michael.





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

end of thread, other threads:[~2009-10-02 13:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-30 16:27 bug#4604: 23.1.50; tramp + remote debugging works no longer Michal
2009-10-01  3:14 ` Nick Roberts
     [not found] ` <mailman.7818.1254367639.2239.bug-gnu-emacs@gnu.org>
2009-10-02 13:46   ` Michael Albinus

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).