SiteMap RecentChanges

Freezes

For some users, StumpWM still freezes.

The symptoms

The keyboard doesn't respond but the mouse still works. Pressing control + alt + F1 to get back to the text console doesn't work.

Diagnosis

Here's a possible setup to help you diagnose the problem.

You need to start X without a window manager. backup your .xinitrc file and then run:

$ echo xterm >~/.xinitrc
$ startx

You should be in X with an xterm, now. hit control + alt + F2 to switch to a fresh console. login, and run:

$ screen
$ emacs

Now you're in screen in emacs. Open a shell, M-x shell, cd to the stumpwm dir, and

$ sbcl

(require 'asdf)
(require 'stumpwm)
(stumpwm:stumpwm)

This will load stumpwm and run it but allow you to drop to the sbcl debugger when it hangs. Switch back to X. You should find stumpwm started with an xterm. Note, if you kill the xterm then X will go down. So don't kill it. Now use stumpwm normally until it freezes.

When it freezes, ssh in to your machine from another one and run

$ screen -x

to reconnect to the existing screen session. If stumpwm is in the debugger already, then excellent. If not hit C-c C-c to break to the debugger. then type backtrace to get a backtrace. Hopefully this will point us to the place stumpwm is hanging. write all the text in the *shell* buffer to a file (in the *shell* buffer, M-x write-file) and send that to me, sabetts.

If you find keeping the xterm around to be too tedious, you can try this instead:

$ echo cat >~/.xinitrc
$ startx

This just runs cat, effectively hanging the .xinitrc script so X won't die.

-sabetts

Here is a backtrace from roderyk

Thread: #<THREAD "initial thread" {A6A2741}>
0: (BACKTRACE 536870911 #<SYNONYM-STREAM :SYMBOL *TERMINAL-IO* {90FB221}>)
1: (SB-THREAD:GET-MUTEX
    #<unavailable argument>
    #<unavailable argument>
    #<unavailable argument>)
2: (XLIB::START-PENDING-COMMAND #<unavailable argument>)
3: (XLIB:DISPLAY-FINISH-OUTPUT
    #<XLIB:DISPLAY :0 (The X.Org Foundation R70200000)>)
4: (STUMPWM::STUMPWM-INTERNAL-LOOP)
5: (STUMPWM:STUMPWM ":0" NIL)
6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (STUMPWM:STUMPWM) #<NULL-LEXENV>)
7: (INTERACTIVE-EVAL (STUMPWM:STUMPWM))
8: (SB-IMPL::REPL-FUN NIL)
9: (SB-IMPL::REPL-FUN NIL)
10: ((LAMBDA ()))
11: ((LAMBDA ()))
12: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {AC4C42D}>)
13: (SB-IMPL::TOPLEVEL-REPL NIL)
14: (SB-IMPL::TOPLEVEL-INIT)
15: ((LABELS SB-IMPL::RESTART-LISP))
 C-c C-c
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread #<THREAD "initial \
thread" {A6A2741}>:
  Interactive interrupt at #xB7FE540E.
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE    ] Return from SB-UNIX:SIGINT.
  1: [QUIT-STUMPWM] Quit Stumpwm
  2: [ABORT       ] Exit debugger, returning to top level.
(SB-THREAD:INTERRUPT-THREAD
 #<SB-THREAD:THREAD "initial thread" {A6A2741}>
 #<CLOSURE (FLET SB-UNIX::INTERRUPT-IT) {B61D605}>)