Discussion:
mod_lisp and cl-who, beginner's question
Marko Riedel
2009-09-30 21:54:34 UTC
Permalink
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 ***@.@.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
Edi Weitz
2009-10-01 05:50:32 UTC
Permalink
This doesn't seem to be related to CL-WHO at all. I think you should
send it to the mod_lisp list unless someone here can help you.

Edi.

On Wed, Sep 30, 2009 at 11:54 PM, Marko Riedel
Post by Marko Riedel
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.
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
(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.
[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
23:29:00.163187 IP localhost.localdomain.49120 > localhost.localdomain.20123: P 97:758(661) ack 1 win 513 <nop,nop,timestamp 353883724 353883724>
       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
 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
_______________________________________________
cl-who-devel site list
http://common-lisp.net/mailman/listinfo/cl-who-devel
Loading...