From: Julian S. <der...@we...> - 2008-10-15 01:25:58
|
Hello, stumpwm (http://www.nongnu.org/stumpwm/) tends to hang now and then (once in a day or two) when running external programs from its X event loop via run-program. In my particular case, I call iwconfig to display wireless networking info in stumpwm's mode-line. Because of this I run stumpwm inside a screen session. Hitting ^C in the terminal gives the following backtrace: debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread #<THREAD "initial thread" RUNNING {B225671}>: Interactive interrupt at #xB7FE3424. 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 ("bogus stack frame") 0] backtrace 0: ("bogus stack frame") 1: (SB-SYS:DECODE-TIMEOUT 0) 2: (SB-SYS:SERVE-EVENT 0) 3: (SB-SYS:SERVE-ALL-EVENTS 1) 4: (SB-EXT:PROCESS-WAIT #<SB-IMPL::PROCESS :EXITED 0> NIL) 5: (SB-EXT:RUN-PROGRAM "/bin/sh" ("-c" "/sbin/iwconfig wlan0 2>/dev/null"))[:EXTERNAL] 6: (STUMPWM::RUN-PROG-COLLECT-OUTPUT "/bin/sh")[:EXTERNAL] 7: (RUN-SHELL-COMMAND "/sbin/iwconfig wlan0 2>/dev/null" T) 8: (STUMPWM.CONTRIB.WIFI::FMT-WIFI #<unavailable argument>) 9: (STUMPWM::FORMAT-EXPAND ((#\I #) (#\B #) (#\t STUMPWM::FMT-CPU-TEMP) (#\f STUMPWM::FMT-CPU-FREQ) (#\C STUMPWM::FMT-CPU-USAGE-BAR) (#\c STUMPWM::FMT-CPU-USAGE) (#\w STUMPWM::FMT-WINDOW-LIST) (#\g STUMPWM::FMT-GROUP-LIST) (#\h STUMPWM::FMT-HEAD) (#\n STUMPWM::FMT-GROUP) (#\W STUMPWM::FMT-HEAD-WINDOW-LIST) (#\u STUMPWM::FMT-URGENT-WINDOW-LIST)) "%c %f@%t | BAT %B | %I | %g %W")[:EXTERNAL] 10: (STUMPWM::REDRAW-MODE-LINE #S(STUMPWM::MODE-LINE :SCREEN #S<screen #<XLIB:SCREEN :0.0 1440x900x24 TRUE-COLOR>> :HEAD #S(frame 0 NIL 0 0 1440 900) :WINDOW #<XLIB:WINDOW :0 A0000C> :FORMAT *SCREEN-MODE-LINE-FORMAT* :POSITION :TOP :CONTENTS "CPU: ^[ 12%^] 1.00GHz@58 C | BAT ~ 100% | boelthorn ^[97%^] | 1-im ^R2*web^r 3+emacs 4-irc 5-music ^R 0*Typemaps - Minefield^r" :CC #S(STUMPWM::CCONTEXT :WIN #<XLIB:WINDOW :0 A0000C> :GC #<XLIB:GCONTEXT :0 10485773> :DEFAULT-FG 8355711 :DEFAULT-BRIGHT 12566463 :DEFAULT-BG 0) :HEIGHT 32 :FACTOR 217/225 :MODE :STUMP) NIL) 11: (STUMPWM::UPDATE-MODE-LINES #S<screen #<XLIB:SCREEN :0.0 1440x900x24 TRUE-COLOR>>) 12: (STUMPWM::UPDATE-ALL-MODE-LINES) 13: (STUMPWM::RUN-EXPIRED-TIMERS (#S(STUMPWM::TIMER :TIME 13159444 :REPEAT 5 :FUNCTION STUMPWM::UPDATE-ALL-MODE-LINES :ARGS NIL))) 14: (STUMPWM::STUMPWM-INTERNAL-LOOP) 15: (STUMPWM::STUMPWM-INTERNAL-LOOP)[:EXTERNAL] 16: (STUMPWM::STUMPWM-INTERNAL ":0.0") 17: (STUMPWM ":0.0") 18: ((LAMBDA ())) 19: ((LABELS SB-IMPL::RESTART-LISP)) Another time I got: 0: ((FLET #:CLEANUP-FUN-[SELECT-DESCRIPTOR-HANDLERS]74))[:CLEANUP] 1: (SB-IMPL::SELECT-DESCRIPTOR-HANDLERS #<CLOSURE (LAMBDA #) {C177F0D}>) 2: (SB-IMPL::SELECT-DESCRIPTOR-HANDLERS #<CLOSURE (LAMBDA #) {C177F0D}>)[:EXTERNAL] 3: (SB-IMPL::SUB-SUB-SERVE-EVENT 0 0) 4: (SB-IMPL::SUB-SERVE-EVENT 0 0 NIL) 5: (SB-SYS:SERVE-ALL-EVENTS 1) 6: (SB-EXT:PROCESS-WAIT #<SB-IMPL::PROCESS :EXITED 0> NIL) 7: (SB-EXT:RUN-PROGRAM "/bin/sh" ("-c" "/sbin/iwconfig wlan0 2>/dev/null"))[:EXTERNAL] ... I have failed to produce a small testcase to provoke this hang, which has so far crippled every attempt at debugging this. If I can supply additional info in order to resolve this, I am more than happy to do this. This is a My system: SBCL 1.0.19-gentoo Linux 2.6.27 (Gentoo) x86 dual core Regards, -- Julian Stecklina Well, take it from an old hand: the only reason it would be easier to program in C is that you can't easily express complex problems in C, so you don't. - Erik Naggum (in comp.lang.lisp) |