[Bese-devel] A newbie question

Rajappa Iyer rsi at panix.com
Tue Jul 11 20:47:14 UTC 2006


"Attila Lendvai" <attila.lendvai at gmail.com> writes:

> On 7/11/06, Rajappa Iyer <rsi at panix.com> wrote:

> * 01:16 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw"
>> 01:16 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: "
>> hello.ucw".
>> 01:16 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to
>> ACTION-HANDLER.
>> 01:16 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: #<Function
>> "DEFVAR *HELLO-WORLD-APPLICATION*"
>>                                    {49B0C309}>.
>> 01:16 UCW-LOGGER/+INFO+: CALL'ing to /#<HELLO-WORLD::HELLO-WORLD
>> {486FBAF5}>
>> 01:16 UCW-LOGGER/+ERROR+: Got request error #<TYPE-ERROR {4870B875}>.
>
>
> i suggest to look for the string "Got request error" in the ucw sources (
> standard-server.lisp), add a breakpoint and inspect the condition object.
> (assuming here that the debugger didn't come up by default which happens in
> some situations that we should address. i keep two breakpoints locally for
> this...).

> if you can't find anything helpful there then send the backtrace (from the
> brakepoint if the debugger didn't come up), it may ring some
> bells...

Hm.  I made the change that Ties suggested (i.e. putting
action-dispatcher in front of the url-dispatcher) but it does not seem
to change things.

Here's the backtrace:
0: ("DEFMETHOD HANDLE-REQUEST (STANDARD-SERVER REQUEST RESPONSE)"
    #<TYPE-ERROR {499756E5}>)
1: (SIGNAL #<TYPE-ERROR {499756E5}>)
2: (ERROR TYPE-ERROR :FUNCTION-NAME "LAMBDA (G5410 G5411)" :DATUM ...)
3: (KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER "LAMBDA (G5410 G5411)"
                                          #.(SYSTEM:INT-SAP #x47FD7A50)
                                          #<Alien (* #) at #x47FD78AC>
                                          (206 14))
4: (KERNEL::INTERNAL-ERROR #.(SYSTEM:INT-SAP #x47FD78AC) #<unused-arg>)
5: ("Foreign function call land")
6: ("Foreign function call land")
7: ("Foreign function call land")
8: ("Foreign function call land")
9: ("LAMBDA (G5410 G5411)" #<unused-arg> #<unused-arg>
    #<HELLO-WORLD::HELLO-WORLD {4958C87D}>)
10: ((METHOD IT.BESE.UCW:RENDER (:WRAP-AROUND)
      (IT.BESE.UCW:STANDARD-COMPONENT))
     #<unused-arg>
     #S(PCL::FAST-METHOD-CALL
          :FUNCTION #<Closure Over Function "LAMBDA (G5410 G5411)" {4996F849}>
          :PV-CELL NIL
          :NEXT-METHOD-CALL NIL
          :ARG-INFO (1))
     #<HELLO-WORLD::HELLO-WORLD {4958C87D}>)
11: ((METHOD IT.BESE.UCW::RENDER-LOOP NIL (IT.BESE.UCW:STANDARD-COMPONENT))
     (#() . #(#)) #<unused-arg> #<HELLO-WORLD::HELLO-WORLD {4958C87D}>)
12: ((METHOD IT.BESE.UCW::HANDLER-HANDLE NIL
      (IT.BESE.UCW::ACTION-HANDLER IT.BESE.UCW:STANDARD-APPLICATION
       IT.BESE.UCW::STANDARD-REQUEST-CONTEXT T))
     (#(4) . #(# #)) #<unused-arg> #<unused-arg>
     #<IT.BESE.UCW:COOKIE-SESSION-APPLICATION "/" {49DC8E0D}> ...)
13: ((METHOD IT.BESE.UCW::DISPATCH NIL
      (IT.BESE.UCW::ABSTRACT-DISPATCHER IT.BESE.UCW:STANDARD-APPLICATION
       IT.BESE.UCW::STANDARD-REQUEST-CONTEXT))
     (#() . #(#)) #<unused-arg>
     #<IT.BESE.UCW:URL-DISPATCHER "hello.ucw" {49BF9585}>
     #<IT.BESE.UCW:COOKIE-SESSION-APPLICATION "/" {49DC8E0D}> ...)
14: ((METHOD IT.BESE.UCW::SERVICE NIL
      (IT.BESE.UCW:STANDARD-APPLICATION IT.BESE.UCW::REQUEST-CONTEXT))
     (#() . #(#)) #<unused-arg>
     #<IT.BESE.UCW:COOKIE-SESSION-APPLICATION "/" {49DC8E0D}>
     #<HELLO-WORLD::COOKIE-SESSION-APPLICATION-REQUEST-CONTEXT {485F5315}>)
15: ((METHOD IT.BESE.UCW::HANDLE-REQUEST NIL
      (IT.BESE.UCW:STANDARD-SERVER IT.BESE.UCW:REQUEST IT.BESE.UCW:RESPONSE))
     (#() . #(# # #)) #<unused-arg>
     #<IT.BESE.UCW:STANDARD-SERVER IT.BESE.UCW:MULTITHREAD-HTTPD-BACKEND 1
       {49AC724D}>
     #<IT.BESE.UCW::HTTPD-REQUEST {4852A07D}> ...)
16: ((METHOD IT.BESE.UCW::HANDLE-REQUEST NIL
      (IT.BESE.UCW:HTTPD-BACKEND IT.BESE.UCW::HTTPD-REQUEST
       IT.BESE.UCW::HTTPD-RESPONSE))
     (#(4 3 4 3) . #()) #<unused-arg>
     #<IT.BESE.UCW:MULTITHREAD-HTTPD-BACKEND {483D2BCD}>
     #<IT.BESE.UCW::HTTPD-REQUEST {4852A07D}> ...)
17: (IT.BESE.UCW::HTTPD-WORKER-LOOP/HANDLE
     #<IT.BESE.UCW::HTTPD-WORKER {4841E24D}>
     #<IT.BESE.UCW:MULTITHREAD-HTTPD-BACKEND {483D2BCD}>
     #<IT.BESE.UCW::PENDING-REQUEST {484C4195}>)
18: (IT.BESE.UCW::HTTPD-WORKER-LOOP #<IT.BESE.UCW::HTTPD-WORKER {4841E24D}>)
19: ("DEFUN MAKE-PROCESS")

The odd thing is that sometimes when I try the request twice, it seems
to work.  Here's a transcript:

--TIME MARK 2006-07-11--
13:44 UCW-LOGGER/+INFO+: Registered: #<COOKIE-SESSION-APPLICATION "/" {481C7C7D}>
13:44 UCW-LOGGER/+INFO+: Starting up standard server #<IT.BESE.UCW:STANDARD-SERVER
                              IT.BESE.UCW:MULTITHREAD-HTTPD-BACKEND 1
                              {48453A9D}>.
CMU Common Lisp 19c Release (19C), running on placebo.hoodbuzz.org
With core: /usr/local/lib/cmucl/lib/lisp.core
Dumped on: Mon, 2006-07-10 21:58:53-07:00 on placebo.hoodbuzz.org
See <http://www.cons.org/cmucl/> for support information.
Loaded subsystems:
    Python 1.1, target Intel x86
    CLOS based on Gerd's PCL 2004/04/14 03:32:47
* 13:45 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw"
13:45 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: "hello.ucw".
13:45 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to ACTION-HANDLER.
13:45 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: #<Function "DEFVAR *HELLO-WORLD-APPLICATION*"
                                   {483157A1}>.
; [GC threshold exceeded with 29,021,072 bytes in use.  Commencing GC.]
; [GC completed with 18,859,568 bytes retained and 10,161,504 bytes freed.]
; [GC will next occur when at least 30,859,568 bytes are in use.]
13:45 UCW-LOGGER/+INFO+: CALL'ing to /#<HELLO-WORLD::HELLO-WORLD {49A8D54D}>
13:45 UCW-LOGGER/+ERROR+: Got request error #<TYPE-ERROR {48814EDD}>.
13:45 UCW-LOGGER/+INFO+: Aborting request.
; Compiling LAMBDA NIL:
; Compiling Top-Level Form:
13:45 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw"
13:45 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: "hello.ucw".
13:45 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to ACTION-HANDLER.
13:45 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: #<Function "DEFVAR *HELLO-WORLD-APPLICATION*"
                                   {483157A1}>.
13:45 UCW-LOGGER/+INFO+: CALL'ing to /#<HELLO-WORLD::HELLO-WORLD {498D7D35}>
13:45 UCW.BACKEND/+INFO+: Handling request for "/dojo/dojo.js"
13:45 UCW.BACKEND/+INFO+: Handling request for "/ucw/js/per-application.js"

I tried running the boxset examples with CMUCL and it failed.  But
SBCL succeeded.  I'll try running this with SBCL and report the results.

Thanks,
Rajappa
-- 
<rsi at panix.com> a.k.a. Rajappa Iyer.
	Absinthe makes the tart grow fonder. 



More information about the bese-devel mailing list