[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