I have a lisp xml-rpc server. When I launch it from a repl in a terminal, the server responds to the client's requests but when this server is launched from the sly repl in Emacs, the client is stuck waiting.

I don't understand why this happens...

EDIT (yes it wasn't clear): I use s-xml-rpc, https://s-xml-rpc.common-lisp.dev/

In the sly-mrepl for sbcl, if I define a function like this :

(defun s-xml-rpc-exports::|lisp.GCD| (m n)
  (gcd m n))

and then I start the server in the sly-mrepl:

  (setq *xml-server* (s-xml-rpc:start-xml-rpc-server :port 6665 ))

from a client written in python :

import xmlrpclib

print(xmlrpclib.ServerProxy("http://localhost:6665/RPC2").lisp.GCD(12155, 130130))

the client remains blocked without a response from the server.


but if I do the same thing but from a sbcl repl launched from the terminal, the server answers and the client displays 715

  • 1
    Hi VaK. You will get better answers if you include details. Which CL? On which platform? Which XML-RPC server? Which CLI client, and what does its output look like? Which version of sly? Is there any output? Which version of Emacs? On which platform? Any or all of these could be decisive. Commented Apr 28, 2022 at 8:22
  • Can you see the server with netstat -plan or similar? Is there any way to turn on logging by the server to see what it's doing?
    – NickD
    Commented Apr 28, 2022 at 19:28
  • yes i can see the server with netstat
    – VaK
    Commented Apr 28, 2022 at 20:24


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.