stumpwm-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[STUMP] Swank not working in stumpwm with sbcl 1.0.31 on Arch linux


From: Lionel Flandrin
Subject: [STUMP] Swank not working in stumpwm with sbcl 1.0.31 on Arch linux
Date: Mon, 2 Nov 2009 13:47:14 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

Hello stumpers,

I'm trying to get swank to work again with stumpwm. It worked fine a
couple of months ago, but now it fails.

If I start a simple SBCL REPL it works:

,----
| This is SBCL 1.0.31, 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.
| * (load "/usr/share/emacs/site-lisp/slime/swank-loader.lisp")
| 
| T
| * (swank-loader:init)
| 
| ; loading 
#P"/home/simias/.slime/fasl/2009-09-18/sbcl-1.0.31-linux-x86-64/swank-backend.fasl"
| ; loading 
#P"/home/simias/.slime/fasl/2009-09-18/sbcl-1.0.31-linux-x86-64/swank-source-path-parser.fasl"
| ; loading 
#P"/home/simias/.slime/fasl/2009-09-18/sbcl-1.0.31-linux-x86-64/swank-source-file-cache.fasl"
| ; loading 
#P"/home/simias/.slime/fasl/2009-09-18/sbcl-1.0.31-linux-x86-64/swank-sbcl.fasl"
| STYLE-WARNING: redefining EMACS-INSPECT (#<BUILT-IN-CLASS T>) in DEFMETHOD
| ; loading 
#P"/home/simias/.slime/fasl/2009-09-18/sbcl-1.0.31-linux-x86-64/swank-gray.fasl"
| STYLE-WARNING:
|    Implicitly creating new generic function STREAM-READ-CHAR-WILL-HANG-P.
| ; loading 
#P"/home/simias/.slime/fasl/2009-09-18/sbcl-1.0.31-linux-x86-64/swank.fasl"
| WARNING: These Swank interfaces are unimplemented:
|  (CALLS-WHO DISASSEMBLE-FRAME SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN
|   WHO-SPECIALIZES)
| NIL
| * (swank:create-server :dont-close t)
| ;; Swank started at port: 4005.
| 
| 4005
| * 
`----

If I do the same thing from within stumpwm (for instance in C-t :) the
(swank-loader:init) fails:

,----
| No restart ABORT is active.0: (SB-DEBUG::MAP-BACKTRACE #<CLOSURE (LAMBDA #) 
{100448CCA9}>)[:EXTERNAL]
| 1: (SB-DEBUG:BACKTRACE 100 #<SB-IMPL::STRING-OUTPUT-STREAM {100448CC01}>)
| 2: (BACKTRACE-STRING)
| 3: (ERR "~A")[:EXTERNAL]
| 4: (EVAL-LINE "(swank-loader:init)")
| 5: (CALL-INTERACTIVELY "eval" #S(ARGUMENT-LINE :STRING "eval" :START 5))
| 6: (EVAL-COMMAND "eval" T)
| 7: ((LABELS #:G300) :CODE 45 :STATE 4)
| 8: (HANDLE-EVENT)[:EXTERNAL]
| 9: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
| 10: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]291))
| 11: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK
|      #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK) {7FFFF51A2AB9}>
|      #S(SB-THREAD:MUTEX
|         :NAME "CLX Event Lock"
|         :%OWNER #<SB-THREAD:THREAD "initial thread" RUNNING {1003989011}>
|         :STATE 1))
| 12: (XLIB:PROCESS-EVENT #<XLIB:DISPLAY :0 (The X.Org Foundation 
R10701000)>)[:EXTERNAL]
| 13: (STUMPWM-INTERNAL-LOOP)
| 14: (STUMPWM-INTERNAL ":0.0")
| 15: (STUMPWM ":0.0")
| 16: ((LAMBDA ()))
| 17: ((LABELS SB-IMPL::RESTART-LISP))
`----

As Adlai (who as the same problem) pointed out on IRC, it seems
stumpwm should implement an "abort" restart in its main loop. It's not
mandatory, but it's encouraged:

,--[ http://www.lispworks.com/documentation/HyperSpec/Body/r_abort.htm ]
| Implementors are encouraged to make sure that there is always a
| restart named abort around any user code so that user code can call
| abort at any time and expect something reasonable to happen
`----

Anyway, that's a minor issue and it doesn't explain why swank doesn't
start properly in stumpwm. If I start stumpwm with (require 'stumpwm)
(stumpwm:stumpwm) from the swank session in the SBCL REPL it works.

Any clue on how to debug this? I'm running latest stumpwm from git
and sbcl 1.0.31 from the Arch package.

-- 
Lionel Flandrin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]