[GLASSFISH-18327] install-node-dcom does not abide by --windowsdomain parameter Created: 06/Feb/12  Updated: 04/Oct/13  Resolved: 06/Feb/12

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: 3.1.2_b20
Fix Version/s: 3.1.2_b21, 3.1.2.2

Type: Bug Priority: Blocker
Reporter: jp2011 Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 2008 R2
Glassfish 3.1.2_b20


Attachments: Zip Archive 18327.zip    
Tags: 3_1_2-approved

 Description   

Running the command install-node-dcom ignores the --windowsdomain or -d parameters.

asadmin> install-node-dcom --windowsdomain domain.net
Enter the value for the hosts operand> somehost
Enter remote password for serviceaccount@somehost>
com.sun.enterprise.util.cluster.windows.process.WindowsException: Logon failure:
unknown user name or bad password.
Command install-node-dcom failed.

As can be seen, the windows domain is ignored and the asadmin is attempting to connect to somehost with a local account.



 Comments   
Comment by Byron Nevins [ 06/Feb/12 ]

The command obviously fell through the cracks and received no testing.

Confirmed problem.

Comment by Byron Nevins [ 06/Feb/12 ]
  • What is the impact on the customer of the bug?
    Bad. He will not be able to use a Windows Domain Controller for authenticated login to remote machines in the domain.
    Whether a real user would really ever do this is debatable. I would not. I would create local accounts on each machine.

How likely is it that a customer will see the bug and how serious is the bug?
100% chance if they run the command with the windows domain option

Is it a regression?
No.
Does it meet other bug fix criteria (security, performance, etc.)?
Yes

  • What is the cost of fixing the bug?
    1 man-day.

How risky is the fix?
Little or no risk. I will thoroughly test that it continues to work both before & after the fix with NON-DOMAIN authentication.
Unfortunately I don't think I will be able to test domain controller authentication because:
(a) My company refuses to give me multiple Windows computers. Therefore I can't create my own domain.
(b) The computer in a domain that I can access is provisioned and it is locked down too tightly to access with SAMBA/jcifs.

How much work is the fix?
See "cost" above.

Is the fix complicated?
No. Very straight-forward.

  • Is there an impact on documentation or message strings?
    No.
  • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
    Can't possibly destabilize since it is a local-only command.
    QA should run normal tests and should try it against a domain-controller authenticated machine.
  • Which is the targeted build of 3.1.2 for this fix?
    The last one.
Comment by Byron Nevins [ 06/Feb/12 ]

Bugfix - source and diffs

Comment by Byron Nevins [ 06/Feb/12 ]

I tested for regressions thoroughly – I installed on a remote in my LAN. I also installed over VPN to a lab machine.

This guarantees that the existing behavior still works fine for non Domain Controller authentication.

It SHOULD work for Domain Controller authentication but I can't test it.
There's no risk since before the fix – Domain Controller authentication definitely did not work. It can't possibly be any worse and it probably is fixed now.

Worst case scenario is that a user would have to run the command against a local account on the machine or he would need to install GF manually on the remote machine(s).

Comment by Byron Nevins [ 06/Feb/12 ]

Sending cli\src\main\java\com\sun\enterprise\admin\cli\cluster\InstallNodeDcomCommand.java
Transmitting file data .
Committed revision 52465.

Comment by jp2011 [ 09/Feb/12 ]

Sorry to tell you but this isn't fixed in bundle 21.

Performing a network capture while running the command still shows the host name being used instead of the domain for passing the credentials. I'm not sure how you are validating the domain in the OK method, but this may not be correct and hence why the host is still being used instead of the domain.

I'm also fairly certain the other dcom commands are not working with the windowsdomain switch either.

Comment by easarina [ 06/Mar/12 ]

I believe that this is a regression issue and the error message was seen because was not use -w <user_name> option. See, for example:
asadmin install-node-dcom -W password1.txt bigapp-oblade-3
com.sun.enterprise.util.cluster.windows.process.WindowsException: Logon failure:
unknown user name or bad password.
Command install-node-dcom failed.

But the command: "asadmin install-node-dcom -w aroot -W password1.txt bigapp-oblade-3" was executed successfully. On the DAS machine and on the remote host was used the same user aroot, and according to the help: "The default is the user that is running this subcommand.". I.e. in my case aroot.

Comment by jp2011 [ 06/Mar/12 ]

The command that I used was correct I just didn't spell it out in the notes. Trying the command as you listed also doesn't work and specifies a local windows account on the remote host. I have also tried a local windows account and the command doesn't work. The user is successfully authenticated but errors still occur with the SMB side (see GLASSFISH-18451).

Furthermore, the GUI behaves the same as my attempt to run the commands manually from the command line.

Comment by easarina [ 06/Mar/12 ]

Does validate-dcom command work?

Comment by jp2011 [ 06/Mar/12 ]

Password file contains the following line: AS_ADMIN_WINDOWSPASSWORD=$

{ALIAS=glassfish-alias}

I have setup the alias already in asadmin as per the documentation.

c:\glassfish3\bin>asadmin --passwordfile passwordfile.txt validate-dcom -w glassfish remotehost
remote failure:
Successfully verified that the host, remotehost, is not the local machine as required.
Successfully resolved host name to: remotehost/10.65.30.187
Successfully connected to DCOM Port at port 135 on host remotehost.
Successfully connected to NetBIOS Session Service at port 139 on host remotehost
nc.
Successfully connected to Windows Shares at port 445 on host remotehost.
The remote file, C: doesn't exist on remotehost: Access is denied.

Command validate-dcom failed.

Comment by Byron Nevins [ 06/Mar/12 ]

Bug located – The NtlmPasswordAuthentication object which does the actual Windows authentication – was ignoring the domain!

==========================================================================

Index: src/main/java/com/sun/enterprise/util/cluster/windows/io/WindowsRemoteFileSystem.java
===================================================================
— src/main/java/com/sun/enterprise/util/cluster/windows/io/WindowsRemoteFileSystem.java (revision 52702)
+++ src/main/java/com/sun/enterprise/util/cluster/windows/io/WindowsRemoteFileSystem.java (working copy)
@@ -37,7 +37,6 @@

  • only if the new code is made subject to such option by the copyright
  • holder.
    */
    -
    package com.sun.enterprise.util.cluster.windows.io;

import com.sun.enterprise.util.cluster.windows.process.WindowsCredentials;
@@ -55,9 +54,25 @@
private final NtlmPasswordAuthentication authorization;

public WindowsRemoteFileSystem(WindowsCredentials cr)

{ - host = getIP(cr.getHost()); - authorization = new NtlmPasswordAuthentication(host, cr.getUser(), cr.getPassword()); + // if host and domain are the same we can use the IP address of the host + // otherwise use the domain name. + boolean useDomain; + String hostName = cr.getHost(); + String domain = cr.getDomain(); + + if(!domain.equals(hostName)) + useDomain=true; + else + useDomain = false; + + host = getIP(hostName); + + if(useDomain) + authorization = new NtlmPasswordAuthentication(domain, cr.getUser(), cr.getPassword()); + else + authorization = new NtlmPasswordAuthentication(host, cr.getUser(), cr.getPassword()); }

+
public WindowsRemoteFileSystem(String hostname, NtlmPasswordAuthentication auth) {
host = getIP(hostname);
authorization = auth;
@@ -85,7 +100,8 @@
private String getIP(String hostname) {
try

{ return InetAddress.getByName(hostname).getHostAddress(); - }

catch (Exception e)

{ + }

+ catch (Exception e)

{ return hostname; }

}

Comment by easarina [ 06/Mar/12 ]

For me install-node-dcom failed, if -w <user_name> was not used.

Comment by easarina [ 06/Mar/12 ]

If validate-dcom doesn't work (Access is denied), then DCOM was not enabled correctly (or was not enabled at all). Please see how to enable dcom in the 3.1.2 High Availability Administration Guide. In my environment, both validate-dcom and install-node-dcom work.

asadmin validate-dcom -W password1.txt bigapp-oblade-3
Command validate-dcom executed successfully.

I will open a minor regression bug regarding: install-node-dcom doesn't work without -w <user_name>.

Comment by jp2011 [ 07/Mar/12 ]

I appreciate your thought that I haven't enabled DCOM correctly and I would love it if that was the case but so far there is nothing that has been suggested or mentioned that I haven't already done. I see other people on the internet having the same issue without an answer and would like to help get to the bottom of the issue.

If this is a configuration issue in windows, it isn't currently documented in the 3.1.2 documents. If this is a code issue that I have run into that you haven't, it needs to be identified and fixed for the good of the community. Could you please email me offline and we can better investigate the cause and possible resolution?

Many thanks.

Comment by easarina [ 07/Mar/12 ]

There is no problems in a code, if DCOM works install-node-dcom and other commands work. But DCOM has to be enabled. The 3.1.2 High Availability Administration Guide has a detail instruction how to do it. You need to edit the Windows registry manually. Did you see and execute DCOM enabling procedure?

Comment by jp2011 [ 07/Mar/12 ]

In fact there are issues in code with the DCOM validation and missing Windows configuration steps in the documentation. Byron and I have been discussing this yesterday and he has found another bug when using domain accounts. As far as registry edits, I have already done them as per the documentation and allowed full control to my administrators group (which my glassfish account belongs to).

When using a local account with Windows Server 2008 R2 (64 bit my case) there are missing steps in the documentation. Windows does not allow remote access to c$ by default any longer which is required for the validate-dcom to work.

These steps are validated by using the windows command "net use" in the command prompt. The first example shows default windows behaviour attempting to access the c$ on a remote host. The second example illustrates what happens after an configuration change in Windows that isn't documented by Oracle:

<snip>
C:\Users\GFAdmin>net use \\remotehost\c$ /USER:remotehost\glassfish
The password is invalid for \\remotehost\c$.

Enter the password for 'remotehost\glassfish' to connect to 'remotehost':
System error 5 has occurred.

Access is denied.

C:\Users\GFAdmin>net use \\remotehost\c$ /USER:remotehost\glassfish
Enter the password for 'remotehost\glassfish' to connect to 'remotehost':
The command completed successfully.

C:\Users\GFAdmin>
</snip>

Once you perform the following steps to allow remote access to c$, DCOM works with a local account (almost):

Enable Local Account Token Filter Policy
• Click Start
• Type regedit in the Start Search box, and then click regedit in the Programs list.
• Expand the following subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
• If the LocalAccountTokenFilterPolicy registry entry does not exist, follow these steps:
a. On the Edit menu, click New, and then click DWORD Value
b. Type LocalAccountTokenFilterPolicy, and then press ENTER
• Right-click LocalAccountTokenFilterPolicy, and then click Modify
• In the Value data box, type 1, and then click OK
• Done, no need to reboot.

However now there is a new problem (PROGRESS!)

Successfully connected to Windows Shares at port 445 on host remotehost.
Successfully accessed C: on remotehost using DCOM.
Successfully wrote delete_me.bat to C: on remotehost using DCOM.
Could not connect to WMI (Windows Management Interface) on remotehost. : Error setting up remote connection to WMI

A quick search shows that Byron has run into this before:
http://java.net/projects/glassfish/lists/commits/archive/2011-11/message/143

At this point I have done a lot of troubleshooting to figure out the remote WMI failures which I cannot document here due to size. Needless to say, something is still either not setup properly or broken in the validation code that Byron is looking at.

Comment by Byron Nevins [ 07/Mar/12 ]

Checked in a fix to the (first) problem where the windows domain was never used for auth/auth.
I checked it in to 4.0 just now and put the fix for 3.1.2 into the pipeline for the first patch release.

Sending common\src\main\java\com\sun\enterprise\util\cluster\windows\io\WindowsRemoteFileSystem.java
Transmitting file data .
Committed revision 52813.

Comment by easarina [ 07/Mar/12 ]

When DCOM enabling problem will be solved, you can give in install-node-dcom a full machine name, i.e. <machne_name.domain>

Comment by easarina [ 09/Mar/12 ]

Byron, could you give me the fix as a patch, so I can verify the fix, using a negative testcase.

Comment by Byron Nevins [ 02/Apr/12 ]

BugDB 13917234

Comment by mtobler [ 22/Jun/12 ]

Is there a release Date for this fix? I am trying to set up Clustering using DCOM on multiple 2008 R2 Servers and I consistently get the following:
asadmin> validate-dcom --passwordfile do-not-delete gf01
remote failure:
Successfully verified that the host, gf01, is not the local machine as required.
Successfully resolved host name to: gf01/172.18.11.169
Successfully connected to DCOM Port at port 135 on host gf01.
Successfully connected to NetBIOS Session Service at port 139 on host gf01.
Successfully connected to Windows Shares at port 445 on host gf01.
The remote file, C: doesn't exist on gf01 : Logon failure: unknown user name or bad password.

I have gone through every document I can find on this issue and have verified all settings/registry kays/etc are correct and this won't go away. I get the same via the console.

Comment by Byron Nevins [ 26/Jun/12 ]

It *is* fixed in the open-source 4.0 codebase. You could always go grab the one changed file and build it. I commented on the filename and the subversion revision number in this issue. There is no date yet for the next 3.x version of GlassFish.

Comment by rdblaha1 [ 04/Oct/13 ]

I do not see a reply to the comment mtobler 22/Jun/12. I receive a similar response for validate-dcom and can find no solution in an forum, blog, or tutorial. In this issue and GLASSFISH-18451 the trail ends June 2012. Where can I find an answer. (Glassfish 3.1.2.2, Java 1.6.0_45).

The only difference for what I am getting returned is the last lines.

Using command line:

C:\glassfish\glassfish3122\glassfish\bin>.\asadmin --port 4892 --passwordfile C:\glassfish\glassfish3122\glassfish\domains\testing_cluster\config\dcom-passwords validate-dcom -w Rick.Blaha -v=true TestWeb2
remote failure:
Successfully verified that the host, TestWeb2, is not the local machine as required.
Successfully resolved host name to: TestWeb2/10.3.30.129
Successfully connected to DCOM Port at port 135 on host TestWeb2.
Successfully connected to NetBIOS Session Service at port 139 on host TestWeb2.
Successfully connected to Windows Shares at port 445 on host TestWeb2.
dcom.no.remote.file.access : Logon failure: unknown user name or bad password.

Command validate-dcom failed.

I only need direction to the document solution whether found in another issue or wherever. If I am completely out of the ballpark tell me that too.





[GLASSFISH-18324] [NLS]Unlocalized message shows when create and delete HTTP Load Balancer Created: 05/Feb/12  Updated: 08/Feb/12  Due: 05/Feb/12  Resolved: 05/Feb/12

Status: Closed
Project: glassfish
Component/s: i18n
Affects Version/s: 3.1.2_b20
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Major
Reporter: li.wu Assignee: gmurr
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Bundle:ogs-3.1.2-b20-windows-ml.exe
OS: windows2008 ES
Server locale:es
Browser: IE8


Attachments: JPEG File createLB_errMsg.jpg     JPEG File deleteLB.jpg    

 Description   

1. Install the bundle and login admin console;
2. Create a HTTP Load Balancer;
3. Delete the LB, and the warning message shows in en_US;
4. Create a cluster and an instance, and then create a LB with object of cluster and instance which should not be allowed. Error message shows in en_US.



 Comments   
Comment by gmurr [ 05/Feb/12 ]

fixed in 3.1.2 b21

Comment by li.wu [ 08/Feb/12 ]

Fixed.





[GLASSFISH-18301] Error thrown in Console when the clustered instance link is clicked from the configurations page Created: 02/Feb/12  Updated: 02/Feb/12  Resolved: 02/Feb/12

Status: Resolved
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1.2_b20
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Minor
Reporter: shaline Assignee: Anissa Lam
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: Solaris 11
IE9
GF 3.1.2 b20


Attachments: PNG File configurations-page.png     JPEG File instance-page.jpg    
Tags: 3_1_2-approved

 Description   

Create a cluster with 2 instances and start the cluster. From the Configurations Page,In the Configurations Table, click on the clustered instance link in the "Instances" column, The below error is shown in the console:

Error An error has occurred
REST Request 'https://localhost:4848/management/domain/clusters/cluster//get-health' failed with response code '404'.

This is a regression from b10. This error is seen only for clustered instance and not for standalone instances.

attached screenshots.



 Comments   
Comment by Anissa Lam [ 02/Feb/12 ]

The cluster instance edit page expects a cluster name to pass it. It should set that if none is passed in, which is the case when getting there from the configuration page.

Comment by Anissa Lam [ 02/Feb/12 ]

An easy fix, fixed in trunk.

Sending clusterInstanceEdit.jsf
Transmitting file data .
Committed revision 52391.

Comment by Anissa Lam [ 02/Feb/12 ]

Fixed in 3.1.2 branch.
Revisions:
----------
52404
Modified Paths:
---------------
branches/3.1.2/admingui/cluster/src/main/resources/cluster/clusterInstanceEdit.jsf

Remove the regression tag since the page seems come up before, it wasn't working correctly due to missing cluster name.





[GLASSFISH-18300] Repository URL (origin) using pkg.sun.com in SDK bundles Created: 01/Feb/12  Updated: 02/Feb/12  Resolved: 02/Feb/12

Status: Resolved
Project: glassfish
Component/s: packaging
Affects Version/s: 3.1.2_b20
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Critical
Reporter: Chris Kasso Assignee: janey
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-approved

 Description   

I've checked some of the SDK bundles in b20. They are still using pkg.sun.com as their origin:

[authority_release.javaeesdk.sun.com]
origin = http://pkg.sun.com/javaeesdk/6/release/

These should be changed to pkg.oracle.com

I've not found this problem in the non-SDK bundles (but I have not checked every bundle)



 Comments   
Comment by Joe Di Pol [ 02/Feb/12 ]

Is this controlled by the Hudson job? Assigning to Jane.

Comment by Snjezana Sevo-Zenzerovic [ 02/Feb/12 ]

FWIW, this is not controlled by Hudson job configuration but by ant property value in SDK distributions module. Searching for pkg.sun.com in javaee-sdk/distributions and replacing it with pkg.oracle.com should do the trick.

Comment by janey [ 02/Feb/12 ]

Fixed in SVN rev 3706:

Diffs:

Index: distributions/distributions.xml
===================================================================
— distributions/distributions.xml (revision 3675)
+++ distributions/distributions.xml (working copy)
@@ -37,8 +37,8 @@
<property name="release.authority" value="release.javaeesdk.sun.com"/>
<property name="contrib.authority" value="contrib.glassfish.sun.com"/>
<property name="dev.authority" value="dev.javaeesdk.sun.com"/>
-<property name="repository.url" value="http://pkg.sun.com/javaeesdk/6"/>
-<property name="sun.repository.url" value="http://pkg.sun.com/glassfish/v3"/>
+<property name="repository.url" value="http://pkg.oracle.com/javaeesdk/6"/>
+<property name="sun.repository.url" value="http://pkg.oracle.com/glassfish/v3"/>
<property name="dev.repository.url" value="$

{repository.url}/dev/"/>
<property name="release.repository.url" value="${repository.url}

/release/"/>
<property name="contrib.repository.url" value="$

{sun.repository.url}

/contrib/"/>





[GLASSFISH-18298] SDK: Update tool fails to install with b19: downgrade conflict Created: 01/Feb/12  Updated: 02/Feb/12  Resolved: 02/Feb/12

Status: Resolved
Project: glassfish
Component/s: update_center
Affects Version/s: 3.1.2_b19
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Critical
Reporter: Kim Haase Assignee: Jill Sato
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-approved

 Description   

I'm using Java EE SDK 6 update 4, with GlassFish 3.1.2 b19. This problem happens on both Windows and Solaris.

I tried to install the update tool today. I had installed without it. This is what happens:

C:\java_ee_sdk-6u4\bin>updatetool.bat

The software needed for this command (updatetool) is not installed.

If you choose to install Update Tool, your system will be automatically
configured to periodically check for software updates. If you would like
to configure the tool to not check for updates, you can override the
default behavior via the tool's Preferences facility.

When this tool interacts with package repositories, some system information
such as your system's IP address and operating system type and version
is sent to the repository server. For more information please see:

http://wikis.oracle.com/display/updatecenter/UsageMetricsUC2

Once installation is complete you may re-run this command.

Would you like to install Update Tool now (y/n): y

C:\java_ee_sdk-6u4\bin>"C:\jdk1.6.0_29\bin\java" -Dimage.path="C:\java_ee_sdk-6u
4\bin
.." -jar "C:\java_ee_sdk-6u4\bin\\..\pkg/lib/pkg-bootstrap.jar" "C:\DOCUM
E~1\chaase\LOCALS~1\Temp\pkg-bootstrap23124.props"
Proxy: Using system proxy settings.
Install image: C:\java_ee_sdk-6u4
Installing pkg packages.
Unrecognized exception: Package pkg-toolkit-incorporation contains constraint th
at requires downgrade of installed pkg pkg://release.javaeesdk.sun.com/pkg-java@
1.122,0-56.2852:20111207T210529Z: Pkg pkg-java: Optional min_version: 1.122-54 m
ax_version: 1.122-54 defined by: pkg:/pkg-toolkit-incorporation
com.sun.pkg.client.Constraint$DowngradeConflict: Package pkg-toolkit-incorporati
on contains constraint that requires downgrade of installed pkg pkg://release.ja
vaeesdk.sun.com/pkg-java@1.122,0-56.2852:20111207T210529Z: Pkg pkg-java: Optiona
l min_version: 1.122-54 max_version: 1.122-54 defined by: pkg:/pkg-toolkit-incor
poration
at com.sun.pkg.client.Constraint.checkForWork(Constraint.java:369)
at com.sun.pkg.client.Image$ImagePlan.evaluateFmri(Image.java:471)
at com.sun.pkg.client.Image$ImagePlan.evaluate(Image.java:536)
at com.sun.pkg.client.Image.makeAndEvaluateImagePlan(Image.java:1773)
at com.sun.pkg.client.Image.makeInstallPlan(Image.java:1751)
at com.sun.pkg.client.Image.makeInstallPlan(Image.java:1724)
at com.sun.pkg.client.Image.installPackages(Image.java:1904)
at com.sun.pkg.bootstrap.Bootstrap._main(Bootstrap.java:244)
at com.sun.pkg.bootstrap.Bootstrap._main(Bootstrap.java:163)
at com.sun.pkg.bootstrap.Bootstrap.main(Bootstrap.java:113)

C:\java_ee_sdk-6u4\bin>



 Comments   
Comment by Kim Haase [ 01/Feb/12 ]

I don't know if this is relevant, but I notice that although my JAVA_HOME is set to jdk1.7.0_02, and that's what I specified when I installed the SDK, the tool uses my JDK 6 installation.

Comment by Joe Di Pol [ 01/Feb/12 ]

This is a problem only with the SDK bundles.

I'm pretty sure this is caused by missing Update Center packages from the SDK repository.

If I look in the community stable repository (http://pkg.glassfish.org/v3/stable/catalog/0) it has:

pkg:/pkg-java@1.122,0-56.2852

But the SDK release repository does not:

http://pkg.oracle.com/javaeesdk/6/release/catalog/0

So I think B56 of UC has not been pushed to the SDK repo.

Assigning to Jill to take a look at that.

Comment by Jill Sato [ 02/Feb/12 ]

Updated sdk repos with latest UC pkgs.





[GLASSFISH-18295] javaee6u4_ri-3.1.2-b20.zip, domain fails to start Created: 01/Feb/12  Updated: 06/Feb/12  Resolved: 06/Feb/12

Status: Closed
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1.2_b20
Fix Version/s: 3.1.2_b21, 4.0

Type: Bug Priority: Blocker
Reporter: Joe Di Pol Assignee: naman_mehta
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File diff.log    
Issue Links:
Related
is related to GLASSFISH-18055 Cannot open log viewer for an instanc... Closed
Tags: 3_1_2-approved

 Description   

From the CTS team:

I downloaded javaee6u4_ri-3.1.2-b20.zip unzipped it and it fails to start.

# /ri/glassfish3/glassfish/bin/asadmin start-domain
Waiting for domain1 to start ........Error starting domain domain1.
The server exited prematurely with exit code 1.
Before it died, it produced the following output:

Launching GlassFish on Felix platform
Completed shutdown of GlassFish runtime
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
        at 
com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
Caused by: com.sun.enterprise.module.ResolveError: Failed to start 
Bundle Id [212]       State [INSTALLED]       
[org.glassfish.main.core.logging(Appserver Logging Classes):3.1.2.b20]
        at 
org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:177)
        at 
org.jvnet.hk2.osgiadapter.OSGiModuleImpl$2$1$1.loadClass(OSGiModuleImpl.java:344)
        at 
com.sun.hk2.component.LazyInhabitant.loadClass(LazyInhabitant.java:124)
        at 
com.sun.hk2.component.LazyInhabitant.fetch(LazyInhabitant.java:111)
        at 
com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:135)
        at 
com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:78)
        at 
com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:229)
        at 
com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartup.java:145)
        at 
com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:136)
        at 
com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishImpl.java:79)
        at 
com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(GlassFishDecorator.java:63)
        at 
com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(OSGiGlassFishImpl.java:69)
        at 
com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:117)
        ... 6 more
Caused by: org.osgi.framework.BundleException: Unresolved constraint in 
bundle org.glassfish.main.core.logging [212]: Unable to resolve 212.0: 
missing requirement [212.0] osgi.wiring.package; 
(&(osgi.wiring.package=com.sun.enterprise.util.cluster.windows.io)(version>=3.1.0))
        at 
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)
        at 
org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:169)
        ... 18 more

Command start-domain failed.


 Comments   
Comment by Joe Di Pol [ 01/Feb/12 ]

I see the same error with the RI bundles from B17, B18, B19 and B20

The B16 RI bundle seems to work OK

This looks to be limited to the RI bundles, since I don't see this
error with the OGS and open source bundles.

Comment by Mahesh Kannan [ 01/Feb/12 ]

Looks like the root cause is:

Caused by: org.osgi.framework.BundleException: Unresolved constraint in
bundle org.glassfish.main.core.logging [212]: Unable to resolve 212.0:
missing requirement [212.0] osgi.wiring.package;
(&(osgi.wiring.package=com.sun.enterprise.util.cluster.windows.io)(version>=3.1.0))
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)
at
org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:169)
... 18 more

Comment by Joe Di Pol [ 01/Feb/12 ]

That package is in cluster-common.jar. The RI should not require clustering packages. Looks like this dependency was introduced with:

Project:    glassfish
Repository: svn
Revision:   51898
Author:     naman_mehta
Date:       2012-01-05 08:12:44 UTC
Link:       

Log Message:
------------
Fixing issue : http://java.net/jira/browse/GLASSFISH-18055
Isntannce logs wouldn't able to download from dcom node.

Which has:

Diffs:
------
Index: branches/3.1.2/core/logging/src/main/java/com/sun/enterprise/server/logging/logviewer/backend/LogFilterForInstance.java
===================================================================
--- branches/3.1.2/core/logging/src/main/java/com/sun/enterprise/server/logging/logviewer/backend/LogFilterForInstance.java	(revision 51897)
+++ branches/3.1.2/core/logging/src/main/java/com/sun/enterprise/server/logging/logviewer/backend/LogFilterForInstance.java	(revision 51898)
@@ -45,11 +45,15 @@
 import com.sun.enterprise.config.serverbeans.Nodes;
 import com.sun.enterprise.config.serverbeans.Server;
 import com.sun.enterprise.util.LocalStringManagerImpl;
+import com.sun.enterprise.util.cluster.windows.io.WindowsRemoteFile;
+import com.sun.enterprise.util.cluster.windows.io.WindowsRemoteFileSystem;
+import com.sun.enterprise.util.cluster.windows.process.WindowsException;
 import com.trilead.ssh2.SCPClient;
 import com.trilead.ssh2.SFTPv3DirectoryEntry;
 import com.trilead.ssh2.SFTPv3FileAttributes;
 import org.glassfish.cluster.ssh.launcher.SSHLauncher;
 import org.glassfish.cluster.ssh.sftp.SFTPClient;
+import org.glassfish.cluster.ssh.util.DcomInfo;
 import org.jvnet.hk2.component.Habitat;
Comment by Joe Di Pol [ 01/Feb/12 ]

I've confirmed that if I add the following three files to modules then the domain starts. But we don't want to add these to the RI:

cluster-common.jar
cluster-ssh.jar
trilead-ssh2-repackaged.jar

Assigning bug to Naman to see how we can remove these dependencies.

Comment by naman_mehta [ 02/Feb/12 ]

I need those jars to work with dcom node in cluster mode.... As I unbundle RI zip it's not having any cluster jars...

My question is,
What is the general approach people are following to split the same? Do I need to split the modules?

Comment by naman_mehta [ 03/Feb/12 ]

It's due to dependency on cluster specific jars which are missing in RI bundle.

  • What is the impact on the customer of the bug?
    It's highly impact and visible bug. Server startup is failing on RI.
  • How likely is it that a customer will see the bug and how serious is the bug?
    Every time on server startup. It's not starting the server.
  • Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)?
    Yes.
  • What is the cost/risk of fixing the bug?
    It's not going to impact other functionality as I am just removing dependency of those packages from OSGI.
  • How risky is the fix? How much work is the fix? Is the fix complicated?
    Attached file diff.log for the same.
  • Is there an impact on documentation or message strings?
    No.
  • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
    It's failing to start serve so after the fix server will start smoothly.
  • Which is the targeted build of 3.1.2 for this fix?
    3.1.2 b22
Comment by naman_mehta [ 03/Feb/12 ]

Attached file diff for the fix...

Comment by naman_mehta [ 06/Feb/12 ]

Project: glassfish
Repository: svn
Revision: 52451
Author: naman_mehta
Date: 2012-02-06 05:22:40 UTC

Project: glassfish
Repository: svn
Revision: 52450
Author: naman_mehta
Date: 2012-02-06 05:15:49 UTC





[GLASSFISH-18291] Unlocalized error message in the create admin-realm user page Created: 01/Feb/12  Updated: 08/Feb/12  Resolved: 05/Feb/12

Status: Closed
Project: glassfish
Component/s: l10n
Affects Version/s: 3.1.2_b19
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Major
Reporter: sunny-gui Assignee: gmurr
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Server OS: OEL 6 x64 w/JDK 1.6.0_30 64-Bit
Bundle: ogs-3.1.2-b20_01_29_2012-ml.zip
Server Locale: ja_JP.UTF-8
Browser Locale: it_IT


Attachments: JPEG File realm_error_unloca.jpg    

 Description   

There are unlocalized error message in the create admin-realm user page

To reproduce:
1. In Admin Console, go to Configuration > Security > Realms > admin-realm > Manage users, and click on New button.
2. Provide any user ID and keep password filed as empty and then click on OK button.

There are unlocalized error message said, "The new password for the admin user is empty. This is not allowed when secure-admin is enabled."

Attached screen shot for your reference.



 Comments   
Comment by Anissa Lam [ 01/Feb/12 ]

Is your server running in English locale ? Those are error msg from the backend, and it will be in the locale that the server is running on.

Comment by sunny-gui [ 01/Feb/12 ]

Hi, as I mentioned at Environment, I set server locale as ja_JP.UTF-8 and set browser language as it_IT.

Comment by gmurr [ 05/Feb/12 ]

fixed in 3.1.2 b21

Comment by sunny-gui [ 08/Feb/12 ]

Verified and fixed in build 21 with the bundle "ogs-3.1.2-b21-unix-ml.sh" in OEL 6 x64 w/JDK1.6.0_30 32-Bit, so close this issue.





[GLASSFISH-18278] Unlocalized error message at JMS Physical Destinations Tab in the cluster Created: 31/Jan/12  Updated: 08/Feb/12  Resolved: 05/Feb/12

Status: Closed
Project: glassfish
Component/s: l10n
Affects Version/s: 3.1.2_b19
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Major
Reporter: sunny-gui Assignee: gmurr
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Server OS: OEL 6 x64 w/JDK 1.6.0_30 64-Bit
Bundle: ogs-3.1.2-b20_01_29_2012-ml.zip
Server Locale: ja_JP.UTF-8
Browser Locale: ja_JP


Attachments: JPEG File cluster_JMS_unloca.jpg    

 Description   

Unlocalized error message at JMS Physical Destinations Tab in the cluster

To reproduce:
1. Log into Admin Console.
2. Create a cluster.
3. Select the newly created cluster and go to JMS Physical Destinations Tab.

There are unlocalized error message said as below.
Unable to list JMS Destinations. Please ensure that the Message Queue Brokers are running.

Attached screen shot for your reference.



 Comments   
Comment by gmurr [ 05/Feb/12 ]

fixed in 3.1.2 b21

Comment by sunny-gui [ 08/Feb/12 ]

Verified and fixed in build 21 with the bundle "ogs-3.1.2-b21-unix-ml.sh" in OEL 6 x64 w/JDK1.6.0_30 32-Bit, so close this issue.





[GLASSFISH-18274] [Regression] Custom Install. Installation flow has changed after selecting "Configure again". Errors in port conflict are reported in Domain Info screen. Created: 30/Jan/12  Updated: 07/Feb/12  Resolved: 07/Feb/12

Status: Resolved
Project: glassfish
Component/s: installation
Affects Version/s: 3.1.2_b19
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Critical
Reporter: Alex Pineda Assignee: scatari
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Oracle Enterprise Linux (OEL)6. JDK1.7.0_02. GF 3.1.2 build19 (ogs-unix.sh). Firefox browser 3.6.25. Install option "Custom Install".


Tags: 312_qa, 3_1_2-approved

 Description   

The test scenario based on the "Custom" Install option to first install a "Server domain" and afterwards, to add a "standalone instance server" or a "clustered server instance". In GF 3.1.2 build16 and prior versions (3.1.1, 3.1), the process was done, after creating the domain, by selecting the "configure again" option and selecting the option of standalone or the clustered server instance, however, in GF 3.1.2 build19 (probably present since build17), the flow has changed and the "Domain Info" screen is displayed which has the options for port, user admin, password, etc.. If one selects "Next", the system complaints of a port conflict and highlights the Admin Port and Admin User. This is clearly a regression and probably a side effect of the recent Security remediation requirements.

A workaround, which we could document is to instruct the user, not to select "Next" in the Domain Info screen, but rather select the "Back" button which then puts the user in the "Configuration" screen and allows them to proceed forward with their selection (of "standalone server" or "clustered server" instances).



 Comments   
Comment by Joe Di Pol [ 31/Jan/12 ]

I did some experimentation and saw two basic bugs:

In all cases:

Select Custom Installation
Select Install and Configure
Specify new installation directory
Select JDK
Uncheck install Update Tool (to save time)
Click Install

Bug 1:

Select Create a server domain
Click Next, accepting defaults (domain is created and started)
Click "Configure again"

Bug: This takes you to the "Domain Info" screen, not back to the Configuration screen
(like it does in 3.1.1)

Bug 2:

Select Create a stand alone server instance
Click Next
Bug: this takes you to "Domain Info" screen not to the Instance Configuration screen (like it does in 3.1.1)
Next, accepting defaults.
Takes you to Instance Configuration
Next, accepting defaults
Configuration fails because domain was never created nor started even though you filled out domain information. So we lead the user down a path that should work, and it fails.

Comment by scatari [ 07/Feb/12 ]

• What is the impact on the customer of the bug?
Visible during advanced installer navigation sequence if the default sequence is skipped.

Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)?
No, the bug has existed for a while, but shows up as we recently enabled "Domain Information" Panel
to adhere to Oracle's security compliance.

• What is the cost/risk of fixing the bug?
Code changes are minimal and isolated.
• Is there an impact on documentation or message strings?
No doc impact. No doc change required
• Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
Custom install and Typical install on 1 unix and 1 windows platform
• Which is the targeted build of 3.1.2 for this fix?
3.1.2-b21





[GLASSFISH-18123] Cannot download logs for a server instance on DCOM node Created: 05/Jan/12  Updated: 09/Feb/12  Resolved: 09/Feb/12

Status: Closed
Project: glassfish
Component/s: logging
Affects Version/s: 3.1.2_b16
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Major
Reporter: lidiam Assignee: naman_mehta
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File server.log.txt    
Tags: 312_gui_new, 312_qa, 312_verified

 Description   

This may be related to issue 18055. Steps to reproduce:

1. Create a standalone instance or a cluster with one instance and start it.
2. Go to Domain Logs page and select the newly created instance/cluster.
3. Click Download Logs - Admin Console waits for DAS over 10 minutes and then nothing happens on the screen but the following exception is printed in DAS server.log:

[#|2012-01-04T17:08:38.649-0800|WARNING|glassfish3.1.2|javax.enterprise.system.c
ontainer.web.com.sun.enterprise.web|_ThreadID=165;_ThreadName=Thread-2;|Standard
WrapperValve[DownloadServlet]: PWC1406: Servlet.service() for servlet DownloadSe
rvlet threw exception
java.lang.RuntimeException: com.sun.jersey.api.client.ClientHandlerException: ja
va.io.InterruptedIOException: Operation interrupted
at org.glassfish.admingui.common.servlet.LogFilesContentSource.getInputS
tream(LogFilesContentSource.java:110)
at org.glassfish.admingui.common.servlet.DownloadServlet.writeContent(Do
wnloadServlet.java:277)
at org.glassfish.admingui.common.servlet.DownloadServlet.doPost(Download
Servlet.java:174)
at org.glassfish.admingui.common.servlet.DownloadServlet.doGet(DownloadS
ervlet.java:155)

I'm attaching server.log.



 Comments   
Comment by Anissa Lam [ 05/Jan/12 ]

Transfer to logging for initial evaluation.

Comment by naman_mehta [ 05/Jan/12 ]

This issue has dependency on 18055. After fixing 18055, it's not reproducible.

It just prints 'No items found, No record found' in GUI. It won't hang now. Also it will print exception in server.log but it's intended to get exact error for debug in future.

Comment by lidiam [ 09/Feb/12 ]

Reopening to close as fixed. This issue is certainly reproducible on 3.1.2_b16.

Comment by lidiam [ 09/Feb/12 ]

This issue is fixed.

Comment by lidiam [ 09/Feb/12 ]

Verified in build ogs-3.1.2-b21.zip.





[GLASSFISH-16080] There are a lot of blank space in the output of the command "asadmin help" Created: 22/Feb/11  Updated: 08/Feb/12  Resolved: 08/Feb/12

Status: Closed
Project: glassfish
Component/s: l10n
Affects Version/s: 3.1_b43
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Minor
Reporter: sunny-gui Assignee: gmurr
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Server OS: OEL 5
Bundle: ogs-3.1-b43-unix-ml.sh
locale: zh_CN


Attachments: JPEG File asadmin_help_blank.jpg    
Tags: 3_1-next, 3_1_1-scrubbed

 Description   

There are a lot of blank space in the output of the command "asadmin help"

Installed the bundle, and execute command "asadmin help" in the terminal window, there are a lot of black space in the output.

Please see screen shot for your reference.



 Comments   
Comment by scatari [ 17/May/11 ]

Approved for 3.1.1.

Comment by sunny-gui [ 08/Feb/12 ]

Verified and fixed in GF 3.1.2 build 21 with the bundle "ogs-3.1.2-b21-unix-ml.sh" in OEL 6 x64 w/JDK1.6.0_30 32-Bit, so close this issue.





[GLASSFISH-16032] The words "Common Tasks" are in English in it_T locale. Created: 17/Feb/11  Updated: 08/Feb/12  Resolved: 08/Feb/12

Status: Closed
Project: glassfish
Component/s: l10n
Affects Version/s: 3.1_b43
Fix Version/s: 3.1.2_b21

Type: Bug Priority: Minor
Reporter: sunny-gui Assignee: gmurr
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: OEL 5
Bundle: ogs-3.1-b43-unix-ml.sh


Attachments: JPEG File it_commonTask_unloca.jpg    
Tags: 3_1_1-next, 3_1_1-scrubbed

 Description   

The words "Common Tasks" are in English in it_T locale.

Go to Common Tasks in the Admin Console Page. The words "Common Tasks" are in English, and in the right panel, the strings under the Update Center are in English.

Pls see attached screen shot for your reference.



 Comments   
Comment by scatari [ 17/May/11 ]

Approved for 3.1.1.

Comment by sunny-gui [ 08/Feb/12 ]

Verified and fixed in GF 3.1.2 build 21 with the bundle "ogs-3.1.2-b21-unix-ml.sh" in OEL 6 x64 w/JDK1.6.0_30 32-Bit, so close this issue.





Generated at Tue Jun 30 14:51:35 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.