2011/01/04

Stumpwm が落ちる件(未解決)

例えば画面の明るさを調整する Fn + ↑ 等のキーを押すと Stumpwm が落ちる件を調べてみた。

現時点では未解決。分かったのは次のようなこと。

  • まず mayu は関係なかった。ごめんなさい。
  • 画面の明るさ調整の Fn + ↑, Fn + ↓ と電源ボタンで落ちる。
  • ボリューム調整ボタンでは大丈夫。
  • 正確には落ちるのではなく下記のようにデバッガに入っている。
  • XLIB:KEYBOARD-MAPPING で XLIB::READ-REPLY する時に XLIB:ALLOC-ERROR が発生している。
  • repl から XLIB:KEYBOARD-MAPPING や、もっと上の方の (STUMPWM::GET-MODIFIER-MAP) などを呼んだ場合は正常に動作する。

テストする時は次のように gnome-terminal を X 上で上げてから stumpwm を起動すると、キーボードが効かなくなった場合にマウスで gnome-terminal を終了して X をぬけられる。

STARTUP=gnome-terminal startx

以下、デバッガに入った時の出力。

Caught 'ALLOC-ERROR in current request  Code 101.0 [GetKeyboardMapping]' at the top level. Please report this.
0: (SB-DEBUG::MAP-BACKTRACE
#<CLOSURE (LAMBDA #) {10057E9319}>
:START
0
:COUNT
100)
1: (SB-DEBUG:BACKTRACE 100 #<SB-IMPL::STRING-OUTPUT-STREAM {10057E9271}>)
2: (STUMPWM::PRINT-BACKTRACE 100)
3: (STUMPWM::BACKTRACE-STRING)
4: (STUMPWM::PERFORM-TOP-LEVEL-ERROR-ACTION #<XLIB:ALLOC-ERROR {10057E8851}>)
5: ((FLET #:LAMBDA284) #<XLIB:ALLOC-ERROR {10057E8851}>)
6: (SIGNAL #<XLIB:ALLOC-ERROR {10057E8851}>)
7: (ERROR
XLIB:ALLOC-ERROR
:DISPLAY
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
:ERROR-KEY
XLIB:ALLOC-ERROR
:ASYNCHRONOUS
NIL
:CURRENT-SEQUENCE
2516
:MAJOR
101
:MINOR
0
:SEQUENCE
2516)
8: (STUMPWM::ERROR-HANDLER
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
XLIB:ALLOC-ERROR
:ASYNCHRONOUS
NIL
:CURRENT-SEQUENCE
2516
:MAJOR
101
:MINOR
0
:SEQUENCE
2516)
9: (XLIB::REPORT-ERROR
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
11
XLIB:ALLOC-ERROR
:ASYNCHRONOUS
NIL
:CURRENT-SEQUENCE
2516
:MAJOR
101
:MINOR
0
:SEQUENCE
2516)
10: (XLIB::REPORT-ERROR
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
11
XLIB:ALLOC-ERROR
:ASYNCHRONOUS
NIL
:CURRENT-SEQUENCE
2516
:MAJOR
101
:MINOR
0
:SEQUENCE
2516)[:OPTIONAL]
11: (XLIB::READ-REPLY
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
#S(XLIB::PENDING-COMMAND
:SEQUENCE 2516
:REPLY-BUFFER NIL
:PROCESS #<SB-THREAD:THREAD "initial thread" RUNNING {1002BC78D1}>
:NEXT NIL))
12: (XLIB:KEYBOARD-MAPPING
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
:FIRST-KEYCODE
NIL
:START
NIL
:END
NIL
:DATA
NIL)
13: (XLIB::DISPLAY-KEYBOARD-MAPPING
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>)
14: (XLIB:KEYSYM->KEYCODES
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
65511)
15: ((LABELS STUMPWM::FIND-MOD) "Meta_L" NIL)
16: (STUMPWM::GET-MODIFIER-MAP)
17: (STUMPWM::UPDATE-MODIFIER-MAP)
18: ((LABELS #:G578) :REQUEST :KEYBOARD :START 8 :COUNT 248)
19: ((FLET #:FORM-FUN-[HANDLE-EVENT]997))
20: (STUMPWM::HANDLE-EVENT
:DISPLAY
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
:EVENT-KEY
:MAPPING-NOTIFY
:EVENT-CODE
34
:SEND-EVENT-P
NIL
:SEQUENCE
2514
:REQUEST
:KEYBOARD
:START
8
:COUNT
248)
21: (XLIB::MAPPING-NOTIFY-EVENT-GET
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
#S(XLIB::REPLY-BUFFER
:SIZE 34
:IBUF8 #(34 25 210 9 1 8 248 0 243 25 10 124 255 127 0 0 242 25 10 124
255 127 0 0 1 0 0 0 3 0 0 0)
:NEXT #S(XLIB::REPLY-BUFFER
:SIZE 34
:IBUF8 #(34 25 210 9 0 0 0 0 243 25 10 124 255 127 0 0 242 25
10 124 255 127 0 0 1 0 0 0 3 0 0 0)
:NEXT #S(XLIB::REPLY-BUFFER
:SIZE 10
:IBUF8 #(10 0 210 9 4 0 160 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0)
:NEXT #S(XLIB::REPLY-BUFFER
:SIZE 10
:IBUF8 #(10 5 210 9 4 0 160 0 2 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
:NEXT #S(XLIB::REPLY-BUFFER
:SIZE 9
:IBUF8 #(9 0 210 9 4 0 160 0 2 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0)
:NEXT NIL
:DATA-SIZE 32)
:DATA-SIZE 32)
:DATA-SIZE 32)
:DATA-SIZE 32)
:DATA-SIZE 32)
#<FUNCTION STUMPWM::HANDLE-EVENT>)
22: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
23: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]324))
24: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK
#<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK) {7FFFF4FA6079}>
#S(SB-THREAD:MUTEX
:NAME "CLX Event Lock"
:%OWNER #<SB-THREAD:THREAD "initial thread" RUNNING {1002BC78D1}>
:STATE 1))
25: (XLIB:PROCESS-EVENT
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
:HANDLER
#<FUNCTION STUMPWM::HANDLE-EVENT>
:TIMEOUT
NIL
:PEEK-P
NIL
:DISCARD-P
NIL
:FORCE-OUTPUT-P
T)
26: (STUMPWM::STUMPWM-INTERNAL-LOOP)
27: (STUMPWM::STUMPWM-INTERNAL ":0.0")
28: (STUMPWM ":0.0")
29: (SB-INT:SIMPLE-EVAL-IN-LEXENV (STUMPWM) #<NULL-LEXENV>)
30: (SB-FASL::LOAD-AS-SOURCE
#<SB-SYS:FD-STREAM for "file /home/ancient/bin/stumpwm.lisp" {1004E42231}>
NIL
NIL)
31: ((FLET SB-FASL::LOAD-STREAM)
#<SB-SYS:FD-STREAM for "file /home/ancient/bin/stumpwm.lisp" {1004E42231}>
NIL)
32: (LOAD
#P"/home/ancient/bin/stumpwm.lisp"
:VERBOSE
NIL
:PRINT
NIL
:IF-DOES-NOT-EXIST
T
:EXTERNAL-FORMAT
:DEFAULT)
33: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS
((:LOAD . "/home/ancient/bin/stumpwm.lisp")))
34: (SB-IMPL::TOPLEVEL-INIT)
35: ((LABELS SB-IMPL::RESTART-LISP))

debugger invoked on a XLIB:ALLOC-ERROR in thread #<THREAD
"initial thread" RUNNING
{1002BC78D1}>:
ALLOC-ERROR in current request Code 101.0 [GetKeyboardMapping]

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [QUIT-STUMPWM] Quit Stumpwm
1: [CONTINUE ] Ignore runtime option --load "/home/ancient/bin/stumpwm.lisp".
2: [ABORT ] Skip rest of --eval and --load options.
3: Skip to toplevel READ/EVAL/PRINT loop.
4: [QUIT ] Quit SBCL (calling #'QUIT, killing the process).

(STUMPWM::ERROR-HANDLER
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
XLIB:ALLOC-ERROR
:ASYNCHRONOUS
NIL
:CURRENT-SEQUENCE
12
:MAJOR
101
:MINOR
0
:SEQUENCE
12)
source:

(T (APPLY 'ERROR ERROR-KEY :DISPLAY DISPLAY :ERROR-KEY ERROR-KEY KEY-VALS))
0]
IMPL::TOPLEVEL-INIT)
35: ((LABELS SB-IMPL::RESTART-LISP))

debugger invoked on a XLIB:ALLOC-ERROR in thread #<THREAD
"initial thread" RUNNING
{1002BC78D1}>:
ALLOC-ERROR in current request Code 101.0 [GetKeyboardMapping]

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [QUIT-STUMPWM] Quit Stumpwm
1: [CONTINUE ] Ignore runtime option --load "/home/ancient/bin/stumpwm.lisp".
2: [ABORT ] Skip rest of --eval and --load options.
3: Skip to toplevel READ/EVAL/PRINT loop.
4: [QUIT ] Quit SBCL (calling #'QUIT, killing the process).

(STUMPWM::ERROR-HANDLER
#<XLIB:DISPLAY :0 (The X.Org Foundation R10707000)>
XLIB:ALLOC-ERROR
:ASYNCHRONOUS
NIL
:CURRENT-SEQUENCE
12
:MAJOR
101
:MINOR
0
:SEQUENCE
12)
source:

(T (APPLY 'ERROR ERROR-KEY :DISPLAY DISPLAY :ERROR-KEY ERROR-KEY KEY-VALS))
0]

1 件のコメント:

Yoshinori Tahara さんのコメント...

いまは、なおってる。よかった。