首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hunchentoot是未知的处理程序

Hunchentoot是未知的处理程序
EN

Stack Overflow用户
提问于 2019-01-16 00:33:18
回答 1查看 186关注 0票数 1

在CI上构建的web-app的二进制文件无法运行,如果在本地构建则会成功。是什么导致了这些差异,是什么导致Hunchentoot失败并显示了这条消息?

下面是不同的堆栈跟踪:

代码语言:javascript
复制
<INFO> [14:42:11] weblocks/server server.lisp (start) -
  Starting weblocks WEBLOCKS/SERVER::PORT: 4000
  WEBLOCKS/SERVER::SERVER-TYPE: :HUNCHENTOOT DEBUG: T 
 <INFO> [14:42:11] weblocks/server server.lisp (start-server) -
  Starting webserver on WEBLOCKS/SERVER::INTERFACE: "localhost"
  WEBLOCKS/SERVER::PORT: 4000 DEBUG: T 
Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                    {10005C85B3}>:
  :HUNCHENTOOT is unknown handler.

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005C85B3}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "~S is unknown handler." {100495FEC3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<SIMPLE-ERROR "~S is unknown handler." {100495FEC3}>)
2: (INVOKE-DEBUGGER #<SIMPLE-ERROR "~S is unknown handler." {100495FEC3}>)
3: (UIOP/IMAGE:HANDLE-FATAL-CONDITION #<SIMPLE-ERROR "~S is unknown handler." {100495FEC3}>)
4: (SB-KERNEL::%SIGNAL #<SIMPLE-ERROR "~S is unknown handler." {100495FEC3}>)
5: (ERROR "~S is unknown handler." :HUNCHENTOOT)
6: (CLACK.UTIL:FIND-HANDLER :HUNCHENTOOT)
7: (CLACK:CLACKUP #<CLOSURE (LAMBDA (LACK.MIDDLEWARE.SESSION::ENV) :IN "/home/lisp/quicklisp/dists/quicklisp/software/lack-20181018-git/src/middleware/session.lisp") {100467727B}> :ADDRESS "localhost" :SERVER :HUNCHENTOOT :PORT 4000 :DEBUG T)
8: (WEBLOCKS/SERVER::START-SERVER #<SERVER port=4000 stopped> :DEBUG T)
9: ((LAMBDA (#:G0 &REST #:G1) :IN WEBLOCKS/SERVER:START) NIL)
10: (WEBLOCKS/SERVER:START :DEBUG T :PORT 4000 :INTERFACE "localhost" :SERVER-TYPE :HUNCHENTOOT)
11: (TORRENTS:MAIN)
12: ((LAMBDA NIL :IN UIOP/IMAGE:RESTORE-IMAGE))
13: (UIOP/IMAGE:CALL-WITH-FATAL-CONDITION-HANDLER #<CLOSURE (LAMBDA NIL :IN UIOP/IMAGE:RESTORE-IMAGE) {1004410D9B}>)
14: ((FLET SB-UNIX::BODY :IN SAVE-LISP-AND-DIE))
15: ((FLET "WITHOUT-INTERRUPTS-BODY-34" :IN SAVE-LISP-AND-DIE))
16: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))

unhandled condition in --disable-debugger mode, quitting

和本地:

代码语言:javascript
复制
<INFO> [17:11:49] weblocks/server server.lisp (start) -
  Starting weblocks WEBLOCKS/SERVER::PORT: 4001
  WEBLOCKS/SERVER::SERVER-TYPE: :HUNCHENTOOT DEBUG: T 
 <INFO> [17:11:49] weblocks/server server.lisp (start-server) -
  Starting webserver on WEBLOCKS/SERVER::INTERFACE: "localhost"
  WEBLOCKS/SERVER::PORT: 4001 DEBUG: T 
_

它一直在监听。

它们使用相同的框架版本(最新版本)运行,它们似乎运行相同的Quicklisp dist版本(请参阅第一个堆栈跟踪中的lack-20181018 ),这是我的本地版本。CI是基于daewok/lisp-devel-docker构建的。

我使用这个起点:

代码语言:javascript
复制
(defun start ()
  (weblocks/debug:on)
  (weblocks/server:start :port *port*))

(defun stop ()
  (weblocks/server:stop))

(defun main ()
  (defvar *port* (find-port:find-port))

  (start)
  (handler-case (bt:join-thread (find-if (lambda (th)
                                             (search "hunchentoot" (bt:thread-name th)))
                                         (bt:all-threads)))
    (#+sbcl sb-sys:interactive-interrupt
      #+ccl  ccl:interrupt-signal-condition
      #+clisp system::simple-interrupt-condition
      #+ecl ext:interactive-interrupt
      #+allegro excl:interrupt-signal
      () (progn
           (format *error-output* "Aborting.~&")
           ;; (weblocks:stop)
           (uiop:quit 1))
    ;; for others, unhandled errors (we might want to do the same).
      (error (c) (format t "Woops, an unknown error occured:~&~a~&" c)))))

再次感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-12 05:59:55

添加依赖项

代码语言:javascript
复制
           :clack-handler-hunchentoot

在我的.asd里做到了。谢谢jkiiski。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54203075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档