I've been using hunchentoot with the firefox xforms plugin and recently switched to mod_lisp2 with apache's httpd. xhtml pages seem to work fine. However, when submitting results from an xforms document to hunchentoot under mod_lisp2, the client request is never answered -- when the client request is interrupted, sbcl complains...
end of file on #<FLEXI-STREAMS::FLEXI-LATIN-1-IO-STREAM {AD9F809}> [Condition of type END-OF-FILE]
The backtrace suggested that GET-REQUEST-DATA is unhappy with the request...
8: (ERROR END-OF-FILE) 9: (READ-LINE #<FLEXI-STREAMS::FLEXI-LATIN-1-IO-STREAM {AD9F809}> T NIL #<unused argument>) 10: (HUNCHENTOOT::GET-REQUEST-DATA) 11: (HUNCHENTOOT::PROCESS-CONNECTION #<HUNCHENTOOT::SERVER {AB55C09}> #<SB-BSD-SOCKETS:INET-SOCKET descriptor 19 {AB87E61}>)
If I take mod_lisp out of the picture and just make the request from hunchentoot directly there doesn't seem to be a problem. If I change the code for key/value reading in GET-REQUEST-DATA (headers.lisp) to
for value = (read-line *hunchentoot-stream* nil nil) ;;for value = (read-line *hunchentoot-stream* t)
things work like a charm (at least, superficially...). Unfortunately, at this point, I'm a little out of my depth... Does hunchentoot throwing an error indicate that the xforms plugin is buggy (maybe leaving an extra blank line somewhere in the http where it shouldn't)?
Thanks for any thoughts/suggestions...
Alan Thompson
____________________________________________________________________________________ Looking for earth-friendly autos? Browse Top Cars by "Green Rating" at Yahoo! Autos' Green Center. http://autos.yahoo.com/green_center/
On Wed, 28 Mar 2007 17:07:42 -0700 (PDT), dat dathomp1@yahoo.com wrote:
I've been using hunchentoot with the firefox xforms plugin and recently switched to mod_lisp2 with apache's httpd. xhtml pages seem to work fine. However, when submitting results from an xforms document to hunchentoot under mod_lisp2, the client request is never answered -- when the client request is interrupted, sbcl complains...
end of file on #<FLEXI-STREAMS::FLEXI-LATIN-1-IO-STREAM {AD9F809}> [Condition of type END-OF-FILE]
The backtrace suggested that GET-REQUEST-DATA is unhappy with the request...
8: (ERROR END-OF-FILE)
9: (READ-LINE #<FLEXI-STREAMS::FLEXI-LATIN-1-IO-STREAM {AD9F809}> T NIL #<unused argument>) 10: (HUNCHENTOOT::GET-REQUEST-DATA) 11: (HUNCHENTOOT::PROCESS-CONNECTION #<HUNCHENTOOT::SERVER {AB55C09}> #<SB-BSD-SOCKETS:INET-SOCKET descriptor 19 {AB87E61}>)
If I take mod_lisp out of the picture and just make the request from hunchentoot directly there doesn't seem to be a problem. If I change the code for key/value reading in GET-REQUEST-DATA (headers.lisp) to
for value = (read-line *hunchentoot-stream* nil nil) ;;for value = (read-line *hunchentoot-stream* t)
things work like a charm (at least, superficially...). Unfortunately, at this point, I'm a little out of my depth... Does hunchentoot throwing an error indicate that the xforms plugin is buggy (maybe leaving an extra blank line somewhere in the http where it shouldn't)?
Thanks for any thoughts/suggestions...
Hmm, I don't have the XForms plug-in to test this, but my initial guess would be that the plug-in sends content to the server using chunked transfer encoding and your combination of Apache and mod_lisp can't cope with that. Try to start the server with :INPUT-CHUNKING-P set to NIL and see if that makes a difference.
http://common-lisp.net/pipermail/mod-lisp-devel/2006-December/000104.html
Let us know what comes out of it.
Cheers, Edi.