Re: What are port requirements for remote lisp?

Mirko Vukovic <[email protected]> Sat, 18 Apr 2020 19:50:26 -0400
Newsgroups gmane.lisp.slime.devel
Message-ID <CAO73BAD-Xq0CJhx40dOAP-7T3DDy=6QwXDacW9VT_M2h5ySW4w@mail.gmail.com>
--000000000000a613e005a399567a
Content-Type: text/plain; charset="UTF-8"

On Fri, Apr 3, 2020 at 1:37 PM Martin Simmons <[email protected]> wrote:

> >>>>> On Thu, 2 Apr 2020 14:16:55 -0400, Mirko Vukovic said:
> >
> > On Thu, Apr 2, 2020 at 9:09 AM Martin Simmons <[email protected]>
> wrote:
> >
> > > >>>>> On Thu, 2 Apr 2020 08:33:42 -0400, Mirko Vukovic said:
> > > >
> > > > On Thu, Apr 2, 2020 at 7:55 AM Martin Simmons <[email protected]>
> > > wrote:
> > > >
> > > > > >>>>> On Wed, 1 Apr 2020 08:59:30 -0400, Mirko Vukovic said:
> > > > > >
> > > > > > On Tue, Mar 31, 2020 at 11:51 AM Martin Simmons <
> > > [email protected]>
> > > > > > wrote:
> > > > > >
> > > > > > > >>>>> On Mon, 30 Mar 2020 21:16:00 -0400, Mirko Vukovic said:
> > > > > > > >
> > > > > > > > Hello,
> > > > > > > >
> > > > > > > > My setup is Sly on Spacemacs with Windows 10 running remote
> lisp
> > > on
> > > > > Linux
> > > > > > > > over a corporate network. I have not found a Sly mailing
> list,
> > > and I
> > > > > > > hope I
> > > > > > > > can get an answer here.
> > > > > > > >
> > > > > > > > Emacs is running Sly on Spacemacs on Windows 10. Lisp is
> running
> > > on a
> > > > > > > Linux
> > > > > > > > server. But Sly does not connect to the listening Lisp.
> Corporate
> > > > > network
> > > > > > > > security policies have changed. I can ask for IT to
> accommodate
> > > me,
> > > > > but
> > > > > > > > first I need to know what to ask for.
> > > > > > > >
> > > > > > > > So far, I have opened a tunnel, and started a listening lisp
> > > (details
> > > > > > > > below).
> > > > > > > >
> > > > > > > > In Emacs I get:
> > > > > > > >
> > > > > > > > sly-connect RET RET RET
> > > > > > > > [sly] Connecting to Slynk on port 4005..
> > > > > > > > helm-M-x-execute-command: make client process failed:
> Connection
> > > > > timed
> > > > > > > out,
> > > > > > > > :name, sly-9, :buffer, nil, :host, hal9000, :service, 4005,
> > > :nowait,
> > > > > nil,
> > > > > > > > :tls-parameters, nil
> > > > > > > >
> > > > > > > > The session transcript:
> > > > > > > > > ssh -L4005:localhost:4005 mirko@hal9000
> > > > > > > >
> > > > > > > > [mirko@hal9000 .roswell]$ ros -L ccl-bin run --load
> > > > > > > start-slynk-server.lisp
> > > > > > > >
> > > > > > > >  Added SLYNK path to ASDF:*CENTRAL-REGISTRY*
> > > > > > > > SLYNK's ASDF loader finished.
> > > > > > > >  Loaded ASDF system
> > > > > > > > ;; Slynk started at port: 4005.
> > > > > > > >
> > > > > > > >  Created SLYNK server on port 4005
> > > > > > > >  Set *USE-DEDICATED-OUTPUT-STREAM* to NIL
> > > > > > > > Clozure Common Lisp Version 1.11.5/v1.11.5  (LinuxX8664)
> > > > > > > >
> > > > > > > > For more information about CCL, please see
> > > http://ccl.clozure.com.
> > > > > > > >
> > > > > > > > CCL is free software.  It is distributed under the terms of
> the
> > > > > Apache
> > > > > > > > Licence, Version 2.0.
> > > > > > > > ?
> > > > > > > >
> > > > > > > > My question is as follows:
> > > > > > > >
> > > > > > > >    1. Do I need bi-directional traffic on 4005?
> > > > > > >
> > > > > > > Assuming you are using the ssh tunnel above, then you don't
> need
> > > port
> > > > > 4005
> > > > > > > traffic on the LAN (it is all hidden in the tunnel).
> > > > > > >
> > > > > > > The most likely problem is that some firewall on the Windows
> > > machine is
> > > > > > > blocking port 4005.  You may need to configure that firewall to
> > > allow
> > > > > ssh
> > > > > > > to
> > > > > > > listen on localhost:4005 and/or to accept connections to it
> from
> > > > > Spacemacs.
> > > > > > > In theory you might have similar localhost firewall issues on
> > > hal9000,
> > > > > but
> > > > > > > that is less likely.
> > > > > > >
> > > > > > >
> > > > > > > >    2. Do I need bi-directional traffic on 22? (after recent
> > > changes I
> > > > > > > >    cannot ssh or scp into my Windows machine)
> > > > > > >
> > > > > > > I'm assuming that you ran the ssh command on the Windows 10
> machine
> > > > > and it
> > > > > > > gave you a working login to hal9000.  If so, then it looks
> like you
> > > > > already
> > > > > > > have what you need for port 22.
> > > > > > >
> > > > > >
> > > > > > Yes, I can log in to hal9000 with the -L switch:
> > > > > >
> > > > > > > ssh -L4005:localhost:4005 mirko@hal9000
> > > > > > Last login: Thu Mar 19 14:33:17 2020 from 172.27.236.189
> > > > > > [mirko@hal9000 ~]$
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > Note that bi-directional traffic on a connected socket is
> different
> > > > > from
> > > > > > > whether you can make a connection in both directions.
> > > > > > >
> > > > > > >
> > > > > > > >    3. What tools can I use to try to narrow down the cause
> of the
> > > > > > > problem?
> > > > > > > >    For instance, can I send a command to the lisp image, and
> see
> > > its
> > > > > > > effects
> > > > > > > >    on the lisp side?
> > > > > > >
> > > > > > > Firstly, run "netstat -antp" on hal9000 to see if Lisp is
> > > listening on
> > > > > port
> > > > > > > 4005.
> > > > > > >
> > > > > >
> > > > > > It looks that ccl-bin is listening:
> > > > > > $ sudo netstat -antp | grep :4005
> > > > > > tcp        0      0 127.0.0.1:4005          0.0.0.0:*
> > > > >  LISTEN
> > > > > >      104461/lx86cl64
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > Secondly, run "netstat -anop tcp" on the Windows 10 machine to
> see
> > > if
> > > > > ssh
> > > > > > > is
> > > > > > > listening on port 4005.
> > > > > > >
> > > > > > >
> > > > > > I have Msys2's netstat. On the laptop:
> > > > > > > which netstat
> > > > > > /c/WINDOWS/system32/netstat
> > > > > > /c/Users/mirko/Downloads
> > > > > > > netstat -anop tcp | grep :4005
> > > > > >   TCP    127.0.0.1:4005         0.0.0.0:0              LISTENING
> > > > >  12052
> > > > >
> > > > > Yes, both netstat outputs look good at that point.
> > > > >
> > > > >
> > > > > > > Thirdly, run "ssh -p 4005 localhost" on the Windows 10 machine.
> > > This
> > > > > use a
> > > > > > > ssh is very bogus, but it should at least give an error message
> > > with
> > > > > some
> > > > > > > diagnostics.  (Normally I would use telnet for this, but it is
> not
> > > > > > > installed
> > > > > > > on Windows 10 by default.)
> > > > > > >
> > > > > >
> > > > > > Outputs of both ssh and telnet on the laptop:
> > > > > > > which telnet
> > > > > > /usr/bin/telnet
> > > > > > /c/Users/mirko/Downloads
> > > > > > > telnet localhost 4005
> > > > > > Trying ::1...
> > > > > > Connected to localhost.
> > > > > > Escape character is '^]'.
> > > > > > Connection closed by foreign host.
> > > > >
> > > > > OK, so it is connected to the Windows side at least.
> > > > >
> > > > > Check that the Slynk server was created with :dont-close t (or set
> > > > > slynk:*dont-close* to t before creating it).  If dont-close is
> nil, it
> > > will
> > > > > only accept one connection, which makes debugging difficult.
> > > > >
> > > > > Then restart the log in to hal9000 with -v option to ssh to make it
> > > print
> > > > > debug
> > > > > information:
> > > > >
> > > > > ssh -v -L4005:localhost:4005 mirko@hal9000
> > > > >
> > > > > and try the telnet again to see what is happening at the Linux end.
> > > > >
> > > > > __Martin
> > > > >
> > > > Here is the test log. Telnet and ssh debug are at the bottom.
> > > > 1 Start slynk with :dont-close t
> > > >
> > > > Modified startup script:
> > > >
> > > > (let ((port 4005))
> > > >     (slynk:create-server :port port :dont-close t)
> > > >     (format t "~% Created SLYNK server on port ~a" port))
> > > > (setf slynk:*use-dedicated-output-stream* nil)
> > > >
> > > > 2 Started tunnel with verbose option, -v switch
> > > >
> > > > $ ssh -v -L4005:hal9000:4005 mirko@hal9000
> > > >
> > > > 3 Telnet on laptop side to laptop port 4005
> > > >
> > > > @laptop> telnet localhost 4005
> > > > Trying ::1...
> > > > Connected to localhost.
> > > > Escape character is '^]'.
> > > > Connection closed by foreign host.
> > > >
> > > > 4 SSH debug output
> > > >
> > > > @hal9000> debug1: Connection to port 4005 forwarding to hal9000 port
> > > > 4005 requested.
> > > > debug1: channel 3: new [direct-tcpip]
> > > > channel 3: open failed: connect failed: Connection refused
> > > > debug1: channel 3: free: direct-tcpip: listening port 4005 for
> hal9000
> > > > port 4005, connect from ::1 port 64100 to ::1 port 4005, nchannels 4
> > >
> > > It looks like hal9000 is resolving to the IPv6 localhost address ::1 on
> > > hal9000, but the Lisp is probably only listening on IPv4.
> > >
> > > Try restarting the tunnel with -L4005:127.0.0.1:4005 to force IPv4.
> > >
> > > __Martin
> > >
> >
> > I restarted tunnel with IPv4: Now when I type something in the telnet
> > session, I get Lisp to respond (with debugger in this case). Sly is still
> > not connecting - maybe I need to restart emacs.
> >
> > Log:
> > 1 Start slynk with :dont-close t as before
> > 2 Start tunnel with verbose option, -v switch and IPv4
> >
> > $ ssh -v -L4005:127.0.0.1:4005 977315@hal9000
> >
> > 3 Telnet on laptop side to laptop port 4005
> >
> > @laptop> telnet localhost 4005
> > Trying ::1...
> > Connected to localhost.
> > Escape character is '^]'.
> >
> > 3.1 SSH debug output to telnet start
> >
> > debug1: Connection to port 4005 forwarding to 127.0.0.1 port 4005
> requested.
> > debug1: channel 3: new [direct-tcpip]
> >
> > 4 Send command via telnet session
> >
> > Using telnet session send command:
> >
> > *features*
> > Connection closed by foreign host.
> >
> > 4.1 Results in an error in lisp due to syntax error
> >
> > ;; slynk:close-connection: Not an integer string: "*featu"
> > ;; closing 0 channels
> > ;; closing 0 listeners
> > ;; Event history start:
> > decode-message
> > close-connection: Not an integer string:
> "\x00FF\x00F4\x00FF\x00FD\x00FF" ...
> > close-connection Not an integer string:
> > "\x00FF\x00F4\x00FF\x00FD\x00FF" ... done.
>
> This \x00FF\x00F4\x00FF\x00FD\x00FF string is unexpected to me.  Did that
> happen when you tried to connect from emacs?  Restarting emacs is probably
> a
> good idea to rule out any issue with its state.
>
>
> > decode-message
> > close-connection: Not an integer string: "*featu" ...
> > ;; Event history end.
> > ;; Backtrace:
> > 0: (NIL #<Unknown Arguments>)
> > 1: (NIL #<Unknown Arguments>)
> > 2: (SLYNK-BACKEND:CALL-WITH-DEBUGGING-ENVIRONMENT #<Compiled-function
> > (:INTERNAL SLYNK::SAFE-BACKTRACE) (Non-Global)  #x302000A0BFFF>)
> > 3: (SLYNK::SAFE-BACKTRACE)
> > 4: (SLYNK::SIGNAL-SLYNK-ERROR #<CCL::PARSE-INTEGER-NOT-INTEGER-STRING
> > #x302000C1F32D> NIL)
> > 5: (SIGNAL #<CCL::PARSE-INTEGER-NOT-INTEGER-STRING #x302000C1F32D>)
> > 6: (CCL::%ERROR #<CCL::PARSE-INTEGER-NOT-INTEGER-STRING
> > #x302000C1F32D> (:STRING "*featu") 5975725205395)
> > 7: (PARSE-INTEGER "*featu" :START 0 :END 6 :RADIX 16 :JUNK-ALLOWED NIL)
> > 8: (SLYNK-RPC:READ-PACKET #<BASIC-TCP-STREAM ISO-8859-1 (SOCKET/4)
> > #x302000BDFD9D>)
> > 9: (SLYNK-RPC:READ-MESSAGE #<BASIC-TCP-STREAM ISO-8859-1 (SOCKET/4)
> > #x302000BDFD9D> #<Package "SLYNK-IO-PACKAGE">)
> > 10: (SLYNK::DECODE-MESSAGE #<BASIC-TCP-STREAM ISO-8859-1 (SOCKET/4)
> > #x302000BDFD9D>)
> > 11: (SLYNK::READ-LOOP #<MULTITHREADED-CONNECTION #x302000BDEFCD>)
> > 12: (CCL::RUN-PROCESS-INITIAL-FORM #<PROCESS reader-thread(9) [Active]
> > #x302000BFEFBD> (#<COMPILED-LEXICAL-CLOSURE (:INTERNAL
> > CCL::%PROCESS-RUN-FUNCTION) #x302000BFED2F>))
> > 13: ((:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL (PROCESS))) #<PROCESS
> > reader-thread(9) [Active] #x302000BFEFBD> (#<COMPILED-LEXICAL-CLOSURE
> > (:INTERNAL CCL::%PROCESS-RUN-FUNCTION) #x302000BFED2F>))
> > 14: ((:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION))
> > ;; Connection to Emacs lost. [
> > ;;  condition: Not an integer string: "*featu"
> > ;;  type: CCL::PARSE-INTEGER-NOT-INTEGER-STRING
> > ;;  style: :SPAWN]
>
> This is working as expected -- the slynk/swank server is not a REPL so you
> can't just send *features* to it.
>
> __Martin
>

Apologies for the long silence on this topic - I had other pressing matters
to deal with. I still cannot connect to the swank server from Emacs.

To summarize: Based on my tests (which are detailed below), I can connect
to the swank server as tested via telnet. But emacs is still failing to
connect to swank. I did some debugging and identified that
make-network-process is timing out.

I will start another thread on the topic of figuring out why
make-network-process is timing out.

Martin, many thanks for helping me out so far.

Here is my test procedure:

1 Establish tunnel

> ssh -v -L4005:127.0.0.1:4005 mirko@hal9000

2 Start Swank server

[mirko@laptop] > ssh mirko@hal9000
[mirko@hal9000 .roswell]$ ros -L ccl-bin run --load start-slynk-server.lisp

 Added SLYNK path to ASDF:*CENTRAL-REGISTRY*
SLYNK's ASDF loader finished.
 Loaded ASDF system
;; Slynk started at port: 4005.

 Created SLYNK server on port 4005
 Set *USE-DEDICATED-OUTPUT-STREAM* to NIL
Clozure Common Lisp Version 1.11.5/v1.11.5  (LinuxX8664)

For more information about CCL, please see http://ccl.clozure.com.

CCL is free software.  It is distributed under the terms of the Apache
Licence, Version 2.0.
?

3 Test laptop is listening on port 4005 with Telnet

> telnet localhost 4005
Trying ::1...
Connected to localhost.
Escape character is '^]'.

4 Test tunnel to lisp

Typing stuff into telnet session

"foo"
Connection closed by foreign host.

makes CCL react. In this case it drops into debugger because of invalid
input (I do not know what is valid input):

?
"; slynk:close-connection: Not an integer string: "\"foo\"
;; closing 0 channels
;; closing 0 listeners
;; Event history start:
...


*5 Try slime-connect*
slime-connect times out

Created: 2020-04-18 Sat 19:41

--000000000000a613e005a399567a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"></div><br><div class=3D"gmail_quote"><div=
 dir=3D"ltr" class=3D"gmail_attr">On Fri, Apr 3, 2020 at 1:37 PM Martin Sim=
mons &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&g=
t; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p=
x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt;&g=
t;&gt;&gt;&gt; On Thu, 2 Apr 2020 14:16:55 -0400, Mirko Vukovic said:<br>
&gt; <br>
&gt; On Thu, Apr 2, 2020 at 9:09 AM Martin Simmons &lt;<a href=3D"mailto:ma=
[email protected]" target=3D"_blank">[email protected]</a>&gt; wrote:<b=
r>
&gt; <br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; On Thu, 2 Apr 2020 08:33:42 -0400, Mirko Vuk=
ovic said:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Thu, Apr 2, 2020 at 7:55 AM Martin Simmons &lt;<a href=3D=
"mailto:[email protected]" target=3D"_blank">[email protected]</a>&gt=
;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt;&gt;&gt; On Wed, 1 Apr 2020 08:59:30 -0400,=
 Mirko Vukovic said:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On Tue, Mar 31, 2020 at 11:51 AM Martin Simmons &l=
t;<br>
&gt; &gt; <a href=3D"mailto:[email protected]" target=3D"_blank">martin@=
lispworks.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;&gt;&gt;&gt;&gt; On Mon, 30 Mar 2020 21:1=
6:00 -0400, Mirko Vukovic said:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Hello,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; My setup is Sly on Spacemacs with Window=
s 10 running remote lisp<br>
&gt; &gt; on<br>
&gt; &gt; &gt; &gt; Linux<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; over a corporate network. I have not fou=
nd a Sly mailing list,<br>
&gt; &gt; and I<br>
&gt; &gt; &gt; &gt; &gt; &gt; hope I<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; can get an answer here.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Emacs is running Sly on Spacemacs on Win=
dows 10. Lisp is running<br>
&gt; &gt; on a<br>
&gt; &gt; &gt; &gt; &gt; &gt; Linux<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; server. But Sly does not connect to the =
listening Lisp. Corporate<br>
&gt; &gt; &gt; &gt; network<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; security policies have changed. I can as=
k for IT to accommodate<br>
&gt; &gt; me,<br>
&gt; &gt; &gt; &gt; but<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; first I need to know what to ask for.<br=
>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; So far, I have opened a tunnel, and star=
ted a listening lisp<br>
&gt; &gt; (details<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; below).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; In Emacs I get:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; sly-connect RET RET RET<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; [sly] Connecting to Slynk on port 4005..=
<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; helm-M-x-execute-command: make client pr=
ocess failed: Connection<br>
&gt; &gt; &gt; &gt; timed<br>
&gt; &gt; &gt; &gt; &gt; &gt; out,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :name, sly-9, :buffer, nil, :host, hal90=
00, :service, 4005,<br>
&gt; &gt; :nowait,<br>
&gt; &gt; &gt; &gt; nil,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :tls-parameters, nil<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; The session transcript:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; ssh -L4005:localhost:4005 mirko@hal=
9000<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; [mirko@hal9000 .roswell]$ ros -L ccl-bin=
 run --load<br>
&gt; &gt; &gt; &gt; &gt; &gt; start-slynk-server.lisp<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 Added SLYNK path to ASDF:*CENTRAL-=
REGISTRY*<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; SLYNK&#39;s ASDF loader finished.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 Loaded ASDF system<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; ;; Slynk started at port: 4005.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 Created SLYNK server on port 4005<=
br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 Set *USE-DEDICATED-OUTPUT-STREAM* =
to NIL<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Clozure Common Lisp Version 1.11.5/v1.11=
.5=C2=A0 (LinuxX8664)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; For more information about CCL, please s=
ee<br>
&gt; &gt; <a href=3D"http://ccl.clozure.com" rel=3D"noreferrer" target=3D"_=
blank">http://ccl.clozure.com</a>.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; CCL is free software.=C2=A0 It is distri=
buted under the terms of the<br>
&gt; &gt; &gt; &gt; Apache<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Licence, Version 2.0.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; ?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; My question is as follows:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 1. Do I need bi-directional=
 traffic on 4005?<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Assuming you are using the ssh tunnel above, =
then you don&#39;t need<br>
&gt; &gt; port<br>
&gt; &gt; &gt; &gt; 4005<br>
&gt; &gt; &gt; &gt; &gt; &gt; traffic on the LAN (it is all hidden in the t=
unnel).<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; The most likely problem is that some firewall=
 on the Windows<br>
&gt; &gt; machine is<br>
&gt; &gt; &gt; &gt; &gt; &gt; blocking port 4005.=C2=A0 You may need to con=
figure that firewall to<br>
&gt; &gt; allow<br>
&gt; &gt; &gt; &gt; ssh<br>
&gt; &gt; &gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; listen on localhost:4005 and/or to accept con=
nections to it from<br>
&gt; &gt; &gt; &gt; Spacemacs.<br>
&gt; &gt; &gt; &gt; &gt; &gt; In theory you might have similar localhost fi=
rewall issues on<br>
&gt; &gt; hal9000,<br>
&gt; &gt; &gt; &gt; but<br>
&gt; &gt; &gt; &gt; &gt; &gt; that is less likely.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 2. Do I need bi-directional=
 traffic on 22? (after recent<br>
&gt; &gt; changes I<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 cannot ssh or scp into my W=
indows machine)<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; I&#39;m assuming that you ran the ssh command=
 on the Windows 10 machine<br>
&gt; &gt; &gt; &gt; and it<br>
&gt; &gt; &gt; &gt; &gt; &gt; gave you a working login to hal9000.=C2=A0 If=
 so, then it looks like you<br>
&gt; &gt; &gt; &gt; already<br>
&gt; &gt; &gt; &gt; &gt; &gt; have what you need for port 22.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Yes, I can log in to hal9000 with the -L switch:<b=
r>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; ssh -L4005:localhost:4005 mirko@hal9000<br>
&gt; &gt; &gt; &gt; &gt; Last login: Thu Mar 19 14:33:17 2020 from 172.27.2=
36.189<br>
&gt; &gt; &gt; &gt; &gt; [mirko@hal9000 ~]$<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Note that bi-directional traffic on a connect=
ed socket is different<br>
&gt; &gt; &gt; &gt; from<br>
&gt; &gt; &gt; &gt; &gt; &gt; whether you can make a connection in both dir=
ections.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 3. What tools can I use to =
try to narrow down the cause of the<br>
&gt; &gt; &gt; &gt; &gt; &gt; problem?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 For instance, can I send a =
command to the lisp image, and see<br>
&gt; &gt; its<br>
&gt; &gt; &gt; &gt; &gt; &gt; effects<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 on the lisp side?<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Firstly, run &quot;netstat -antp&quot; on hal=
9000 to see if Lisp is<br>
&gt; &gt; listening on<br>
&gt; &gt; &gt; &gt; port<br>
&gt; &gt; &gt; &gt; &gt; &gt; 4005.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; It looks that ccl-bin is listening:<br>
&gt; &gt; &gt; &gt; &gt; $ sudo netstat -antp | grep :4005<br>
&gt; &gt; &gt; &gt; &gt; tcp=C2=A0 =C2=A0 =C2=A0 =C2=A0 0=C2=A0 =C2=A0 =C2=
=A0 0 <a href=3D"http://127.0.0.1:4005" rel=3D"noreferrer" target=3D"_blank=
">127.0.0.1:4005</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0.0.0.0:*<br>
&gt; &gt; &gt; &gt;=C2=A0 LISTEN<br>
&gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 104461/lx86cl64<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Secondly, run &quot;netstat -anop tcp&quot; o=
n the Windows 10 machine to see<br>
&gt; &gt; if<br>
&gt; &gt; &gt; &gt; ssh<br>
&gt; &gt; &gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; listening on port 4005.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; I have Msys2&#39;s netstat. On the laptop:<br>
&gt; &gt; &gt; &gt; &gt; &gt; which netstat<br>
&gt; &gt; &gt; &gt; &gt; /c/WINDOWS/system32/netstat<br>
&gt; &gt; &gt; &gt; &gt; /c/Users/mirko/Downloads<br>
&gt; &gt; &gt; &gt; &gt; &gt; netstat -anop tcp | grep :4005<br>
&gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0TCP=C2=A0 =C2=A0 <a href=3D"http://127=
.0.0.1:4005" rel=3D"noreferrer" target=3D"_blank">127.0.0.1:4005</a>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"http://0.0.0.0:0" rel=3D"noreferrer" =
target=3D"_blank">0.0.0.0:0</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 LISTENING<br>
&gt; &gt; &gt; &gt;=C2=A0 12052<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Yes, both netstat outputs look good at that point.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Thirdly, run &quot;ssh -p 4005 localhost&quot=
; on the Windows 10 machine.<br>
&gt; &gt; This<br>
&gt; &gt; &gt; &gt; use a<br>
&gt; &gt; &gt; &gt; &gt; &gt; ssh is very bogus, but it should at least giv=
e an error message<br>
&gt; &gt; with<br>
&gt; &gt; &gt; &gt; some<br>
&gt; &gt; &gt; &gt; &gt; &gt; diagnostics.=C2=A0 (Normally I would use teln=
et for this, but it is not<br>
&gt; &gt; &gt; &gt; &gt; &gt; installed<br>
&gt; &gt; &gt; &gt; &gt; &gt; on Windows 10 by default.)<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Outputs of both ssh and telnet on the laptop:<br>
&gt; &gt; &gt; &gt; &gt; &gt; which telnet<br>
&gt; &gt; &gt; &gt; &gt; /usr/bin/telnet<br>
&gt; &gt; &gt; &gt; &gt; /c/Users/mirko/Downloads<br>
&gt; &gt; &gt; &gt; &gt; &gt; telnet localhost 4005<br>
&gt; &gt; &gt; &gt; &gt; Trying ::1...<br>
&gt; &gt; &gt; &gt; &gt; Connected to localhost.<br>
&gt; &gt; &gt; &gt; &gt; Escape character is &#39;^]&#39;.<br>
&gt; &gt; &gt; &gt; &gt; Connection closed by foreign host.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; OK, so it is connected to the Windows side at least.<br=
>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Check that the Slynk server was created with :dont-clos=
e t (or set<br>
&gt; &gt; &gt; &gt; slynk:*dont-close* to t before creating it).=C2=A0 If d=
ont-close is nil, it<br>
&gt; &gt; will<br>
&gt; &gt; &gt; &gt; only accept one connection, which makes debugging diffi=
cult.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Then restart the log in to hal9000 with -v option to ss=
h to make it<br>
&gt; &gt; print<br>
&gt; &gt; &gt; &gt; debug<br>
&gt; &gt; &gt; &gt; information:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; ssh -v -L4005:localhost:4005 mirko@hal9000<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; and try the telnet again to see what is happening at th=
e Linux end.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; __Martin<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; Here is the test log. Telnet and ssh debug are at the bottom=
.<br>
&gt; &gt; &gt; 1 Start slynk with :dont-close t<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Modified startup script:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; (let ((port 4005))<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0(slynk:create-server :port port :dont-clo=
se t)<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0(format t &quot;~% Created SLYNK server o=
n port ~a&quot; port))<br>
&gt; &gt; &gt; (setf slynk:*use-dedicated-output-stream* nil)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; 2 Started tunnel with verbose option, -v switch<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; $ ssh -v -L4005:hal9000:4005 mirko@hal9000<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; 3 Telnet on laptop side to laptop port 4005<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; @laptop&gt; telnet localhost 4005<br>
&gt; &gt; &gt; Trying ::1...<br>
&gt; &gt; &gt; Connected to localhost.<br>
&gt; &gt; &gt; Escape character is &#39;^]&#39;.<br>
&gt; &gt; &gt; Connection closed by foreign host.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; 4 SSH debug output<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; @hal9000&gt; debug1: Connection to port 4005 forwarding to h=
al9000 port<br>
&gt; &gt; &gt; 4005 requested.<br>
&gt; &gt; &gt; debug1: channel 3: new [direct-tcpip]<br>
&gt; &gt; &gt; channel 3: open failed: connect failed: Connection refused<b=
r>
&gt; &gt; &gt; debug1: channel 3: free: direct-tcpip: listening port 4005 f=
or hal9000<br>
&gt; &gt; &gt; port 4005, connect from ::1 port 64100 to ::1 port 4005, nch=
annels 4<br>
&gt; &gt;<br>
&gt; &gt; It looks like hal9000 is resolving to the IPv6 localhost address =
::1 on<br>
&gt; &gt; hal9000, but the Lisp is probably only listening on IPv4.<br>
&gt; &gt;<br>
&gt; &gt; Try restarting the tunnel with -L4005:<a href=3D"http://127.0.0.1=
:4005" rel=3D"noreferrer" target=3D"_blank">127.0.0.1:4005</a> to force IPv=
4.<br>
&gt; &gt;<br>
&gt; &gt; __Martin<br>
&gt; &gt;<br>
&gt; <br>
&gt; I restarted tunnel with IPv4: Now when I type something in the telnet<=
br>
&gt; session, I get Lisp to respond (with debugger in this case). Sly is st=
ill<br>
&gt; not connecting - maybe I need to restart emacs.<br>
&gt; <br>
&gt; Log:<br>
&gt; 1 Start slynk with :dont-close t as before<br>
&gt; 2 Start tunnel with verbose option, -v switch and IPv4<br>
&gt; <br>
&gt; $ ssh -v -L4005:<a href=3D"http://127.0.0.1:4005" rel=3D"noreferrer" t=
arget=3D"_blank">127.0.0.1:4005</a> 977315@hal9000<br>
&gt; <br>
&gt; 3 Telnet on laptop side to laptop port 4005<br>
&gt; <br>
&gt; @laptop&gt; telnet localhost 4005<br>
&gt; Trying ::1...<br>
&gt; Connected to localhost.<br>
&gt; Escape character is &#39;^]&#39;.<br>
&gt; <br>
&gt; 3.1 SSH debug output to telnet start<br>
&gt; <br>
&gt; debug1: Connection to port 4005 forwarding to 127.0.0.1 port 4005 requ=
ested.<br>
&gt; debug1: channel 3: new [direct-tcpip]<br>
&gt; <br>
&gt; 4 Send command via telnet session<br>
&gt; <br>
&gt; Using telnet session send command:<br>
&gt; <br>
&gt; *features*<br>
&gt; Connection closed by foreign host.<br>
&gt; <br>
&gt; 4.1 Results in an error in lisp due to syntax error<br>
&gt; <br>
&gt; ;; slynk:close-connection: Not an integer string: &quot;*featu&quot;<b=
r>
&gt; ;; closing 0 channels<br>
&gt; ;; closing 0 listeners<br>
&gt; ;; Event history start:<br>
&gt; decode-message<br>
&gt; close-connection: Not an integer string: &quot;\x00FF\x00F4\x00FF\x00F=
D\x00FF&quot; ...<br>
&gt; close-connection Not an integer string:<br>
&gt; &quot;\x00FF\x00F4\x00FF\x00FD\x00FF&quot; ... done.<br>
<br>
This \x00FF\x00F4\x00FF\x00FD\x00FF string is unexpected to me.=C2=A0 Did t=
hat<br>
happen when you tried to connect from emacs?=C2=A0 Restarting emacs is prob=
ably a<br>
good idea to rule out any issue with its state.<br>
<br>
<br>
&gt; decode-message<br>
&gt; close-connection: Not an integer string: &quot;*featu&quot; ...<br>
&gt; ;; Event history end.<br>
&gt; ;; Backtrace:<br>
&gt; 0: (NIL #&lt;Unknown Arguments&gt;)<br>
&gt; 1: (NIL #&lt;Unknown Arguments&gt;)<br>
&gt; 2: (SLYNK-BACKEND:CALL-WITH-DEBUGGING-ENVIRONMENT #&lt;Compiled-functi=
on<br>
&gt; (:INTERNAL SLYNK::SAFE-BACKTRACE) (Non-Global)=C2=A0 #x302000A0BFFF&gt=
;)<br>
&gt; 3: (SLYNK::SAFE-BACKTRACE)<br>
&gt; 4: (SLYNK::SIGNAL-SLYNK-ERROR #&lt;CCL::PARSE-INTEGER-NOT-INTEGER-STRI=
NG<br>
&gt; #x302000C1F32D&gt; NIL)<br>
&gt; 5: (SIGNAL #&lt;CCL::PARSE-INTEGER-NOT-INTEGER-STRING #x302000C1F32D&g=
t;)<br>
&gt; 6: (CCL::%ERROR #&lt;CCL::PARSE-INTEGER-NOT-INTEGER-STRING<br>
&gt; #x302000C1F32D&gt; (:STRING &quot;*featu&quot;) 5975725205395)<br>
&gt; 7: (PARSE-INTEGER &quot;*featu&quot; :START 0 :END 6 :RADIX 16 :JUNK-A=
LLOWED NIL)<br>
&gt; 8: (SLYNK-RPC:READ-PACKET #&lt;BASIC-TCP-STREAM ISO-8859-1 (SOCKET/4)<=
br>
&gt; #x302000BDFD9D&gt;)<br>
&gt; 9: (SLYNK-RPC:READ-MESSAGE #&lt;BASIC-TCP-STREAM ISO-8859-1 (SOCKET/4)=
<br>
&gt; #x302000BDFD9D&gt; #&lt;Package &quot;SLYNK-IO-PACKAGE&quot;&gt;)<br>
&gt; 10: (SLYNK::DECODE-MESSAGE #&lt;BASIC-TCP-STREAM ISO-8859-1 (SOCKET/4)=
<br>
&gt; #x302000BDFD9D&gt;)<br>
&gt; 11: (SLYNK::READ-LOOP #&lt;MULTITHREADED-CONNECTION #x302000BDEFCD&gt;=
)<br>
&gt; 12: (CCL::RUN-PROCESS-INITIAL-FORM #&lt;PROCESS reader-thread(9) [Acti=
ve]<br>
&gt; #x302000BFEFBD&gt; (#&lt;COMPILED-LEXICAL-CLOSURE (:INTERNAL<br>
&gt; CCL::%PROCESS-RUN-FUNCTION) #x302000BFED2F&gt;))<br>
&gt; 13: ((:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL (PROCESS))) #&lt;PROCES=
S<br>
&gt; reader-thread(9) [Active] #x302000BFEFBD&gt; (#&lt;COMPILED-LEXICAL-CL=
OSURE<br>
&gt; (:INTERNAL CCL::%PROCESS-RUN-FUNCTION) #x302000BFED2F&gt;))<br>
&gt; 14: ((:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION))<br>
&gt; ;; Connection to Emacs lost. [<br>
&gt; ;;=C2=A0 condition: Not an integer string: &quot;*featu&quot;<br>
&gt; ;;=C2=A0 type: CCL::PARSE-INTEGER-NOT-INTEGER-STRING<br>
&gt; ;;=C2=A0 style: :SPAWN]<br>
<br>
This is working as expected -- the slynk/swank server is not a REPL so you<=
br>
can&#39;t just send *features* to it.<br>
<br>
__Martin<br></blockquote><div><br></div><div>

Apologies for the long silence on this topic - I had other pressing matters=
 to deal with. I still cannot connect to the swank server from Emacs.=C2=A0=
</div><div><br></div><div>To summarize: Based on my tests (which are detail=
ed below), I can connect to the swank server as tested via telnet. But emac=
s is still failing to connect to swank. I did some debugging and identified=
 that make-network-process is timing out.=C2=A0</div><div><br></div><div>I =
will start another thread on the topic of figuring out why make-network-pro=
cess is timing out.</div><div><br></div><div>Martin, many thanks for helpin=
g me out so far.</div><div><br></div><div>Here is my test procedure:</div><=
div><br></div><div id=3D"gmail-content" style=3D"color:rgb(0,0,0);font-fami=
ly:&quot;Times New Roman&quot;;font-size:medium"><div id=3D"gmail-outline-c=
ontainer-org220429c" class=3D"gmail-outline-2"><h2 id=3D"gmail-org220429c">=
<span class=3D"gmail-section-number-2">1</span>=C2=A0Establish tunnel</h2><=
div class=3D"gmail-outline-text-2" id=3D"gmail-text-1"><pre class=3D"exampl=
e" style=3D"border:1px solid rgb(204,204,204);padding:8pt;overflow:auto;mar=
gin:1.2em">&gt; ssh -v -L4005:<a href=3D"http://127.0.0.1:4005">127.0.0.1:4=
005</a> mirko@hal9000
</pre></div></div><div id=3D"gmail-outline-container-org158c9a2" class=3D"g=
mail-outline-2"><h2 id=3D"gmail-org158c9a2"><span class=3D"gmail-section-nu=
mber-2">2</span>=C2=A0Start Swank server</h2><div class=3D"gmail-outline-te=
xt-2" id=3D"gmail-text-2"><pre class=3D"example" style=3D"border:1px solid =
rgb(204,204,204);padding:8pt;overflow:auto;margin:1.2em">[mirko@laptop] &gt=
; ssh mirko@hal9000
[mirko@hal9000 .roswell]$ ros -L ccl-bin run --load start-slynk-server.lisp

 Added SLYNK path to ASDF:*CENTRAL-REGISTRY*
SLYNK&#39;s ASDF loader finished.
 Loaded ASDF system
;; Slynk started at port: 4005.

 Created SLYNK server on port 4005
 Set *USE-DEDICATED-OUTPUT-STREAM* to NIL
Clozure Common Lisp Version 1.11.5/v1.11.5  (LinuxX8664)

For more information about CCL, please see <a href=3D"http://ccl.clozure.co=
m">http://ccl.clozure.com</a>.

CCL is free software.  It is distributed under the terms of the Apache
Licence, Version 2.0.
?
</pre></div></div><div id=3D"gmail-outline-container-org74feaec" class=3D"g=
mail-outline-2"><h2 id=3D"gmail-org74feaec"><span class=3D"gmail-section-nu=
mber-2">3</span>=C2=A0Test laptop is listening on port 4005 with Telnet</h2=
><div class=3D"gmail-outline-text-2" id=3D"gmail-text-3"><pre class=3D"exam=
ple" style=3D"border:1px solid rgb(204,204,204);padding:8pt;overflow:auto;m=
argin:1.2em">&gt; telnet localhost 4005
Trying ::1...
Connected to localhost.
Escape character is &#39;^]&#39;.
</pre></div></div><div id=3D"gmail-outline-container-org35c8407" class=3D"g=
mail-outline-2"><h2 id=3D"gmail-org35c8407"><span class=3D"gmail-section-nu=
mber-2">4</span>=C2=A0Test tunnel to lisp</h2><div class=3D"gmail-outline-t=
ext-2" id=3D"gmail-text-4"><p>Typing stuff into telnet session</p><pre clas=
s=3D"example" style=3D"border:1px solid rgb(204,204,204);padding:8pt;overfl=
ow:auto;margin:1.2em">&quot;foo&quot;
Connection closed by foreign host.
</pre><p>makes CCL react. In this case it drops into debugger because of in=
valid input (I do not know what is valid input):</p><pre class=3D"example" =
style=3D"border:1px solid rgb(204,204,204);padding:8pt;overflow:auto;margin=
:1.2em">?
&quot;; slynk:close-connection: Not an integer string: &quot;\&quot;foo\&qu=
ot;
;; closing 0 channels
;; closing 0 listeners
;; Event history start:
...=C2=A0</pre></div></div></div><div><span style=3D"font-size:14.4px;color=
:rgb(0,0,0);font-family:&quot;Times New Roman&quot;"><br></span></div><div>=
<span style=3D"color:rgb(0,0,0);font-family:&quot;Times New Roman&quot;"><b=
 style=3D""><font size=3D"4">5 Try slime-connect</font></b></span></div><di=
v><span style=3D"font-size:14.4px;color:rgb(0,0,0);font-family:&quot;Times =
New Roman&quot;">slime-connect times out</span></div><div><span style=3D"fo=
nt-size:14.4px;color:rgb(0,0,0);font-family:&quot;Times New Roman&quot;"><b=
r></span></div><div><span style=3D"font-size:14.4px;color:rgb(0,0,0);font-f=
amily:&quot;Times New Roman&quot;">Created: 2020-04-18 Sat 19:41</span>=C2=
=A0</div></div></div>

--000000000000a613e005a399567a--