On Sat 06 Jul 2019 at 23:34:07 -0500, Matthew D. Fuller wrote:
> Now, I _can_ cause a crash on leaving the old.  I do that by having a
> transient up of the focus/fullscreen, _and_ having another window
> that's in a + OTP layer (e.g., an xterm in +2), then moving out of the
> fullscreener.  Great.  And with my patch, that...  also crashes.  In a
> new way.  Crap.

I *think* I can now recreate the crash on demand.
I am using the latest trunk for that, with indeed a MonitorLayout to
help me create various situations. None of the patches attempting to fix
these bugs.

Beginning state: fullscreen focused Xine window ("F"), and on top of
that, the Xine Panel window ("P"). Below, there are some other windows
(one should be enough but by default I start more). One of them ("W")
partially overlaps with the Panel window.

Now I use the window ring to bring focus to W which comes up partially
on top of P. Now I move the mouse directly into P. (To my surprise, W
did not disappear behind a rising F). I use focus follows mouse.  Then
move the mouse directly info F.  Kaboom.

Sometimes I notice another weirdness: despite using f.warpring to go to
W, it does not always come to the top as it should (since F isn't
focused any more, it has no reason to stay on top of W). If W doesn't
raise, I force it to the top with a key combo I have set for that (but
whatever other means you may use for that would work as well).

OtpCheckConsistencyVS(): Priority went backward (14:'xine: ' -> 8:'xterm')
OwlPrettyPrint():
  pri= 8 (+0) win 0x1a00051:'TWM Icon Manager'
         basepri=8
...
  pri= 8 (+0) win 0x1000003:'aumix'
         basepri=8 
  pri=14 (+6) win 0x1c0037a:'xine: '
         basepri=8  _FULLSCREEN
  pri= 8 (+0) win 0x140000d:'xterm'
         basepri=8 
  pri= 8 (+0) win 0x120000d:'xterm'
         basepri=8 
  pri=14 (+6) win 0x1c00301:'xine Panel'
         basepri=8  _FULLSCREEN
         transient for 0x1c0037a:xine: 
  Done.

#0  0x000074ba168fe7ea in _lwp_kill () from /usr/lib/libc.so.12
#1  0x000074ba168fe092 in abort () from /usr/lib/libc.so.12
#2  0x0000000000423208 in OtpCheckConsistencyVS (currentvs=<optimized out>, 
    vroot=<optimized out>) at 
/mnt/vol1/rhialto/cvs/other/ctwm/bzr/trunk/otp.c:258
#3  0x00000000004240d3 in OtpCheckConsistency ()
    at /mnt/vol1/rhialto/cvs/other/ctwm/bzr/trunk/otp.c:201
#4  OtpRestackWindow (twm_win=twm_win@entry=0x74ba18b40c00)
    at /mnt/vol1/rhialto/cvs/other/ctwm/bzr/trunk/otp.c:1626
#5  0x000000000042f705 in SetFocus (tmp_win=0x74ba18b40800, tim=<optimized out>)
    at /mnt/vol1/rhialto/cvs/other/ctwm/bzr/trunk/win_ops.c:168
#6  0x00000000004096b0 in HandleEnterNotify ()
    at /mnt/vol1/rhialto/cvs/other/ctwm/bzr/trunk/event_handlers.c:3301
#7  0x0000000000408804 in DispatchEvent ()
    at /mnt/vol1/rhialto/cvs/other/ctwm/bzr/trunk/event_core.c:331
#8  0x0000000000408aa8 in HandleEvents ()
    at /mnt/vol1/rhialto/cvs/other/ctwm/bzr/trunk/event_core.c:203
#9  0x0000000000407eff in ctwm_main (argc=<optimized out>, argv=<optimized out>)
    at /mnt/vol1/rhialto/cvs/other/ctwm/bzr/trunk/ctwm_main.c:1055
#10 0x00000000004061ab in ___start ()

An alternative to bringing W to the top, is continuing to warp and if
you directly get to P, then moving the mouse to F also crashes.

OtpCheckConsistencyVS(): Priority went backward (14:'xine: ' -> 8:'xterm')
OwlPrettyPrint():
...
  pri= 8 (+0) win 0x160000d:'xterm'
         basepri=8 
  pri=14 (+6) win 0x120039e:'xine: '
         basepri=8  _FULLSCREEN
  pri= 8 (+0) win 0x140000d:'xterm'
         basepri=8 
  pri=14 (+6) win 0x1200301:'xine Panel'
         basepri=8  _FULLSCREEN
         transient for 0x120039e:xine: 
  Done.

Program received signal SIGABRT, Aborted.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- "What good is a Ring of Power
\X/ rhialto/at/falu.nl      -- if you're unable...to Speak." - Agent Elrond

Attachment: signature.asc
Description: PGP signature

Reply via email to