Bug 1261524

Summary: Console window could be hidden after login via consoles on multiple hosts
Product: Red Hat Directory Server Reporter: Viktor Ashirov <vashirov>
Component: Directory ConsoleAssignee: Rich Megginson <rmeggins>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: medium Docs Contact:
Priority: high    
Version: 9.1.1CC: gparente, nhosoi, nkinder, pbokoc, rmeggins, vashirov
Target Milestone: DS 9.1.2   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: idm-console-framework-1.1.15-1.el6dsrv Doc Type: Bug Fix
Doc Text:
Red Hat Directory Console window coordinates are stored in user preferences in the "o=netscaperoot" suffix. Previously, if the Directory Console was used by the same user on two different systems with different monitor setups, it was possible for the coordinates to be off screen on one of them, and consequently the Directory Console window could be hidden after logging in. This update adds a check which compares saved window coordinates with the current screen size, and resets the window location if currently outside the screen, which ensures the window is always visible.
Story Points: ---
Clone Of:
: 1331891 (view as bug list) Environment:
Last Closed: 2016-06-08 12:10:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1331891    
Attachments:
Description Flags
Video none

Description Viktor Ashirov 2015-09-09 14:11:08 UTC
Created attachment 1071777 [details]
Video

Description of problem:
After login to the admin server, main window is hidden. It has position (-1, 1105). 
As a workaround, user can press Alt-Space, choose Maximize, then close the window. On next startup window will be visible.

Version-Release number of selected component (if applicable):
RedHat-Console-9.1.1-x86_64.msi

How reproducible:
Always

Steps to Reproduce:
1. Make a fresh install of RedHat-Console-9.1.1-x86_64.msi
2. Login to admin server using console
3.

Actual results:
Main window is hidden, icon is present on a taskbar.

Expected results:
Main window should be visible for user.

Additional info:
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

Video describing the issue is attached.

Comment 1 Viktor Ashirov 2015-09-09 14:48:49 UTC
389-admin-1.1.42-1.el6dsrv.x86_64
389-admin-console-1.1.10-2.el6dsrv.noarch
389-admin-console-doc-1.1.10-2.el6dsrv.noarch
389-adminutil-1.1.22-1.el6dsrv.x86_64
389-console-1.1.10-1.el6dsrv.noarch
389-ds-base-1.2.11.15-62.el6_7.x86_64
389-ds-base-libs-1.2.11.15-62.el6_7.x86_64
389-ds-console-1.2.12-1.el6dsrv.noarch
389-ds-console-doc-1.2.12-1.el6dsrv.noarch
idm-console-framework-1.1.14-1.el6dsrv.noarch
redhat-idm-console-9.1.1-3.el6dsrv.x86_64
redhat-ds-9.1.1-1.el6dsrv.x86_64
redhat-ds-admin-9.1.1-1.el6dsrv.x86_64
redhat-ds-base-9.1.1-2.el6dsrv.x86_64
redhat-ds-console-9.1.1-4.el6dsrv.noarch
redhat-ds-console-doc-9.1.1-4.el6dsrv.noarch

I had this issue with admin user only. With Directory Manager window opens normally.

Comment 2 Viktor Ashirov 2015-09-09 15:09:02 UTC
dn: cn=General,ou=1.1,ou=Console,ou=uid\3Dadmin\2Cou\3DAdministrators\2Cou\3DTopologyManagement\2Co\3DNetscapeRoot,ou=UserPreferences,ou=brq.redhat.com,o=NetscapeRoot
cn: General
objectClass: top
objectClass: nsAdminConsoleUser
creatorsname: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersname: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createtimestamp: 20150909113855Z
modifytimestamp: 20150909122844Z
nsuniqueid: 3ae21f83-56e711e5-8a218402-8f08f95f
parentid: 97
entryid: 98
nsPreference:: Iw0KI1dlZCBTZXAgMDkgMTY6MzE6MTcgTURUIDIwMTUNCldpZHRoPTE5MjgNClNob3dTdGF0dXNCYXI9dHJ1ZQ0KU2hvd0Jhbm5lckJhcj10cnVlDQpZPS00DQpIZWlnaHQ9MTA0NA0KWD0tNA0K
entrydn: cn=general,ou=1.1,ou=console,ou=uid\3dadmin\2cou\3dadministrators\2cou\3dtopologymanagement\2co\3dnetscaperoot,ou=userpreferences,ou=brq.redhat.com,o=netscaperoot
hassubordinates: FALSE
numsubordinates: 0
subschemasubentry: cn=schema


base64 -d
Iw0KI1dlZCBTZXAgMDkgMTY6MzE6MTcgTURUIDIwMTUNCldpZHRoPTE5MjgNClNob3dTdGF0dXNCYXI9dHJ1ZQ0KU2hvd0Jhbm5lckJhcj10cnVlDQpZPS00DQpIZWlnaHQ9MTA0NA0KWD0tNA0K
#
#Wed Sep 09 16:31:17 MDT 2015
Width=1928
ShowStatusBar=true
ShowBannerBar=true
Y=-4
Height=1044
X=-4


Seems like preferences for user were not properly initialized.

Comment 3 Noriko Hosoi 2015-09-10 16:51:29 UTC
For the comparison, here's my case.
dn: cn=General,ou=1.1,ou=Console,ou=uid\3Dadmin\2Cou\3DAdministrators\2Cou\3DT
 opologyManagement\2Co\3DNetscapeRoot,ou=UserPreferences,ou=usersys.redhat.com
 ,o=NetscapeRoot
nsPreference:: Iw0KI0ZyaSBBdWcgMjggMTM6NDA6MDYgUERUIDIwMTUNCldpZHRoPTkyMQ0KU2h
 vd1N0YXR1c0Jhcj10cnVlDQpTaG93QmFubmVyQmFyPXRydWUNClk9MTc0DQpIZWlnaHQ9ODAyDQpY
 PTQ2NQ0K
==> 
#
#Fri Aug 28 13:40:06 PDT 2015
Width=921
ShowStatusBar=true
ShowBannerBar=true
Y=174
Height=802
X=465

On Windows, ~/.redhat-idm-console/Console.1.1.14.Login
#
#Wed Sep 09 11:08:36 PDT 2015
UserID=admin
HostURL1=http\://<host>:<port>
HostURL1=https\://<host>:<port>
Y=371
X=548

It seems the local Console.1.1.14.Login is being used for me.

Comment 4 Viktor Ashirov 2015-09-10 16:54:02 UTC
> On Windows, ~/.redhat-idm-console/Console.1.1.14.Login
> #
> #Wed Sep 09 11:08:36 PDT 2015
> UserID=admin
> HostURL1=http\://<host>:<port>
> HostURL1=https\://<host>:<port>
> Y=371
> X=548
> 
> It seems the local Console.1.1.14.Login is being used for me.

I believe these are coordinates of Login window, not main window.

Comment 5 Viktor Ashirov 2015-09-10 18:15:36 UTC
I found the real issue.
Before connecting from Windows, I connected from my machine to verify that ssl worked as expected. I have 3-monitor setup and coordinates of main window would be offscreen in Windows. They were saved in UserPreferences in o=netscaperoot. 

So, to reproduce this issue, import ldif:

dn: cn=General,ou=1.1,ou=Console,ou=uid\3Dadmin\2Cou\3DAdministrators\2Cou\3DTopologyManagement\2Co\3DNetscapeRoot,ou=UserPreferences,ou=brq.redhat.com,o=NetscapeRoot
cn: General
objectClass: top
objectClass: nsAdminConsoleUser
nsPreference:: IwojVGh1IFNlcCAxMCAyMDowMDowNiBDRVNUIDIwMTUKV2lkdGg9MTg5OApTaG93U3RhdHVzQmFyPXRydWUKU2hvd0Jhbm5lckJhcj10cnVlClk9MjAwMApYPTIwMDAKSGVpZ2h0PTEwNDQK

Where X and Y would be offscreen: 
#
#Thu Sep 10 20:00:06 CEST 2015
Width=1898
ShowStatusBar=true
ShowBannerBar=true
Y=2000
X=2000
Height=1044

And then login.

WMs in Linux are smart enough to place offscreen windows somewhere where user can interact with them, but not in Windows. 

This is a corner case, so I'm setting low priority to this bz.

Comment 6 Viktor Ashirov 2016-04-20 12:32:24 UTC
I can reproduce this issue with putty+xming on Windows and vnc on linux (without WM).
In both cases workaround is not working. Another workaround would be to reset/delete nsPreference.

Comment 10 Noriko Hosoi 2016-04-29 18:11:47 UTC
Upstream ticket:
https://fedorahosted.org/389/ticket/48811

Comment 18 Noriko Hosoi 2016-05-12 01:03:43 UTC
Doc Text:

Changing the last 2 items:

  Workaround (if any): 
  Click on the Windows Console icon, press Alt-Space, choose Maximize, 
  then close the window. 

  Result: 
  On next startup window will be visible.

to:

  Fix:
  Get the screen size and compare the location of the Console window.  
  If the location is outside of the screen, it force to reset it with 
  the initial position (0, 0).

  Result:
  The Console window is always visible.

Comment 19 Viktor Ashirov 2016-06-07 13:37:29 UTC
Build tested: 
idm-console-framework-1.1.15-1.el6dsrv.noarch

In the debug log I see:
Windows Location: coordinate x 10700 is less than -1500 or greater than 1500. Resetting to 0.
Windows Location: coordinate y 10000 is less than -1080 or greater than 1080. Resetting to 0.

Window is located correctly.

Marking as VERIFIED.

Comment 21 errata-xmlrpc 2016-06-08 12:10:41 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1210