[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [STUMP] Stumpwm Crashes when disconnecting monitor via xrandr.
From: |
Eric Abrahamsen |
Subject: |
Re: [STUMP] Stumpwm Crashes when disconnecting monitor via xrandr. |
Date: |
Mon, 21 Jul 2014 22:30:36 +0800 |
User-agent: |
Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.4.50 (gnu/linux) |
David Bjergaard <address@hidden> writes:
> Can someone summarize the state of this bug? I have very little time to
> dig into this, and I have no way of reproducing it on my machines. I
> know that there was some references to previous patches to address
> this. That would at least localize this bug to some region of the code.
It's this commit:
https://github.com/stumpwm/stumpwm/commit/8a59c96f340351559f87a39685268e8c15a98e0e
The bit at the top, lines 118 to 120. There was something funny about
the :key argument of the call to `sort'. I think the reason no one could
figure it out was that it didn't make much sense that providing a more
complex key to the sort would cause a crash. Yet it did. Or perhaps I've
gotten it backwards; at any rate this is the commit, and this is the
code section that causes the problem.
>
> Dave
>
> Eric Abrahamsen <address@hidden> writes:
>
>> Ernesto Alfonso <address@hidden> writes:
>>
>>> After I physically remove my external monitor, I run an xrandr
>>> command to logically disconnect it. When doing this, and there are
>>> frames in the disconnected screen/monitor, stumpwm crashes with an
>>> "unhandled error",
>>
>> Yup, this is a known bug, you could subscribe to this report if you
>> like:
>>
>> https://github.com/stumpwm/stumpwm/issues/71
>>
>>> The xrandr command consists of something like the following:
>>>
>>> xrandr --output VGA1 --off
>>>
>>> The error backtrace is copied below. (Also, the
>>> "copy-unhandled-error" does not work for me. I had to run the below
>>> command via swank)
>>
>> I've noticed the same thing -- copy-unhandled-error doesn't seem to do
>> anything. Perhaps a new bug report...
>>
>>> (format nil "~a~%~a" (first *last-unhandled-error*) (second
>>> *last-unhandled-error*))
>>> "The value NIL is not of type FRAME.
>>> 0: (SB-DEBUG::MAP-BACKTRACE
>>> #<CLOSURE (LAMBDA # :IN SB-DEBUG:BACKTRACE) {100607126B}>
>>> :START
>>> 0
>>> :COUNT
>>> 100)
>>> 1: (SB-DEBUG:BACKTRACE 100 #<SB-IMPL::STRING-OUTPUT-STREAM
>>> {1006071163}>)
>>> 2: (STUMPWM::BACKTRACE-STRING)
>>> 3: (STUMPWM::PERFORM-TOP-LEVEL-ERROR-ACTION
>>> #<TYPE-ERROR expected-type: STUMPWM::FRAME datum: NIL>)
>>> 4: (SIGNAL #<TYPE-ERROR expected-type: STUMPWM::FRAME datum: NIL>)
>>> 5: (ERROR TYPE-ERROR :DATUM NIL :EXPECTED-TYPE STUMPWM::FRAME)
>>> 6: (SB-KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER
>>> #<unavailable argument>
>>> #.(SB-SYS:INT-SAP #X7FFFF6EBED80)
>>> #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X7FFFF6EBE8C0 :TYPE (*
>>>
>>> (SB-ALIEN:STRUCT
>>>
>>> SB-VM::OS-CONTEXT-T-STRUCT))>
>>> (149 21))
>>> 7: (SB-KERNEL:INTERNAL-ERROR
>>> #.(SB-SYS:INT-SAP #X7FFFF6EBE8C0)
>>> #<unavailable argument>)
>>> 8: (\"foreign function: call_into_lisp\")
>>> 9: (\"foreign function: funcall2\")
>>> 10: (\"foreign function: interrupt_internal_error\")
>>> 11: (\"foreign function: #x41357B\")
>>> 12: ((SB-PCL::FAST-METHOD STUMPWM::GROUP-CURRENT-WINDOW
>>> (STUMPWM::TILE-GROUP))
>>> #<unavailable argument>
>>> #<unavailable argument>
>>> #<STUMPWM::TILE-GROUP {1003D44AF3}>)
>>> 13: (STUMPWM::HIDE-WINDOW #S(TILE-WINDOW \"ROXTerm\" #x600003))
>>> 14: ((SB-PCL::FAST-METHOD STUMPWM::GROUP-REMOVE-HEAD
>>> (STUMPWM::TILE-GROUP T))
>>> #<unavailable argument>
>>> #<unavailable argument>
>>> #<STUMPWM::TILE-GROUP {1003D44AF3}>
>>> #S(frame 1 NIL 0 0 1280 800))
>>> 15: (STUMPWM::REMOVE-HEAD
>>> #S<screen #<XLIB:SCREEN :0.0 1280x800x24 TRUE-COLOR>>
>>> #S(frame 1 NIL 0 0 1280 800))
>>> 16: (STUMPWM::SCALE-SCREEN
>>> #S<screen #<XLIB:SCREEN :0.0 1280x800x24 TRUE-COLOR>>
>>> (#S(frame 0 NIL 0 0 1280 800)))
>>> 17: ((LABELS #:G76 :IN \"/home/ernesto/programs/stumpwm/events.lisp\
>>> ")
>>> :STACK-MODE
>>> NIL
>>> :WINDOW
>>> #<XLIB:WINDOW :0 AC>
>>> :X
>>> 0
>>> :Y
>>> 0
>>> :WIDTH
>>> 1280
>>> :HEIGHT
>>> 800
>>> :BORDER-WIDTH
>>> 0
>>> :VALUE-MASK
>>> NIL)
>>> 18: (STUMPWM::HANDLE-EVENT
>>> :DISPLAY
>>> #<XLIB:DISPLAY :0 (The X.Org Foundation R11204000)>
>>> :EVENT-KEY
>>> :CONFIGURE-NOTIFY
>>> :EVENT-CODE
>>> 22
>>> :SEND-EVENT-P
>>> NIL
>>> :SEQUENCE
>>> 26141
>>> :EVENT-WINDOW
>>> #<XLIB:WINDOW :0 AC>
>>> :WINDOW
>>> #<XLIB:WINDOW :0 AC>
>>> :ABOVE-SIBLING
>>> NIL
>>> :X
>>> 0
>>> :Y
>>> 0
>>> :WIDTH
>>> 1280
>>> :HEIGHT
>>> 800
>>> :BORDER-WIDTH
>>> 0
>>> :OVERRIDE-REDIRECT-P
>>> NIL)
>>> 19: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN
>>> XLIB:PROCESS-EVENT))
>>> 20: ((FLET #:WITHOUT-INTERRUPTS-BODY-89240 :IN
>>> SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
>>> 21: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK
>>> #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN
>>> XLIB:PROCESS-EVENT)
>>> {7FFFF6EBF5FB}>
>>> #<SB-THREAD:MUTEX \"CLX Event Lock\"
>>> owner: #<SB-THREAD:THREAD \"main thread\" RUNNING
>>> {1003C71043}>>)
>>> 22: ((FLET SB-IMPL::TIMEOUT-BODY :IN XLIB:PROCESS-EVENT))
>>> 23: (XLIB:PROCESS-EVENT
>>> #<XLIB:DISPLAY :0 (The X.Org Foundation R11204000)>
>>> :HANDLER
>>> #<FUNCTION STUMPWM::HANDLE-EVENT>
>>> :TIMEOUT
>>> 0
>>> :PEEK-P
>>> NIL
>>> :DISCARD-P
>>> NIL
>>> :FORCE-OUTPUT-P
>>> T)
>>> 24: ((FLET #:WITHOUT-INTERRUPTS-BODY-89240 :IN
>>> SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
>>> 25: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK
>>> #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN
>>> STUMPWM::STUMPWM-INTERNAL-LOOP)
>>> {7FFFF6EBFB2B}>
>>> #<SB-THREAD:MUTEX \"CLX Event Lock\"
>>> owner: #<SB-THREAD:THREAD \"main thread\" RUNNING
>>> {1003C71043}>>)
>>> 26: (STUMPWM::STUMPWM-INTERNAL-LOOP)
>>> 27: (STUMPWM::STUMPWM-INTERNAL \":0\")
>>> 28: (STUMPWM \":0\")
>>> 29: ((LAMBDA () :IN \"/home/ernesto/programs/stumpwm/make-image.lisp\
>>> "))
>>> 30: ((FLET #:WITHOUT-INTERRUPTS-BODY-236916 :IN
>>> SB-EXT:SAVE-LISP-AND-DIE))
>>> 31: ((LABELS SB-IMPL::RESTART-LISP :IN SB-EXT:SAVE-LISP-AND-DIE))
>>> "
>>>
>>>
>>> _______________________________________________
>>> Stumpwm-devel mailing list
>>> address@hidden
>>> https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
>>
>>
>> _______________________________________________
>> Stumpwm-devel mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
>
> _______________________________________________
> Stumpwm-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/stumpwm-devel