Subject: gcl: writing to network sockets does not work
From: "Bernhard R. Link" <[email-masked]>
To: Debian Bug Tracking System <[email-masked]>
Date: Sat, 2 Sep 2006 21:52:11 +0000

Package: gcl
Version: 2.6.7-20
Severity: normal

When doing (with or without GCL_ANSI=t)
gcl -load test.lisp
and then (test) a connection is opened but nothing
is sent over it.

------------------test.lisp-------------------------
(defun test ()
  (let* ((sock (si::socket 9999 :host "localhost")))
    (format *error-output* "stderr=~a~%"      5)
    (format sock "sock=~a~%"      5)
    (force-output sock)
    ))
----------------------------------------------------

the following is a interval of output from strace, supporting netcat
that nothing is sent:

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
connect(3, {sa_family=AF_INET, sin_port=htons(9999), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "stderr=5\n", 9stderr=5
)               = 9
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "NIL", 3NIL)                      = 3
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "\n", 1
)                       = 1
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "\n>", 2
>)                      = 2
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
ioctl(0, TIOCGWINSZ, {ws_row=65, ws_col=80, ws_xpixel=484, ws_ypixel=849}) = 0
ioctl(0, TIOCSWINSZ, {ws_row=65, ws_col=80, ws_xpixel=484, ws_ypixel=849}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
)                       = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGINT, {0xa7d9b770, [], 0}, {0x80842f0, [INT], SA_RESTART|SA_SIGINFO}, 8) = 0
rt_sigaction(SIGTERM, {0xa7d9b770, [], 0}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {0xa7d9b770, [], 0}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGALRM, {0xa7d9b770, [], 0}, {0x80842f0, [ALRM], SA_RESTART|SA_SIGINFO}, 8) = 0
rt_sigaction(SIGALRM, {0x80842f0, [ALRM], SA_RESTART|SA_SIGINFO}, {0xa7d9b770, [], 0}, 8) = 0
rt_sigaction(SIGTSTP, {0xa7d9b770, [], 0}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTTOU, {0xa7d9b770, [], 0}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTTIN, {0xa7d9b770, [], 0}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGWINCH, {0xa7d9b1f0, [], SA_RESTART}, {SIG_DFL}, 8) = 0
write(1, ">", 1>)                        = 1
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(0,

The version from testing gcl_2.6.7-14_i386.deb sends properly.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-686
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15)

Versions of packages gcl depends on:
ii  debconf [debconf-2.0]     1.5.3          Debian configuration management sy
ii  gcc                       4:4.1.1-6      The GNU C compiler
ii  libc6                     2.3.6.ds1-4    GNU C Library: Shared libraries
ii  libgmp3c2                 2:4.2.1+dfsg-4 Multiprecision arithmetic library
ii  libice6                   1:1.0.0-3      X11 Inter-Client Exchange library
ii  libncurses5               5.5-2          Shared libraries for terminal hand
ii  libreadline5              5.1-7          GNU readline and history libraries
ii  libsm6                    1:1.0.1-2      X11 Session Management library
ii  libx11-6                  2:1.0.0-8      X11 client-side library
ii  libxaw7                   1:1.0.2-4      X11 Athena Widget library
ii  libxext6                  1:1.0.1-2      X11 miscellaneous extension librar
ii  libxmu6                   1:1.0.2-2      X11 miscellaneous utility library
ii  libxt6                    1:1.0.2-2      X11 toolkit intrinsics library
ii  tcl8.4                    8.4.12-1.1     Tcl (the Tool Command Language) v8
ii  tk8.4                     8.4.12-1       Tk toolkit for Tcl and X11, v8.4 -

gcl recommends no packages.

-- debconf information:
  gcl/default_gcl_prof:
  gcl/default_gcl_ansi: