Thank you very much, Dominik, for your reply and the enlightening explanations.

> On the site you mentioned below there are only 64-bit Linux
> binaries available for download, and only for version 12.  I'd
> like to help, but I need a 32 bit Linux version that shows the bug
> and that can actually be downloaded (i.e. I can't download
> anything from the site because the download links trigger a
> redirect loop).

As far as I understood, the latest version of Vmware Player that supports
32 bit architectures on Linux hosts is 6.0.6. But we are lucky: It shows the
same issue (at least its 64 bit version does, as that is the only one I can
test).

The package can be downloaded by

   wget -c https://download3.vmware.com/software/player/file/
      VMware-Player-6.0.6-2700073.i386.bundle

(without linebreak). The installation is done by executing the downloaded
file as root (after setting the executable bit).

Either during installation or during the first start you will be prompted to
enter an e-mail address that will be used for (automatic) registration at
Vmware. Be prepared to get "valuable product information" to this address.

Once installed, the player is started by

   vmplayer

The easiest way for a test is to create an empty virtual machine by clicking
the field "Create a New Virtual Machine" in the player's main window.

Choose "I will install the operating system later." (which will never happen)
in the following dialog. The settings in the next 4 pages of that dialog
don't matter and can be left unchanged.

Back in the main window of the player, you can start the new virtual machine
by pressing "Play virtual machine" and confirming the hints that will pop up.
The machine will boot, see no system and halt.

With a click into to area of the virtual machine's display (in the player
window), the mouse and the keyboard focus will be "grabbed" by the virtual
machine. I am not sure whether this term "grab" from the Vmware jargon is
identical to that of the X terminology, but it seems reasonable. During the
grab, mouse and keyboard events (aside from some Vmware hotkeys) will be
consumed and processed by the virtual machine. If there would be a guest
system with mouse support running in the virtual machine, that system's mouse
pointer would "execute" the mouse movements, but staying confined in the
virtual machines screen area.

The grab can be released by pressing the hotkey Ctrl-Alt.

With grabbed mouse and focus, the fullscreen mode can be toggled by the
hotkey Ctrl-Alt-Enter. Otherwise it can be entered via the "Virtual Machine"
menu in the player's main window. In fullscreen mode, there is a menu bar
hidden behind the upper rim of the screen in the center that will roll out
when touched with the mouse which has to be ungrabbed for this. With the
second button from the right in that menu bar the fullscreen mode can also be
left.

Due to the problem that this is all about, the only option to access the
player after leaving fullscreen mode is to kill it. When using SIGTERM for
that, the player asks whether to suspend the still running virtual machine,
so that its execution can be resumed on its next virtual power cycle.

>> Fvwm 2.6.7 outputs the following lines when the fullscreen mode is turned
>> on (!) at the first place (newlines and indents inserted for readability):
>>
>>    [fvwm][ComplexFunction]:
>>    <<ERROR>> Grab failed in function EWMHActivateWindowFunc, unable to
>>    execute immediate action
>
> Some program, probably vmware, has asked fvwm to "activate" some
> window.  Activation is a term from the EWMH specification and
> usually asks the window manager to make the window visible (switch
> to its page, bring it to the front, give it focus).  In fvwm the
> function to execute on the window can be changed by the user.
>
> During immediate function execution fvwm tries to get exclusive
> control of the pointer (a "grab").  This failed in the given case
> because some other program held the grab.  Fvwm retries grabbing
> for a second before giving up (the function is aborted).  It seems
> that for whatever reason vmware grabbed control over the pointer
> for a long time, which it really should not do because it blocks
> all other applications, including the window manager.  But this is
> not related to the vanishing window.

I see. So it is pretty much possible that we have a fight between
Vmware's grab for the virtual machine that I described above and Fvwm trying
to get the grab for the execution of the immediate function.


> [Very interesting explanations skipped.]

> It seems to be unmapped and can thus not be controlled in any way
> by the window manager.  To double check that you can issue
>
>   all echo $w $[w.name]
>
> from FvwmConsole and check if the window is mentioned in the
> console output.

This gave the following output - so sign of Vmware:

   [fvwm][expand_vars]: <<DEPRECATED>> Use $[w.id] instead of $w
   [fvwm][Echo]: 0x1600022 'FvwmConsole'
   [fvwm][expand_vars]: <<DEPRECATED>> Use $[w.id] instead of $w
   [fvwm][Echo]: 0x600022 'hartmann@unikat:~'
   [fvwm][expand_vars]: <<DEPRECATED>> Use $[w.id] instead of $w
   [fvwm][Echo]: 0xa00001 'RightPanel'

> Also try
>
>   all iconify off
>   all windowshade off
>   all (vmware) resizemove 500p 500p 0p 0p

Unfortunately, no Vmware window showed up.

> 1. Make the vmware window fullscreen and start a shell on top of it.
> 2. Run "xwininfo -tree", click on the fullscreen window.  Save the
>    output.  Repeat with a plain "xwininfo".

Here is the output of "xwininfo -tree":
---------------------------------------------------------------------------
xwininfo: Window id: 0x800003 "WinVM - VMware Workstation"

  Root window id: 0x8e (the root window) (has no name)
  Parent window id: 0x40145d (has no name)
     2 children:
     0x80067b (has no name): ()  1920x1080+0+0  +0+0
        2 children:
        0x800c56 (has no name): ()  1512x4+176+-64  +176+-64
        0x80067a (has no name): ()  1920x1080+0+0  +0+0
           3 children:
           0x800679 (has no name): ()  16x16+1227+818  +1227+818
           0x80049d (has no name): ()  1920x1080+0+0  +0+0
              2 children:
              0x80049c "MKSSV-MKSWindowID#0": ()  1440x1080+240+0  +240+0
                 1 child:
                 0x1400001 "MKSWindow#0": ()  1440x1080+0+0  +240+0
              0x8004a0 (has no name): ()  1440x1080+240+0  +240+0
           0x800722 "MKSSV-MKSWindowID#1": ()  1225x919+305+65  +305+65
              1 child:
              0x1400009 "MKSWindow#1": ()  1225x919+0+0  +305+65
     0x800004 (has no name): ()  1x1+-1+-1  +-1+-1
---------------------------------------------------------------------------

And here the one of "xwininfo":
---------------------------------------------------------------------------
xwininfo: Window id: 0x800003 "WinVM - VMware Workstation"

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1920
  Height: 1080
  Depth: 24
  Visual: 0x20
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x22 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1920x1080+0+0
---------------------------------------------------------------------------

> 3. From the output of -tree you should be able to figure out the
>    window ids of the client window and the frame window:
>
>     xwininfo: Window id: 0x1a00006 "~" <------- clent window id
>
>       Root window id: 0x262 (the root window) (has no name)
>       Parent window id: 0x402441 (has no name) <----- fram window id
> 4. Run something like this:
>
>      $ sleep 10; xev -id 0x1a00006 > xev.client &
>                  xev -id 0x402441 > xev.frame &
>                  sleep 30; killall xev
>
>    Within the first ten seconds, hide all windows except the
>    fullscreen window.  Then wait until you're sure the first sleep
>    has finished, but the final sleep is not over yet, and disable
>    fullscreen mode, then wait until the final sleep has completed.
>    If possible, do all of this with the keyboard because movind
>    the mouse generates tons of events being reported to xev, making
>    the output much harder to read.

Here is the command line I used (without the linebreaks), hopefully taking the
correct ids from the outputs cited above:

   sleep 10; xev -id 0x800003 > xev.client &
             xev -id 0x40145d > xev.frame &
             sleep 30; killall xev

And here the contents of xev.client thereafter:
---------------------------------------------------------------------------

UnmapNotify event, serial 18, synthetic NO, window 0x800003,
    event 0x800003, window 0x80067b, from_configure NO

Expose event, serial 18, synthetic NO, window 0x800003,
    (0,0), width 1920, height 1080, count 0

UnmapNotify event, serial 18, synthetic NO, window 0x800003,
    event 0x800003, window 0x800003, from_configure NO

FocusOut event, serial 18, synthetic NO, window 0x800003,
    mode NotifyWhileGrabbed, detail NotifyAncestor

PropertyNotify event, serial 18, synthetic NO, window 0x800003,
    atom 0x28 (WM_NORMAL_HINTS), time 41425919, state PropertyNewValue

MapNotify event, serial 18, synthetic NO, window 0x800003,
    event 0x800003, window 0x80067b, override NO

PropertyNotify event, serial 18, synthetic NO, window 0x800003,
    atom 0x23 (WM_HINTS), time 41425919, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x800003,
    atom 0x152 (_NET_WM_STATE), time 41425919, state PropertyDelete

PropertyNotify event, serial 18, synthetic NO, window 0x800003,
    atom 0x150 (_NET_WM_DESKTOP), time 41425919, state PropertyDelete

PropertyNotify event, serial 18, synthetic NO, window 0x800003,
    atom 0x28 (WM_NORMAL_HINTS), time 41425919, state PropertyNewValue

ConfigureNotify event, serial 22, synthetic YES, window 0x800003,
    event 0x800003, window 0x800003, (5,23), width 1920, height 1080,
    border_width 0, above 0x40145c, override NO

PropertyNotify event, serial 22, synthetic NO, window 0x800003,
    atom 0x181 (_KDE_NET_WM_FRAME_STRUT), time 41425923, state PropertyNewValue

PropertyNotify event, serial 22, synthetic NO, window 0x800003,
    atom 0x182 (_NET_FRAME_EXTENTS), time 41425923, state PropertyNewValue

ConfigureNotify event, serial 24, synthetic NO, window 0x800003,
    event 0x800003, window 0x800003, (0,0), width 1910, height 1052,
    border_width 0, above 0x0, override NO

ConfigureNotify event, serial 24, synthetic YES, window 0x800003,
    event 0x800003, window 0x800003, (5,23), width 1910, height 1052,
    border_width 0, above 0x40145c, override NO

ConfigureNotify event, serial 24, synthetic YES, window 0x800003,
    event 0x800003, window 0x800003, (5,23), width 1910, height 1052,
    border_width 0, above 0x40145c, override NO

PropertyNotify event, serial 24, synthetic NO, window 0x800003,
    atom 0x181 (_KDE_NET_WM_FRAME_STRUT), time 41425927, state PropertyNewValue

PropertyNotify event, serial 24, synthetic NO, window 0x800003,
    atom 0x182 (_NET_FRAME_EXTENTS), time 41425927, state PropertyNewValue

PropertyNotify event, serial 24, synthetic NO, window 0x800003,
    atom 0x114 (WM_STATE), time 41425928, state PropertyNewValue

ReparentNotify event, serial 24, synthetic NO, window 0x800003,
    event 0x800003, window 0x800003, parent 0x8e,
    (0,0), override NO

PropertyNotify event, serial 25, synthetic NO, window 0x800003,
    atom 0x28 (WM_NORMAL_HINTS), time 41425929, state PropertyNewValue

PropertyNotify event, serial 25, synthetic NO, window 0x800003,
    atom 0x114 (WM_STATE), time 41425929, state PropertyDelete

ConfigureNotify event, serial 25, synthetic NO, window 0x800003,
    event 0x800003, window 0x800003, (0,0), width 1247, height 901,
    border_width 0, above 0x4001be, override NO

ConfigureNotify event, serial 25, synthetic NO, window 0x800003,
    event 0x800003, window 0x800003, (409,141), width 1247, height 901,
    border_width 0, above 0x4001be, override NO

PropertyNotify event, serial 25, synthetic NO, window 0x800003,
    atom 0x28 (WM_NORMAL_HINTS), time 41425935, state PropertyNewValue

ConfigureNotify event, serial 25, synthetic NO, window 0x800003,
    event 0x800003, window 0x80067b, (0,0), width 1247, height 901,
    border_width 0, above 0x800004, override NO

PropertyNotify event, serial 25, synthetic NO, window 0x800003,
    atom 0x28 (WM_NORMAL_HINTS), time 41425941, state PropertyNewValue

ConfigureNotify event, serial 25, synthetic NO, window 0x800003,
    event 0x800003, window 0x800003, (409,141), width 1054, height 901,
    border_width 0, above 0x4001be, override NO

ConfigureNotify event, serial 25, synthetic NO, window 0x800003,
    event 0x800003, window 0x80067b, (0,0), width 1054, height 901,
    border_width 0, above 0x800004, override NO
---------------------------------------------------------------------------

And the contents of xev.frame:
---------------------------------------------------------------------------

UnmapNotify event, serial 18, synthetic NO, window 0x40145d,
    event 0x40145d, window 0x800003, from_configure NO

FocusIn event, serial 18, synthetic NO, window 0x40145d,
    mode NotifyWhileGrabbed, detail NotifyInferior

KeymapNotify event, serial 18, synthetic NO, window 0x0,
    keys:  0   0   0   0   48  0   0   0   1   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

Expose event, serial 18, synthetic NO, window 0x40145d,
    (0,0), width 1920, height 1080, count 0

VisibilityNotify event, serial 18, synthetic NO, window 0x40145d,
    state VisibilityPartiallyObscured

ConfigureNotify event, serial 18, synthetic NO, window 0x40145d,
    event 0x40145d, window 0x40145d, (5,23), width 1920, height 1080,
    border_width 0, above 0x40194e, override NO

Expose event, serial 18, synthetic NO, window 0x40145d,
    (0,0), width 1910, height 23, count 1

Expose event, serial 18, synthetic NO, window 0x40145d,
    (0,23), width 5, height 1029, count 0

Expose event, serial 18, synthetic NO, window 0x40145d,
    (1910,0), width 5, height 1052, count 1

Expose event, serial 18, synthetic NO, window 0x40145d,
    (0,1052), width 1915, height 5, count 0

ConfigureNotify event, serial 18, synthetic NO, window 0x40145d,
    event 0x40145d, window 0x800003, (0,0), width 1910, height 1052,
    border_width 0, above 0x0, override NO

ConfigureNotify event, serial 18, synthetic NO, window 0x40145d,
    event 0x40145d, window 0x40145d, (5,23), width 1910, height 1052,
    border_width 0, above 0x40194e, override NO

VisibilityNotify event, serial 18, synthetic NO, window 0x40145d,
    state VisibilityUnobscured

Expose event, serial 18, synthetic NO, window 0x40145d,
    (0,0), width 1910, height 1052, count 0

FocusOut event, serial 18, synthetic NO, window 0x40145d,
    mode NotifyWhileGrabbed, detail NotifyNonlinear

ReparentNotify event, serial 18, synthetic NO, window 0x40145d,
    event 0x40145d, window 0x800003, parent 0x8e,
    (0,0), override NO

DestroyNotify event, serial 18, synthetic NO, window 0x40145d,
    event 0x40145d, window 0x40145d
---------------------------------------------------------------------------

> 5. Post all the output to the mailing list.

Done.

> Ciao
>
> Dominik ^_^  ^_^
>
> --
>
> Dominik Vogt

Thank you very much again, Dominik, for attending to that issue.
I hope that the problem can be solved somehow.

Juergen

Reply via email to