stumpwm-devel
[Top][All Lists]
Advanced

[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




reply via email to

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