On 2017-02-16 10:45:37 -0700, Jaimos Skriletz wrote:
> On Thu, Feb 16, 2017 at 9:24 AM, Vincent Lefevre <vinc...@vinc17.net> wrote:
> > On 2017-02-15 15:10:19 +0100, Vincent Lefevre wrote:
> >> It seems that the window remains on screen until some particular
> >> fvwm operation makes it disappear. In particular, I have:
> >>
> >> Mouse 0         1       A       Windowops-or-Die
> >>
> >> where Windowops-or-Die opens a menu. I was getting this menu
> >> when I clicked on the title-bar button 1, but when I selected
> >> "Module FvwmIdent", the window disappeared.
> >
> > Running the xprop utility (without arguments) also makes the
> > window disappear.
> 
> I recall some issue similar to this, but it only appeared with a patch
> I was testing that is not included. In my normal setup I have not
> experienced this issue and was not able to reproduce it without that
> patch I was testing. In order to try to provide upstream with the best
> info I can can you try two things.
> 
> 1) First, what is your method of closing the xterm window?

I detach the GNU Screen session, thus the "screen" command ends,
so that the shell script started by xterm also ends, and xterm
quits as a consequence. I detach the  GNU Screen session by doing
"^z d" (where ^z is the command character in my Screen config).
So, fvwm is not involved at all concerning the window destruction.

Note: I could reproduce the bug by running my script in xterm, then
hitting [Enter] to place the window, then ^z d (so, the mouse is not
used at all).

I can't reproduce the bug when fvwm is running under valgrind.
However, I note various valgrind errors (see attached file).

> 2) Can you produce this using the default-config or a minimal config
> and provide instructions so I can reproduce it?

This is quite difficult as it takes time to reproduce the problem,
at least for the first time (then it seems to occur more often until
I restart fvwm, but I'm not sure). And it doesn't mean that you
would be able to reproduce it as it seems to be timing dependent.

It may be better if fvwm had internal logging mechanism and/or
assertions to see what's going on.

> I tried running your xterm command and just get errors about the
> option "-" not being recognized.

Sorry, one problem is the lack of quotes in ps output, and forgot to
add some of them. This should be:

  /usr/bin/xterm -xrm "*printFileOnXError: 
/home/vlefevre/private/xterm-saved-1487164622-23460" +sb -sl 0 -n "Mutt - 
cventin" -T Mutt -e sh -c "smutt || { echo 'Press [Enter] to quit.'; read x; }"

You don't have the smutt script, but this should be equivalent to
something like: ... -e sh -c "exec screen -dRR"

The -dRR option is:

  -d -RR  Reattach a session and if necessary detach or create it. Use
          the first session if more than one session is available.

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
==12420== Memcheck, a memory error detector
==12420== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==12420== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==12420== Command: fvwm2 -cmd ModuleSynchronous\ FvwmM4\ -lock\ 
/home/vlefevre/etc/fvwm2rc.m4
==12420== Parent PID: 12326
==12420== 
==12420== Syscall param writev(vector[...]) points to uninitialised byte(s)
==12420==    at 0x837ED40: __writev_nocancel (syscall-template.S:84)
==12420==    by 0x8C6E41C: ??? (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==12420==    by 0x8C6E81C: ??? (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==12420==    by 0x8C6E89C: xcb_writev (in 
/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==12420==    by 0x5EE6A7D: _XSend (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==12420==    by 0x5EE6F71: _XReply (in 
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==12420==    by 0x5EE2B1C: XSync (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==12420==    by 0x11A05E: main (fvwm.c:2441)
==12420==  Address 0xf2db2f0 is 32 bytes inside a block of size 16,384 alloc'd
==12420==    at 0x4C2DBC5: calloc (vg_replace_malloc.c:711)
==12420==    by 0x5ED6EC5: XOpenDisplay (in 
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==12420==    by 0x11AEA9: main (fvwm.c:2179)
==12420== 
==12420== Conditional jump or move depends on uninitialised value(s)
==12420==    at 0x12A10D: style_parse_one_style_option (style.c:2588)
==12420==    by 0x12E771: parse_and_set_window_style (style.c:4585)
==12420==    by 0x12E771: __style_command.isra.7 (style.c:4675)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x18F410: run_command_stream (read.c:155)
==12420==    by 0x18F510: run_command_file (read.c:258)
==12420==    by 0x18F6C6: CMD_Read (read.c:322)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x1856EF: module_input_execute (module_interface.c:713)
==12420==    by 0x17D194: CMD_ModuleSynchronous (module_list.c:1218)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x11ABC0: main (fvwm.c:2516)
==12420== 
==12420== Syscall param write(buf) points to uninitialised byte(s)
==12420==    at 0x8379600: __write_nocancel (syscall-template.S:84)
==12420==    by 0x17BBF9: FlushMessageQueue.part.6 (module_list.c:968)
==12420==    by 0x13BCEA: My_XNextEvent (events.c:4526)
==12420==    by 0x13D008: HandleEvents (events.c:4347)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420==  Address 0xf7bd141 is 305 bytes inside a block of size 328 alloc'd
==12420==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==12420==    by 0x17C0AE: PositiveWrite (module_list.c:566)
==12420==    by 0x184905: BroadcastNewPacket.constprop.1 
(module_interface.c:266)
==12420==    by 0x18505B: BroadcastConfig (module_interface.c:386)
==12420==    by 0x153109: AddWindow (add_window.c:2564)
==12420==    by 0x13B334: HandleMapRequestKeepRaised (events.c:3126)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420== 
==12420== Conditional jump or move depends on uninitialised value(s)
==12420==    at 0x17DE37: __update_windowlist (focus.c:207)
==12420==    by 0x17DE37: __set_focus_to_fwin (focus.c:301)
==12420==    by 0x17DE37: set_focus_to_fwin (focus.c:412)
==12420==    by 0x17E469: _SetFocusWindow (focus.c:973)
==12420==    by 0x13C6A8: HandleEnterNotify (events.c:2346)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420== 
==12420== Syscall param write(buf) points to uninitialised byte(s)
==12420==    at 0x8379600: __write_nocancel (syscall-template.S:84)
==12420==    by 0x17BBF9: FlushMessageQueue.part.6 (module_list.c:968)
==12420==    by 0x17CB40: FlushMessageQueue (module_list.c:1049)
==12420==    by 0x17CB40: FlushAllMessageQueues (module_list.c:1051)
==12420==    by 0x14488B: __move_loop (move_resize.c:2902)
==12420==    by 0x146016: InteractiveMove (move_resize.c:1296)
==12420==    by 0x146016: __move_window.isra.15 (move_resize.c:1856)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x177258: __run_complex_function_items (functions.c:844)
==12420==    by 0x176F31: execute_complex_function (functions.c:1178)
==12420==    by 0x176F31: __execute_function (functions.c:665)
==12420==    by 0x13EB5A: __handle_bpress_action (events.c:1695)
==12420==    by 0x13EB5A: __handle_bpress_on_managed (events.c:1796)
==12420==    by 0x13EB5A: HandleButtonPress (events.c:1854)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420==  Address 0xf8dcb81 is 305 bytes inside a block of size 328 alloc'd
==12420==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==12420==    by 0x17C0AE: PositiveWrite (module_list.c:566)
==12420==    by 0x184905: BroadcastNewPacket.constprop.1 
(module_interface.c:266)
==12420==    by 0x18505B: BroadcastConfig (module_interface.c:386)
==12420==    by 0x144886: __move_loop (move_resize.c:2901)
==12420==    by 0x146016: InteractiveMove (move_resize.c:1296)
==12420==    by 0x146016: __move_window.isra.15 (move_resize.c:1856)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x177258: __run_complex_function_items (functions.c:844)
==12420==    by 0x176F31: execute_complex_function (functions.c:1178)
==12420==    by 0x176F31: __execute_function (functions.c:665)
==12420==    by 0x13EB5A: __handle_bpress_action (events.c:1695)
==12420==    by 0x13EB5A: __handle_bpress_on_managed (events.c:1796)
==12420==    by 0x13EB5A: HandleButtonPress (events.c:1854)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420== 
==12420== Syscall param write(buf) points to uninitialised byte(s)
==12420==    at 0x8379600: __write_nocancel (syscall-template.S:84)
==12420==    by 0x17BBF9: FlushMessageQueue.part.6 (module_list.c:968)
==12420==    by 0x17CB40: FlushMessageQueue (module_list.c:1049)
==12420==    by 0x17CB40: FlushAllMessageQueues (module_list.c:1051)
==12420==    by 0x142B3D: __resize_window.isra.13 (move_resize.c:4224)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x177258: __run_complex_function_items (functions.c:844)
==12420==    by 0x176F31: execute_complex_function (functions.c:1178)
==12420==    by 0x176F31: __execute_function (functions.c:665)
==12420==    by 0x13EB5A: __handle_bpress_action (events.c:1695)
==12420==    by 0x13EB5A: __handle_bpress_on_managed (events.c:1796)
==12420==    by 0x13EB5A: HandleButtonPress (events.c:1854)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420==  Address 0x117d8e11 is 305 bytes inside a block of size 328 alloc'd
==12420==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==12420==    by 0x17C0AE: PositiveWrite (module_list.c:566)
==12420==    by 0x184905: BroadcastNewPacket.constprop.1 
(module_interface.c:266)
==12420==    by 0x18505B: BroadcastConfig (module_interface.c:386)
==12420==    by 0x15D8AF: __frame_setup_window (frame.c:439)
==12420==    by 0x15D9D3: frame_setup_window (frame.c:2059)
==12420==    by 0x141337: __resize_step.isra.9 (move_resize.c:3591)
==12420==    by 0x1432F1: __resize_window.isra.13 (move_resize.c:4148)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x177258: __run_complex_function_items (functions.c:844)
==12420==    by 0x176F31: execute_complex_function (functions.c:1178)
==12420==    by 0x176F31: __execute_function (functions.c:665)
==12420==    by 0x13EB5A: __handle_bpress_action (events.c:1695)
==12420==    by 0x13EB5A: __handle_bpress_on_managed (events.c:1796)
==12420==    by 0x13EB5A: HandleButtonPress (events.c:1854)
==12420== 
==12420== Syscall param write(buf) points to uninitialised byte(s)
==12420==    at 0x8379600: __write_nocancel (syscall-template.S:84)
==12420==    by 0x17BBF9: FlushMessageQueue.part.6 (module_list.c:968)
==12420==    by 0x17CB40: FlushMessageQueue (module_list.c:1049)
==12420==    by 0x17CB40: FlushAllMessageQueues (module_list.c:1051)
==12420==    by 0x1429CE: __resize_window.isra.13 (move_resize.c:4224)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x177258: __run_complex_function_items (functions.c:844)
==12420==    by 0x176F31: execute_complex_function (functions.c:1178)
==12420==    by 0x176F31: __execute_function (functions.c:665)
==12420==    by 0x13EB5A: __handle_bpress_action (events.c:1695)
==12420==    by 0x13EB5A: __handle_bpress_on_managed (events.c:1796)
==12420==    by 0x13EB5A: HandleButtonPress (events.c:1854)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420==  Address 0xf4600e1 is 305 bytes inside a block of size 328 alloc'd
==12420==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==12420==    by 0x17C0AE: PositiveWrite (module_list.c:566)
==12420==    by 0x184905: BroadcastNewPacket.constprop.1 
(module_interface.c:266)
==12420==    by 0x18505B: BroadcastConfig (module_interface.c:386)
==12420==    by 0x1429C9: __resize_window.isra.13 (move_resize.c:4217)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x177258: __run_complex_function_items (functions.c:844)
==12420==    by 0x176F31: execute_complex_function (functions.c:1178)
==12420==    by 0x176F31: __execute_function (functions.c:665)
==12420==    by 0x13EB5A: __handle_bpress_action (events.c:1695)
==12420==    by 0x13EB5A: __handle_bpress_on_managed (events.c:1796)
==12420==    by 0x13EB5A: HandleButtonPress (events.c:1854)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420== 
==12420== Syscall param write(buf) points to uninitialised byte(s)
==12420==    at 0x8379600: __write_nocancel (syscall-template.S:84)
==12420==    by 0x17BBF9: FlushMessageQueue.part.6 (module_list.c:968)
==12420==    by 0x17CB40: FlushMessageQueue (module_list.c:1049)
==12420==    by 0x17CB40: FlushAllMessageQueues (module_list.c:1051)
==12420==    by 0x143641: __resize_window.isra.13 (move_resize.c:4224)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x177258: __run_complex_function_items (functions.c:844)
==12420==    by 0x176F31: execute_complex_function (functions.c:1178)
==12420==    by 0x176F31: __execute_function (functions.c:665)
==12420==    by 0x13EB5A: __handle_bpress_action (events.c:1695)
==12420==    by 0x13EB5A: __handle_bpress_on_managed (events.c:1796)
==12420==    by 0x13EB5A: HandleButtonPress (events.c:1854)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420==  Address 0xf4987b1 is 305 bytes inside a block of size 328 alloc'd
==12420==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==12420==    by 0x17C0AE: PositiveWrite (module_list.c:566)
==12420==    by 0x184905: BroadcastNewPacket.constprop.1 
(module_interface.c:266)
==12420==    by 0x18505B: BroadcastConfig (module_interface.c:386)
==12420==    by 0x14363C: __resize_window.isra.13 (move_resize.c:4217)
==12420==    by 0x17672C: __execute_function (functions.c:645)
==12420==    by 0x177258: __run_complex_function_items (functions.c:844)
==12420==    by 0x176F31: execute_complex_function (functions.c:1178)
==12420==    by 0x176F31: __execute_function (functions.c:665)
==12420==    by 0x13EB5A: __handle_bpress_action (events.c:1695)
==12420==    by 0x13EB5A: __handle_bpress_on_managed (events.c:1796)
==12420==    by 0x13EB5A: HandleButtonPress (events.c:1854)
==12420==    by 0x13C2A6: dispatch_event (events.c:4306)
==12420==    by 0x13D028: HandleEvents (events.c:4357)
==12420==    by 0x11AC9C: main (fvwm.c:2599)
==12420== 

Reply via email to