[cl-debian] Bug#329675: cl-webactions: With SBCL, fails to serve pages.

Kim Minh Kaplan qdsmgbm02 at sneakemail.com
Thu Sep 22 16:53:17 UTC 2005


Package: cl-webactions
Version: 1.2.42+cvs.2005.08.05-4
Severity: important
Tags: patch


When running with SBCL, the function NET.ASERVE::FILESYS-INODE does not 
work properly: it calls SB-UNIX:UNIX-LSTAT with a SIMPLE-STRING argument 
while it only works for SIMPLE-BASE-STRING.

The attached patch works around the problem.  It does not solve it for 
non ASCII filenames.

Here is a sample of the bug:

$ sbcl --eval '(clc:clc-require :webactions)' \
>     --eval '(net.aserve:start :port 7000)' \
>     --eval '(net.aserve:webaction-project "foo" :index "index")'
This is SBCL 0.9.3.72, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
STYLE-WARNING: redefining INPUT-FILES (COMPILE-OP UNIX-DSO) in DEFMETHOD
STYLE-WARNING: redefining OUTPUT-FILES (COMPILE-OP UNIX-DSO) in DEFMETHOD
STYLE-WARNING: redefining PERFORM :AFTER (COMPILE-OP UNIX-DSO) in DEFMETHOD
STYLE-WARNING: redefining OUTPUT-FILES (COMPILE-OP C-SOURCE-FILE) in DEFMETHOD
STYLE-WARNING: redefining PERFORM (COMPILE-OP C-SOURCE-FILE) in DEFMETHOD
STYLE-WARNING: redefining PERFORM (LOAD-OP C-SOURCE-FILE) in DEFMETHOD
STYLE-WARNING: redefining PERFORM (LOAD-OP UNIX-DSO) in DEFMETHOD
STYLE-WARNING: implicitly creating new generic function URI-P
STYLE-WARNING: implicitly creating new generic function URI-PARSED-PATH
STYLE-WARNING: implicitly creating new generic function (SETF URI-PARSED-PATH)
STYLE-WARNING: implicitly creating new generic function URI
STYLE-WARNING: implicitly creating new generic function MERGE-URIS
STYLE-WARNING: implicitly creating new generic function ENOUGH-URI
STYLE-WARNING: implicitly creating new generic function INTERN-URI
STYLE-WARNING: implicitly creating new generic function RECEIVE-FROM
STYLE-WARNING: implicitly creating new generic function SEND-TO
STYLE-WARNING: implicitly creating new generic function GET-REQUEST-BODY
STYLE-WARNING: implicitly creating new generic function START-MULTIPART-CAPTURE
STYLE-WARNING: implicitly creating new generic function GET-MULTIPART-HEADER
STYLE-WARNING: implicitly creating new generic function GET-MULTIPART-SEQUENCE
STYLE-WARNING: implicitly creating new generic function REQUEST-QUERY
STYLE-WARNING: implicitly creating new generic function GET-BASIC-AUTHORIZATION
STYLE-WARNING: implicitly creating new generic function SET-BASIC-AUTHORIZATION
STYLE-WARNING:
   defining *HEADER-BLOCK-SIZE* as a constant, even though the name follows
the usual naming convention (names like *FOO*) for special variables
STYLE-WARNING:
   defining *HEADER-BLOCK-USED-SIZE-INDEX* as a constant, even though the name follows
the usual naming convention (names like *FOO*) for special variables
STYLE-WARNING:
   defining *HEADER-BLOCK-DATA-START-INDEX* as a constant, even though the name follows
the usual naming convention (names like *FOO*) for special variables
STYLE-WARNING:
   defining *HEADERS-COUNT* as a constant, even though the name follows
the usual naming convention (names like *FOO*) for special variables
STYLE-WARNING: implicitly creating new generic function LOOKUP-MIME-TYPE
STYLE-WARNING: implicitly creating new generic function CONTENT-LENGTH
STYLE-WARNING: implicitly creating new generic function TRANSFER-MODE
STYLE-WARNING: implicitly creating new generic function PUBLISH-ENTITY
STYLE-WARNING: implicitly creating new generic function UNPUBLISH-ENTITY
STYLE-WARNING: implicitly creating new generic function HANDLE-REQUEST
STYLE-WARNING: implicitly creating new generic function FAILED-REQUEST
STYLE-WARNING: implicitly creating new generic function DENIED-REQUEST
STYLE-WARNING: implicitly creating new generic function STANDARD-LOCATOR
STYLE-WARNING: implicitly creating new generic function UNPUBLISH-LOCATOR
STYLE-WARNING: implicitly creating new generic function MAP-ENTITIES
STYLE-WARNING: implicitly creating new generic function PROCESS-ENTITY
STYLE-WARNING: implicitly creating new generic function COMPUTE-STRATEGY
STYLE-WARNING: implicitly creating new generic function SEND-RESPONSE-HEADERS
STYLE-WARNING: implicitly creating new generic function COMPUTE-RESPONSE-STREAM
STYLE-WARNING: implicitly creating new generic function SET-COOKIE-HEADER
STYLE-WARNING: implicitly creating new generic function TIMEDOUT-RESPONSE
STYLE-WARNING: implicitly creating new generic function AUTHORIZE
STYLE-WARNING: implicitly creating new generic function LOGMESS
STYLE-WARNING: implicitly creating new generic function LOGMESS-STREAM
STYLE-WARNING: implicitly creating new generic function BRIEF-LOGMESS
STYLE-WARNING: implicitly creating new generic function LOG-REQUEST
STYLE-WARNING:
   implicitly creating new generic function READ-CLIENT-RESPONSE-HEADERS
STYLE-WARNING:
   implicitly creating new generic function CLIENT-REQUEST-READ-SEQUENCE
STYLE-WARNING: implicitly creating new generic function CLIENT-REQUEST-CLOSE
STYLE-WARNING:
   implicitly creating new generic function CLIENT-RESPONSE-HEADER-VALUE
STYLE-WARNING: implicitly creating new generic function SAVE-COOKIE
STYLE-WARNING: implicitly creating new generic function COMPUTE-COOKIE-STRING
STYLE-WARNING:
   defining *BROWSER-LEVEL* as a constant, even though the name follows
the usual naming convention (names like *FOO*) for special variables
STYLE-WARNING: implicitly creating new generic function FIND-URI-INFO
STYLE-WARNING: redefining MAKE-LOAD-FORM (URI) in DEFMETHOD
;;; Please wait, recompiling library...
STYLE-WARNING:
   implicitly creating new generic function INITIALIZE-WEBSESSION-MASTER
STYLE-WARNING: implicitly creating new generic function NEXT-WEBSESSION-ID
STYLE-WARNING:
   implicitly creating new generic function NOTE-WEBSESSION-REFERENCED
STYLE-WARNING: redefining REQUEST-VARIABLE-VALUE in DEFUN
STYLE-WARNING: redefining .INV-REQUEST-VARIABLE-VALUE in DEFUN
* 5-aserve-worker: 09/22/05 - 18:43:52 - while processing command "GET /index HTTP/1.1"
got error The value "." is not of type (SIMPLE-ARRAY BASE-CHAR (*)).

In another window I did:

$ telnet localhost 7000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /index HTTP/1.1
Host: localhost

To get this error.

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-1-k7
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)

Versions of packages cl-webactions depends on:
ii  cl-aserve        1.2.42+cvs.2005.08.05-4 Portable Aserve
ii  common-lisp-cont 4.18                    This is a Common Lisp source and c

cl-webactions recommends no packages.

-- no debconf information
-------------- next part --------------
--- acl-compat/sbcl/acl-excl.lisp	2005/09/22 16:22:02	1.1
+++ acl-compat/sbcl/acl-excl.lisp	2005/09/22 16:50:27
@@ -26,11 +26,14 @@
   (error "unix-signal not implemented in acl-excl-sbcl.lisp"))
 
 (defun filesys-inode (path)
+  ;; FIXME: How do we handle non ASCII paths?
+  (let ((path (coerce path 'simple-base-string)))
   (multiple-value-bind (found ign inode)
       (sb-unix::unix-lstat path)
     (if found
         inode
         (error "path ~s does not exist" path))))
+  )
 
 (defun cl-internal-real-time ()
   (round (/ (get-internal-real-time) internal-time-units-per-second)))


More information about the Cl-debian mailing list