[cl-who-devel] mod_lisp and cl-who, beginner's question

Marko Riedel riedelmo at mathematik.uni-stuttgart.de
Wed Sep 30 21:54:34 UTC 2009


Dear friends,

I am a beginner when it comes to Lisp although I have some experience
with Scheme. I would eventually like to use cl-who to serve web pages
on a Debian system.

Here is the signature of my web server:

Apache/2.2.9  (Debian)  mod_lisp2/1.3.1      PHP/5.2.6-1+lenny3   with
Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g Server at lisptest Port 80

I tried the following simple program:

(format *modlisp-socket* "~a~%"  "HTTP/1.1 200 OK")
(format *modlisp-socket* "~a~%~%" "Content-Type: text/html")

(format *modlisp-socket* "~a~%" "<HTML><BODY>Hello, world.</BODY></HTML>")

My problem is, this program produces a timeout and the webserver gives
up after a certain time.

This is what the web server writes to the log file:

[Wed Sep 30 23:30:00 2009] [error] \
(70007)The timeout specified has expired: error reading from Lisp

Nonetheless the webserver and the Lisp process are talking to each
other, as shown by the following TCP dump:

23:29:00.163187 IP localhost.localdomain.49120 > localhost.localdomain.20123: P 97:758(661) ack 1 win 513 <nop,nop,timestamp 353883724 353883724>
	0x0000:  4500 02c9 d6d5 4000 4006 6357 7f00 0001  E..... at .@.cW....
	0x0010:  7f00 0001 bfe0 4e9b ce5d 00ea ce43 bee2  ......N..]...C..
	0x0020:  8018 0201 00be 0000 0101 080a 1517 d64c  ...............L
	0x0030:  1517 d64c 0a38 300a 7265 6d6f 7465 2d69  ...L.80.remote-i
	0x0040:  702d 6164 6472 0a31 3239 2e36 392e 3131  p-addr.129.69.11
	0x0050:  362e 310a 7363 7269 7074 2d66 696c 656e  6.1.script-filen
	0x0060:  616d 650a 2f61 6673 2f2e 6d61 7468 656d  ame./afs/.mathem
	0x0070:  6174 696b 2e75 6e69 2d73 7475 7474 6761  atik.uni-stuttga
	0x0080:  7274 2e64 652f 7072 6f6a 6563 742f 6c69  rt.de/project/li
	0x0090:  7370 2f73 696d 706c 652e 6c69 7370 0a72  sp/simple.lisp.r
	0x00a0:  656d 6f74 652d 6970 2d70 6f72 740a 3432  emote-ip-port.42
	0x00b0:  3934 320a 7365 7276 6572 2d69 640a 6c6f  942.server-id.lo
	0x00c0:  6361 6c68 6f73 740a 7365 7276 6572 2d62  calhost.server-b
	0x00d0:  6173 6576 6572 7369 6f6e 0a41 7061 6368  aseversion.Apach
	0x00e0:  652f 322e 322e 380a 6d6f 646c 6973 702d  e/2.2.8.modlisp-
	0x00f0:  7665 7273 696f 6e0a 312e 332e 310a 6d6f  version.1.3.1.mo
	0x0100:  646c 6973 702d 6d61 6a6f 722d 7665 7273  dlisp-major-vers
	0x0110:  696f 6e0a 320a 486f 7374 0a6c 6973 7074  ion.2.Host.lispt
	0x0120:  6573 740a 5573 6572 2d41 6765 6e74 0a4d  est.User-Agent.M
	0x0130:  6f7a 696c 6c61 2f35 2e30 2028 5831 313b  ozilla/5.0.(X11;
	0x0140:  2055 3b20 4c69 6e75 7820 6936 3836 3b20  .U;.Linux.i686;.
	0x0150:  656e 2d55 533b 2072 763a 312e 382e 302e  en-US;.rv:1.8.0.
	0x0160:  3133 7072 6529 2047 6563 6b6f 2f32 3030  13pre).Gecko/200
	0x0170:  3730 3530 3520 4963 6561 7065 2f31 2e30  70505.Iceape/1.0
	0x0180:  2e39 2028 4465 6269 616e 2d31 2e30 2e31  .9.(Debian-1.0.1
	0x0190:  317e 7072 6530 3731 3032 322d 3065 7463  1~pre071022-0etc
	0x01a0:  6831 290a 4163 6365 7074 0a74 6578 742f  h1).Accept.text/
	0x01b0:  786d 6c2c 6170 706c 6963 6174 696f 6e2f  xml,application/
	0x01c0:  786d 6c2c 6170 706c 6963 6174 696f 6e2f  xml,application/
	0x01d0:  7868 746d 6c2b 786d 6c2c 7465 7874 2f68  xhtml+xml,text/h
	0x01e0:  746d 6c3b 713d 302e 392c 7465 7874 2f70  tml;q=0.9,text/p
	0x01f0:  6c61 696e 3b71 3d30 2e38 2c69 6d61 6765  lain;q=0.8,image
	0x0200:  2f70 6e67 2c2a 2f2a 3b71 3d30 2e35 0a41  /png,*/*;q=0.5.A
	0x0210:  6363 6570 742d 4c61 6e67 7561 6765 0a65  ccept-Language.e
	0x0220:  6e2d 7573 2c65 6e3b 713d 302e 350a 4163  n-us,en;q=0.5.Ac
	0x0230:  6365 7074 2d45 6e63 6f64 696e 670a 677a  cept-Encoding.gz
	0x0240:  6970 2c64 6566 6c61 7465 0a41 6363 6570  ip,deflate.Accep
	0x0250:  742d 4368 6172 7365 740a 4953 4f2d 3838  t-Charset.ISO-88
	0x0260:  3539 2d31 2c75 7466 2d38 3b71 3d30 2e37  59-1,utf-8;q=0.7
	0x0270:  2c2a 3b71 3d30 2e37 0a4b 6565 702d 416c  ,*;q=0.7.Keep-Al
	0x0280:  6976 650a 3330 300a 436f 6e6e 6563 7469  ive.300.Connecti
	0x0290:  6f6e 0a6b 6565 702d 616c 6976 650a 5072  on.keep-alive.Pr
	0x02a0:  6167 6d61 0a6e 6f2d 6361 6368 650a 4361  agma.no-cache.Ca
	0x02b0:  6368 652d 436f 6e74 726f 6c0a 6e6f 2d63  che-Control.no-c
	0x02c0:  6163 6865 0a65 6e64 0a                   ache.end.

The relevant configuration data from the virtual host container are
as follows:

 LispServer 127.0.0.1 20123 "localhost"
 AddHandler lisp-handler .lsp .lisp

 <Directory />
  AllowOverride All
  Order deny,allow
  Deny from all
  Allow from all
 </Directory>

My question to the list is, what is causing this timeout? Is the
socket not being flushed? Why are there no data being sent from the
Lisp process after it receives the headers from the web server?

Thanks for any comments you may have.

Best regards,

Marko Riedel






More information about the Cl-who-devel mailing list