guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: debugging guile test failure and segfault.


From: Dan McMahill
Subject: Re: debugging guile test failure and segfault.
Date: Sun, 10 Jun 2007 12:50:14 -0400
User-agent: Mail/News 1.5.0.10 (X11/20070512)

Ludovic Courtès wrote:
Hi,

Dan McMahill <address@hidden> writes:

Backtrace:
In unknown file:
   ?: 0* [primitive-load "test-suite/tests/r4rs.test"]
In test-suite/tests/r4rs.test:
 923: 1*
Exception during displaying of backtrace: system-error

test-suite/tests/r4rs.test:88:45: In procedure ttyname in expression
(write (cons fun args) port):
test-suite/tests/r4rs.test:88:45: No such file or directory
ABORT: (system-error)
guile> (debug)
Frame 9 at test-suite/tests/r4rs.test:88:45
        ERROR: In procedure ttyname:
ERROR: No such file or directory
ABORT: (system-error)
guile>

this doesn't look promising.

Well, it's much better than a segfault.  ;-)

This happens when trying to display a file port allegedly backed by a
TTY file descriptor.  See `fports.c:fport_print' (line 676):

    if (isatty (fdes))
      scm_display (scm_ttyname (exp), port);

What seems to be happening is that `isatty (fdes)' returns true but then
`ttyname (fdes)' fails.

I suspect that the port at hand is `(current-output-port)' or some
such.  On GNU/Linux, we get the following:

  guile> (ttyname (current-output-port))
  "/dev/pts/11"

Can you try this on your OS?

I think it has to do with running inside of a chroot-ed environment. I'll have to try this out with guile-1.8.1, but with 1.6.8, this is what I see on Solaris-2.9/sparc:

chroot:

guile> (ttyname (current-output-port))
standard input:3:1: In procedure ttyname in expression (ttyname (current-output-port)):
standard input:3:1: No such file or directory
ABORT: (system-error)

Type "(backtrace)" to get more information or "(debug)" to enter the debugger.
guile> (version)
"1.6.8"


not chroot:

guile> (ttyname (current-output-port))
"/dev/pts/13"
guile> (version)
"1.6.8"

with 1.8.1 on this system, it works outside the chroot and I need to try in the chroot still.

I'll bet thats whats going on with NetBSD as well. My failed tests are all inside a chroot environment.

-Dan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]