[GLASSFISH-15522] (OI) There are truncation in the left of the install page in es locale Created: 11/Jan/11  Updated: 15/Feb/13

Status: Reopened
Project: glassfish
Component/s: installation
Affects Version/s: 3.1_b35
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: sunny-gui Assignee: Romain Grécourt
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Server OS:RHEL 5
Bundle: java_ee_sdk-6u2-b35-jdk-linux-x64-ml.sh


Attachments: JPEG File truncat_es_install.jpg     JPEG File truncat_install_it.jpg     JPEG File truncat_install_pt.jpg     JPEG File truncat_uninstall_pt.jpg     JPEG File UPDATED_ES_PACKED.jpg     JPEG File UPDATED_FR_PACKED.jpg     JPEG File UPDATED_US_PACKED_EXTREME.jpg    
Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

There are truncation in the left of the install page in es locale

Launch the installer program, the installer UI will be displayed. There are truncation in the left of the install page. Please see screen shot for your reference.



 Comments   
Comment by sunny-gui [ 11/Jan/11 ]

This issue also happens in pt_BR, it and fr locales. Please see attached screen shots for this.

Comment by scatari [ 11/Jan/11 ]

This is a known limitation with OpenInstaller framework and fixing it would require changes in OI code base. In fact this issue also applies to "en" locales. Alternatively one could always look at the text/panel header on the right top of this whole screen to find out where they are in the sequence. I am marking this for further evaluation in 3.2 as it does not affect any of installer's functionality.

Comment by scatari [ 17/May/11 ]

Approved for 3.1.1.

Comment by scatari [ 24/May/11 ]

Too late to fix for 3.1.1.

Comment by scatari [ 13/Oct/11 ]

To be considered for 3.1.2.

Comment by Snjezana Sevo-Zenzerovic [ 28/Nov/11 ]

Assigning to Romain, fix required in Open Installer.

Comment by Romain Grécourt [ 09/Jan/12 ]

Fixed with revision #51948. Fixed installers can be downloaded from hudson job (http://gf-hudson.us.oracle.com/hudson/job/gf-3.1.2-build-nightly/156/artifact/bundles/) or you can wait for promoted build #17 and download installers from http://dlc.sun.com.edgesuite.net/glassfish/3.1.2/promoted/.

Comment by Romain Grécourt [ 09/Jan/12 ]

Attaching screenshots to show how it looks now.

Comment by Romain Grécourt [ 13/Jan/12 ]

re-open as the changes relied on OpenInstaller 0.9.5.5. (integration in 3.1.2 was reverted).

Comment by Joe Di Pol [ 18/Jan/12 ]

Excluding bug from 3.1.2 since OI integration had to be rolled back.

Comment by Snjezana Sevo-Zenzerovic [ 15/Feb/13 ]

Moving to future release due to issues with OI codebase and integration.





[GLASSFISH-15571] Create Resource Adapter Config is throwing an exception if jms is already started Created: 14/Jan/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: None
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: sumasri Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-next, 3_1-release-note-added, 3_1-release-notes, 3_1_2-exclude

 Description   

Start the JMS. In GUI, try to create a resource adapter config using jmsra and thread pool as "http-thread-pool".
It is throwing an exception in the server log.

Steps to reproduce the issue :

1)./bin/asadmin jms-ping
2) In GUI, create a resource adapter config with resource adapter name as jmsra and thread pool as http-thread-pool. Then, it throws an exception.

Exception in server log :

[#|2011-01-14T14:55:14.369+0530|SEVERE|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.work|_ThreadID=333;_ThreadName=Thread-2;|Thread-pool [ http-thread-pool ] not found|#]

[#|2011-01-14T14:55:14.370+0530|SEVERE|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.work|_ThreadID=333;_ThreadName=Thread-2;|An error occurred during instantiation of the work manager for resource-adapter [ jmsra ]
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException
at com.sun.enterprise.connectors.work.CommonWorkManager.<init>(CommonWorkManager.java:118)
at com.sun.enterprise.connectors.work.WorkManagerFactory.createWorkManager(WorkManagerFactory.java:125)
at com.sun.enterprise.connectors.work.WorkManagerFactory.getWorkManagerProxy(WorkManagerFactory.java:196)
at com.sun.enterprise.connectors.ConnectorRuntime.getWorkManagerProxy(ConnectorRuntime.java:1129)
at com.sun.enterprise.connectors.BootstrapContextImpl.initializeWorkManager(BootstrapContextImpl.java:161)
at com.sun.enterprise.connectors.BootstrapContextImpl.<init>(BootstrapContextImpl.java:103)
at com.sun.enterprise.connectors.ActiveOutboundResourceAdapter.init(ActiveOutboundResourceAdapter.java:126)
at com.sun.enterprise.connectors.inbound.ActiveInboundResourceAdapterImpl.init(ActiveInboundResourceAdapterImpl.java:90)
at com.sun.enterprise.connectors.ActiveRAFactory.instantiateActiveResourceAdapter(ActiveRAFactory.java:135)
at com.sun.enterprise.connectors.ActiveRAFactory.createActiveResourceAdapter(ActiveRAFactory.java:106)
at com.sun.enterprise.connectors.service.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:211)
at com.sun.enterprise.connectors.service.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:345)
at com.sun.enterprise.connectors.service.ResourceAdapterAdminServiceImpl.reCreateActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:541)
at com.sun.enterprise.connectors.service.ResourceAdapterAdminServiceImpl.addResourceAdapterConfig(ResourceAdapterAdminServiceImpl.java:494)
at com.sun.enterprise.connectors.ConnectorRuntime.addResourceAdapterConfig(ConnectorRuntime.java:1195)
at com.sun.enterprise.resource.deployer.ResourceAdapterConfigDeployer.deployResource(ResourceAdapterConfigDeployer.java:86)
at com.sun.enterprise.resource.deployer.ResourceAdapterConfigDeployer.redeployResource(ResourceAdapterConfigDeployer.java:117)
at org.glassfish.javaee.services.ResourceManager$PropertyChangeHandler.handleChangeEvent(ResourceManager.java:378)
at org.glassfish.javaee.services.ResourceManager$PropertyChangeHandler.changed(ResourceManager.java:328)
at org.jvnet.hk2.config.ConfigSupport.sortAndDispatch(ConfigSupport.java:329)
at org.glassfish.javaee.services.ResourceManager.changed(ResourceManager.java:275)
at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:376)
at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:366)
at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:256)
at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:254)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.sun.corba.ee.spi.orbutil.threadpool.NoSuchThreadPoolException
at org.glassfish.enterprise.iiop.util.S1ASThreadPoolManager.getThreadPool(S1ASThreadPoolManager.java:217)
at com.sun.enterprise.connectors.work.CommonWorkManager.<init>(CommonWorkManager.java:111)
... 29 more



 Comments   
Comment by Jagadish [ 14/Jan/11 ]

ThreadPoolManager.getThreadPool() seems to throw the exception.

ThreadPoolManager only has "thread-pool-1" when the method "getThreadPool" is called.

Transferring to Ken for further investigation.

Steps to reproduce :

asadmin jms-ping
asadmin create-resource-adapter-config --threadpoolid http-thread-pool jmsra

will show the reported exception in server.log

Comment by Ken Cavanaugh [ 14/Jan/11 ]

It looks like the issue may be in S1ASThreadPoolManager (which is in orb/orb-connector).
This class has a static initializer that reads the ThreadPool config data from
the iiop service and network listener config beans. But there is no way to
add a new ORB threadpool after the initial configuration is read.

It is also not clear to me from the test case how you expect "http-thread-pool" to be created.
Is this an ORB threadpool or a Grizzly threadpool? GF 3.1 has TWO distinct threadpool implementations currently.
Which one does create-resource-adapter-config expect to use?
How does the http-thread-pool get created if it does not already exist?

I am excluding this from 3.1 because I cannot investigate it or fix it before
the RC1 deadline. It is not even clear if this is something that should be fixed at this point.

Comment by Jagadish [ 17/Jan/11 ]

Hi Ken,

> It looks like the issue may be in S1ASThreadPoolManager (which is in orb/orb-connector).
> This class has a static initializer that reads the ThreadPool config data from
> the iiop service and network listener config beans. But there is no way to
> add a new ORB threadpool after the initial configuration is read.

Yes, whenever we create a thread-pool, we restart the server.

> It is also not clear to me from the test case how you expect "http-thread-pool" to be created.
> Is this an ORB threadpool or a Grizzly threadpool?
Connector container uses ORB thread pool (work) API and hence its always ORB thread pool.
> GF 3.1 has TWO distinct threadpool implementations currently.
> Which one does create-resource-adapter-config expect to use?
ORB thread pool.
In GlassFish 2.x and before, a resource-adapter can use any of the configured thread-pools in the system.

> How does the http-thread-pool get created if it does not already exist?
http-thread-pool configuration is present in a all domains by default.

> I am excluding this from 3.1 because I cannot investigate it or fix it before
> the RC1 deadline. It is not even clear if this is something that should be fixed at this point.

I am able to create a new thread pool, restart server, configure the resource-adapter to use new thread pool successfully. However, I do not see http-thread-pool and admin-thread-pool in the list of thread pools of S1ASThreadPoolManager. Is this by design ?
If it is by design, probably we should document it.

eg: Following thread-pools are grizzly thread pools and will not be available for ORB thread pool clients/users.
http-thread-pool, admin-thread-pool

I am adding '3_1-release-notes' tag to the issue so that it is documented/release-noted.

Could you please provide appropriate documentation changes for the same ?

Comment by Jagadish [ 17/Jan/11 ]

Update : I see that IIOPUtils exluding thread-pools that are used by http-listener (network-listener) while initializing ORB thread-pools.

Comment by Scott Fordin [ 23/Mar/11 ]

Need more info to add issue to 3.1 Release Notes.

Comment by Jagadish [ 31/Mar/11 ]

There are two thread pool implementations from GlassFish 3.0 ie., grizzly based thread-pool and ORB based thread-pool.

"create-resource-adapter-config" takes a thread-pool id as parameter which is based on ORB thread-pool.
Also refer, create-thread-pool command to create new thread-pools.

ORB thread-pool, when initialized will verify whether an "thread-pool" is used by grizzly and will initialize the thread-pool only if grizzly is already not using the configuration.

So, there need to be a documentation stating that ORB thread pool manager will exclude any defined thread-pool configuration in the system if its already used by grizzly thread pool manager.

Comment by Scott Fordin [ 13/Apr/11 ]

Added issue to 3.1. Release Notes.

Comment by Nazrul [ 21/Apr/11 ]

It would be useful to look into this issue during 3.1.1

Comment by scatari [ 25/Jun/11 ]

Marking it as to be considered after 3.1.1.

Comment by Tom Mueller [ 07/Feb/13 ]

Targeting for 4.0.1 as bugs related to the orb do not need to be fixed for the RI/SDK.





[GLASSFISH-15590] Regular Expression Checking not working for calculated values Created: 17/Jan/11  Updated: 18/Feb/13

Status: Open
Project: glassfish
Component/s: monitoring
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: Byron Nevins Assignee: Byron Nevins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_1-exclude, 3_1_1-scrubbed, 3_1_x-exclude

 Description   

D:\gf\v3\core\kernel>asadmin get -m server.applications.x.y\.z.server.jsp.servicetime-coun*
No monitoring data to report.

D:\gf\v3\core\kernel>asadmin get -m server.applications.x.y\.z.server.jsp.servicetime-count
server.applications.x\.y\.z.server.jsp.servicetime-count = 0

=======
The first command ought to work.



 Comments   
Comment by Byron Nevins [ 17/Jan/11 ]

Another example:
========================
D:\gf\v3\core\kernel>asadmin get -m server.applications.x.y.z.server.jsp.servicetime*

server.applications.x\.y\.z.server.jsp.dotted-name =
// lots of output removed //

============
D:\gf\v3\core\kernel>asadmin get m server.applications.x.y.z.server.jsp.servicetime*
No monitoring data to report.

Comment by Byron Nevins [ 22/Mar/11 ]

As you can see – the internal code is NOT looking at things as final strings and thus misses stuff.

Another Example

D:\>asadmin get -m server.applications.x\.y.server.jsp.servicetime*
server.applications.x\.y.server.jsp.dotted-name = server.applications.x\.y.server.jsp
server.applications.x\.y.server.jsp.servicetime-count = 0
server.applications.x\.y.server.jsp.servicetime-description = Aggregate response time
server.applications.x\.y.server.jsp.servicetime-lastsampletime = 1300811411960
server.applications.x\.y.server.jsp.servicetime-name = ServiceTime
server.applications.x\.y.server.jsp.servicetime-starttime = 1300811252183
server.applications.x\.y.server.jsp.servicetime-unit = millisecond

D:\>asadmin get m server.applications.x\.y.server.jsp.servicetime*
No monitoring data to report.

Comment by Byron Nevins [ 14/Apr/11 ]
  • Why fix this issue in 3.1.1?
    Just piping output to grep with a regular expression works. Meanwhile giving the same regular expression to the monitoring framework gets no matches at all – this reflects badly on the product.
  • Which is the targeted build of 3.1.1 for this fix?
    I have no list of builds to pick from ?!?
  • Do regression tests exist for this issue?
    Yes. There are many unit tests, dev tests and QE tests
  • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
    Homer should re-run the QE 3.1 monitoring tests
Comment by scatari [ 14/Apr/11 ]

Approved.

Comment by Byron Nevins [ 24/May/11 ]

Excluding from 3.1.1

I spent an hour looking at this. The code has "high resistance to change". It is too risky and time-consuming for 3.1.1

Also there is a very very easy work-around which is to move the star upstream.

E.g. this does not work because the "-count" is a calculated thing. There is no "real" monitoring data with that name ending in a hyphen

server.applications.HelloWeb.server.sessionstotal-*

But this works fine:

server.applications.HelloWeb.server.sessionstotal*





[GLASSFISH-15675] Win2008, the machines had 2 interfaces & resolve a hostname to different IP addresses, MQ cluster is not configured to start correctly Created: 24/Jan/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: jms
Affects Version/s: None
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: easarina Assignee: David Zhao
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File domain.xml.asqe-oblade-15.das     File domain.xml.asqe-oblade-15.in3     File domain.xml.bigapp-oblade-1.in1     File domain.xml.bigapp-oblade-2.in2     Text File log.asqe-oblade-15     Text File log.bigapp-oblade-1     Text File log.bigapp-oblade-2     File log.txt.asqe-oblade-15.in3     File log.txt.bigapp-oblade-2.in2     File log.txt.bigapp-onlade-1.in1     File server.log.asaqe-oblade-15.das     File server.log.asqe-oblade-15.in3     File server.log.bigapp-oblade-2.in2     File server.log.bigapp-oblsde=1.in1    
Tags: 3_1_1-next, 3_1_1-scrubbed, 3_1_x-exclude, bj-reviewed

 Description   

Installed b39 01/24 on three Windows 2008 machines and created a cluster with three instances.
On machine asqe-oblade-15 was DAS + in3
On bigapp-oblade-1 was in1
On bigapp-oblade-2 was in2

All machines had two interfaces:
====================================================
asqe-oblade-15:

Ethernet adapter Local Area Connection 4:

Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::45ab:2b84:5a4b:5573%17
Autoconfiguration IPv4 Address. . : 169.254.85.115
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :

Ethernet adapter Local Area Connection 3:

Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::c534:cb5:b3d0:c360%15
IPv4 Address. . . . . . . . . . . : 10.133.184.219
Subnet Mask . . . . . . . . . . . : 255.255.248.0
Default Gateway . . . . . . . . . : 10.133.184.1
==============================================================
bigapp-oblade-1

Ethernet adapter Local Area Connection 4:

Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::7019:1cf8:a9d8:5bf%15
Autoconfiguration IPv4 Address. . : 169.254.5.191
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :

Ethernet adapter Local Area Connection 3:

Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::952f:b761:6e84:9806%13
IPv4 Address. . . . . . . . . . . : 10.133.184.150
Subnet Mask . . . . . . . . . . . : 255.255.248.0
Default Gateway . . . . . . . . . : 10.133.184.1
=======================================================

bigapp-oblade-2

Ethernet adapter Local Area Connection 4:

Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::9470:82fc:3090:bca1%17
Autoconfiguration IPv4 Address. . : 169.254.188.161
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :

Ethernet adapter Local Area Connection 3:

Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::5520:3687:8953:eadc%15
IPv4 Address. . . . . . . . . . . : 10.133.184.174
Subnet Mask . . . . . . . . . . . : 255.255.248.0
Default Gateway . . . . . . . . . : 10.133.184.1
============================================================

Because of the configuration with two interfaces, MQ brokers did not start correctly, can not connect with master broker and so on.

Please see MQ logs.

I believe we either need to find how to configure MQ, to be able to start brokers correctly on Win machines with two interfaces, or to document that we don't support such configuration.



 Comments   
Comment by amyk [ 26/Jan/11 ]

1 of the machines resolved a same hostname to different IP addresses from the other 2 machines. Either the machines need to setup to resolve a hostname to the same IP address or GlassFish/JMS should be configured to use explicit IP addresses (if supported)

Comment by Ed Bratt [ 26/Jan/11 ]

All machines should be configured to resolve hostnames the same way. Can you fix the machine setup and retest? If not, can you show how this has been tested successfully in the past?

Comment by easarina [ 26/Jan/11 ]

1) How I should configure the machines please specify?
2) How to configure JMS to use the explicit IP address?

Comment by Satish Kumar [ 27/Jan/11 ]

I tried this on a Windows Vista machine with both the LAN and Wireless adapters enabled but I was not able to reproduce this issue.

Comment by Nazrul [ 27/Jan/11 ]

Getting help from Amy.

Comment by Ed Bratt [ 27/Jan/11 ]

Direct IP setup is described here:
(Sorry, it's an internal link at the moment)
http://icon.red.iplanet.com/export7/mq4.5/demo/admingui/glassfish-cluster-mq-default-mode-explicit-ip/gf31-mq45-defaultmode-cluster-explicit-ip-demo.html

Comment by amyk [ 27/Jan/11 ]

Explicitly set network interface to be used on multi-homed computers is documented in MQ Administration Guide on configuring broker conventional cluster. If explicit network interface is not set, "connections between brokers might not succeed and as a result, the cluster will not be established"
http://download.oracle.com/docs/cd/E19798-01/821-1794/aeoia/index.html

Comment by easarina [ 28/Jan/11 ]

I've followed the provided instruction. Only I setup the correct IP addresses under nodes not node agents. WAs used Local JMS mode

Then I've restarted several times domain and cluster. But then saw the same MQ issue and, for example, richAccess was not deployed correctly. I've attached domain.xml files, server.log files, mq log files

Comment by amyk [ 28/Jan/11 ]

Reassign back to Satish to provide updated instruction to QE to configure GlassFish/JMS to use explicit IP addresses for a cluster running on multiple machines.

Comment by Nazrul [ 01/Feb/11 ]

We need to document the steps for customer to use GlassFish 3.1 (JMS in this case) on a multi-home machine. In 3.2, we may improve the out-of-the-box experience.

Comment by Harshad Vilekar [ 02/Feb/11 ]

The instructions are updated to use default (EMBEDDED) mode broker, rather than using LOCAL mode.

Use explicit IP address on multi-homed computer having multiple interface cards. GlassFish JMS module needs to set the property "imq.hostname" - and pass it on to the MQ broker in embedded / local mode. Currently, explicit IP address is not handled end to end. The workaround is to edit Message Queue configuration file, and assign the IP address to "imq.hostname" property for each clustered broker. Please document / release note this until this issue is fixed.

-------------------------
1. For Multi Node cluster with MQ EMBEDDED mode: Assign explicit IP address to "imq.hostname" property for each clustered broker. The setup steps are documented at:
http://icon.red.iplanet.com/export7/mq4.5/demo/admingui/glassfish-cluster-mq-default-mode-explicit-ip/gf31-mq45-defaultmode-cluster-explicit-ip-demo.html

2. For MQ in REMOTE mode:

  • Use explicit ip addresses when setting these broker properties: imq.hostname, imq.cluster.masterbroker, imq.cluster.brokerlist
  • Also, when using JMS Connection Factory, use explicit IP addresses for "AddressList" property

For details, see Configuring and Managing Broker Clusters: http://download.oracle.com/docs/cd/E19798-01/821-1794/6nmolieds/index.html

3. If using LOCAL mode, the brokers start up OK when configured to explicit IP (and imq.hostname is set). However, the broker shutdown is not handled properly - and this leaves the MQ brokers running when GlassFish cluster is shutdown. So, it is best not to use LOCAL mode when deploying GlassFish On a multi-homed computer.
-------------------------

Comment by Nazrul [ 02/Feb/11 ]

We expect a segment of users to use LOCAL mode. So, we need a fix for this issue.

Comment by Nazrul [ 04/Feb/11 ]

This will not make the RC2 cutoff. So, marking it to be release noted.

Based on conversation with Satish and Sudipa, when the Win 2008 setup is available, we may try imq commands to see if we can come up with manual steps for users. Please update the bug when ready so that the information can be included in the release note.

Comment by Scott Fordin [ 24/Mar/11 ]

Need more info to include in the Release Notes.

Comment by Nazrul [ 21/Apr/11 ]

It would be useful to take a look at this during 3.1.1.

Comment by scatari [ 29/Apr/11 ]

Approved.

Comment by Satish Kumar [ 27/Jun/11 ]

Not targeting this for 3.1.1 since it requires critical changes and needs adequate QE support to test this on various platforms. The changes required to support multi-homed setups can also cause regressions.

Comment by Satish Kumar [ 08/Jul/11 ]

Downgrading the priority of this issue to Major since this is not critical for the 3.1.1 release. We plan to fix this in the next release.

Comment by easarina [ 18/Jul/11 ]

I believe we need to document a work around.

Comment by Satish Kumar [ 08/Dec/11 ]

As stated before this issue requires critical changes and needs adequate QE support to test this on various platforms. The changes required to support multi-homed setups can also cause regressions. Hence, not targeting this for 3.1.2





[GLASSFISH-15713] [UB]Non-sticky Load Balancer not supported in GlassFish HA Created: 27/Jan/11  Updated: 07/Mar/12

Status: In Progress
Project: glassfish
Component/s: docs
Affects Version/s: 3.1_b39
Fix Version/s: not determined

Type: Bug Priority: Major
Reporter: Rajiv Mordani Assignee: Mike Fitch
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-approved, 3_1-need_more_info

 Description   

Need to document that when GlassFish is front ended with a non sticky load balancer HA is not supported. It may result in some data loss. Please see bug
http://java.net/jira/browse/GLASSFISH-15575



 Comments   
Comment by Paul Davies [ 27/Jan/11 ]

Reassigned to sfordin. Corrected typo in tag.

Comment by Scott Fordin [ 11/Feb/11 ]

With all the back-and-forth in the comments on this issue, it is unclear to me what actually needs to be said in the docs here, and even in which doc this issue would be most appropriately discussed. Can someone please advise me here?

Comment by Scott Fordin [ 17/Mar/11 ]

Second request: I still need more information to document this issue. It is not clear to me what needs to be said here and where it needs to be said. Can someone please advise?

Comment by Scott Fordin [ 31/May/11 ]

Reassigning to Paul Davies.

Comment by Tom Mueller [ 07/Mar/12 ]

Bulk update to set Fix Version to "not determined" for issues that had it set to a version that has already been released.





[GLASSFISH-15731] properties/attributes changes result in multiple configuration events even if only one property/attribute is changed Created: 28/Jan/11  Updated: 15/Feb/13

Status: Open
Project: glassfish
Component/s: rest-interface
Affects Version/s: None
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: Jagadish Assignee: Jason Lee
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
depends on GLASSFISH-15458 Rewrite asadmin set, get, list subcom... Open
Duplicate
is duplicated by GLASSFISH-16576 JVM option change leads to 13 concate... Closed
Tags: 3_1_2-exclude

 Description   

Refer the earlier discussions and issues :
http://java.net/jira/browse/GLASSFISH-15634
http://java.net/jira/browse/GLASSFISH-15618

Probably, part of the issue is fixed, but there are use-cases where I still see multiple events are raised ie., for only one property/attribute change, it is being persisted in domain.xml multiple times resulting in multiple events.

USE-CASE 1 :

1) Edit GLASSFISH_HOME/domains/domain1/config/logging.properties and add
the following entry and restart GlassFish:
LogStrings.org.glassfish.javaee.services.level=FINEST

2) Access GUI > jdbc-connection-pools > DerbyPool > Change the attribute in
Advanced tab
eg: set "validation atmost once period in seconds" to 10.
Press Save. This will result in multiple events in server.log

3) Similarly, access the properties tab of DerbyPool, change the
property "Password" to "APP1". This will also result in multiple events in server.log

[For CLI, it is single dotted-names-set command and hence there is only
one event in server.log ]

Same behavior is seen for "connector-connection-pool", changing "resource-adapter-config" etc.,

With RC builds being made, marking this issue for 3.2 so that it is addressed.



 Comments   
Comment by Jason Lee [ 05/Apr/11 ]

Currently, the set command persists each property in its own transaction. The REST interface persists everything it is sent, so when we pass this block of data to the set command, multiple commits are made. Once the rewrite is finished, this should be much better. I'm going to add that admin issue as a blocker for this, and we'll test once that's done to make sure the situation has improved.





[GLASSFISH-15739] avoid persisting attributes with empty ("") values in domain.xml Created: 28/Jan/11  Updated: 15/Feb/13

Status: Open
Project: glassfish
Component/s: rest-interface
Affects Version/s: 4.0
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: Jagadish Assignee: Jason Lee
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_x-exclude

 Description   

Please refer the following issues :
http://java.net/jira/browse/GLASSFISH-15435
http://java.net/jira/browse/GLASSFISH-15738

GLASSFISH-15435
"Issue seems to be due to the fact that "datasource-classname" is persisted by GUI as "" (empty) which is a non-null value.
When the pool configuration is persisted, driver-classname as well datasource-classname are non-empty.
By default, (most of the users) use datasource-classname and hence datasource-classname is considered here for determining actual resource-type.
Fix would be to check for empty string also."

Sample configuration : Create a jdbc-connection-pool with resource-type as java.sql.Driver

Refer the value for datasource-classname's value persisted in domain.xml as "" below :

<jdbc-connection-pool driver-classname="org.apache.derby.jdbc.ClientDriver" datasource-classname="" res-type="java.sql.Driver" description="" name="tt"></jdbc-connection-pool>

It looks like when an attribute is reset/set, it is set as "" by GUI/REST in domain.xml
This was not the case when using GUI in 3.0/3.0.1/2.x

The equivalent when done in CLI, does not persist the attribute with value "", instead it is reset as if the value is not defined (or default value is considered).

For the above configuration of jdbc-connection-pool named "tt" when set using CLI :
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

$GLASSFISH_HOME/bin/asadmin get server.resources.jdbc-connection-pool.tt.datasource-classname
server.resources.jdbc-connection-pool.tt.datasource-classname=
Command get executed successfully.

$GLASSFISH_HOME/bin/asadmin set server.resources.jdbc-connection-pool.tt.datasource-classname=""
server.resources.jdbc-connection-pool.tt.datasource-classname=
Command set executed successfully.

$GLASSFISH_HOME/bin/asadmin get server.resources.jdbc-connection-pool.tt.datasource-classname
remote failure: Dotted name path server.resources.jdbc-connection-pool.tt.datasource-classname not found.
Command get failed.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Same issue is applicable for GLASSFISH-15738

Probably, GUI/REST need to evaluate it for all attributes in general.



 Comments   
Comment by sumasri [ 31/Mar/11 ]

This is not a specific JDBC issue.
If we send an empty value from GUI side, it is saving it as an empty value in domain.xml.
In CLI, if we send an empty value in set command, it removes the attribute from domain.xml, where it is not happening in GUI.
As per my understanding, this generic issue has to be taken care by REST module.
Hence, transferring it to REST team for initial evaluation. If there is anything needs to be done from GUI side, Please assign it back to me.

Comment by ludo [ 08/Apr/11 ]

I have a question:
What if the Admin user would really put an empty string via the UI?

It is clear that to support both use cases, the Admin GUI screens would need to be modified, no?

So I am not sure it is a rest only issue...
It is a generic case for any UI (Web, IDEs) when a user might have to enter different type of info on each field:

1/ No value (i.e null)
2/ an empty value (i.e "")
3/ a real value (i.e foo)
4/ a default value (prepopulated in the GUI)

Differentiating between 1 and 2 is necessary and cannot be deduced at the REST level imo.

Comment by Anissa Lam [ 08/Apr/11 ]

I thought it has been discussed before, there is no way to specify "" as an attribute value. Not for CLI/GUI/REST.

eg, <store-properties>, there is a "directory" attribute that doesn't have any default value.

If you do
%asadmin set configs.config.server-config.web-container.session-config.session-manager.store-properties.directory=""
configs.config.server-config.web-container.session-config.session-manager.store-properties.directory=
Command set executed successfully.

You will see that it actually will NOT write out "" to domain.xml.

in <session-properties>, there is a "session-timeout" attribute which defaults to "1800" Seconds.
And if you set it to "", it will mean removing it and which means get back to default.

%asadmin set configs.config.default-config.web-container.session-config.session-properties.timeout-in-seconds=""
configs.config.default-config.web-container.session-config.session-properties.timeout-in-seconds=
Command set executed successfully.

%asadmin get configs.config.default-config.web-container.session-config.session-propertiesconfigs.config.default-config.web-container.session-config.session-properties.timeout-in-seconds=1800
Command get executed successfully.

What i want to say is, there isn't a way to specify "" as attribute value, rather through CLI, GUI or REST.

In v2, backend recognize () as a special char sequence, and if you give it (), it will write out "" to domain.xml. This is how you specify "" value for property value using CLI or GUI. Maybe we should do something like this ??

Comment by Jagadish [ 11/Apr/11 ]

Yes, in order to support persisting "", we might have to re-introduce "()" equivalent in 3.0 also.
This should be done in the "config" layer or "dotted-names-set" command.

Comment by ludo [ 03/Jun/11 ]

Not for 3.1.1





[GLASSFISH-15740] Numerous exceptions when connecting to JMX port when running in Turkish locale Created: 28/Jan/11  Updated: 11/Feb/13

Status: Open
Project: glassfish
Component/s: amx
Affects Version/s: 3.1_b39
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Tom Mueller Assignee: Peter Bower
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Attachments: Text File server.log    
Tags: 3_1_2-exclude

 Description   

While investigating whether issue 3851 is still a problem, I encountered some problems with using JMX when the server is running in the Turkish locale. Here is how to recreate the problem:

export LANG=tr_TR
asadmin create-domain domain2
asadmin start-domain domain2

(everything is ok so far).

Now, start the jconsole program and create a remote connection to the DAS on port 8686.
Many exceptions will be output to the log, starting with this one:

[#|2011-01-28T08:28:36.864-0800|INFO|glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.server|_ThreadID=120;_ThreadName=ComplianceMonitor.ValidatorThread;|amx:pp=/,type=system-ýnfo

org.glassfish.admin.amx.core.AMXValidator$ValidationFailureException: "Illegal type "system-ýnfo", does not match ([**$a-zA-Z0-9._-][**$a-zA-Z0-9._-]*)"
org.glassfish.admin.amx.core.AMXValidator.fail(AMXValidator.java:750)
org.glassfish.admin.amx.core.AMXValidator.validateObjectName(AMXValidator.java:825)
org.glassfish.admin.amx.core.AMXValidator._validate(AMXValidator.java:540)
org.glassfish.admin.amx.core.AMXValidator.validate(AMXValidator.java:1344)
org.glassfish.admin.amx.impl.mbean.ComplianceMonitor$ValidatorThread.doRun(ComplianceMonitor.java:237)
org.glassfish.admin.amx.impl.mbean.ComplianceMonitor$ValidatorThread.run(ComplianceMonitor.java:214)

java.lang.IllegalArgumentException: "Illegal type: system-ýnfo"
org.glassfish.admin.amx.core.PathnameParser.checkType(PathnameParser.java:364)
org.glassfish.admin.amx.core.PathnameParser.pathPart(PathnameParser.java:380)
org.glassfish.admin.amx.core.PathnameParser.pathPart(PathnameParser.java:374)
org.glassfish.admin.amx.core.PathnameParser.path(PathnameParser.java:393)
org.glassfish.admin.amx.core.proxy.AMXProxyHandler.path(AMXProxyHandler.java:1011)
org.glassfish.admin.amx.core.proxy.AMXProxyHandler.handleSpecialMethod(AMXProxyHandler.java:431)
org.glassfish.admin.amx.core.proxy.AMXProxyHandler._invoke(AMXProxyHandler.java:797)
org.glassfish.admin.amx.core.proxy.AMXProxyHandler.invoke(AMXProxyHandler.java:531)
$Proxy179.path(Unknown Source)
org.glassfish.admin.amx.core.AMXValidator._validate(AMXValidator.java:603)
org.glassfish.admin.amx.core.AMXValidator.validate(AMXValidator.java:1344)
org.glassfish.admin.amx.impl.mbean.ComplianceMonitor$ValidatorThread.doRun(ComplianceMonitor.java:237)
org.glassfish.admin.amx.impl.mbean.ComplianceMonitor$ValidatorThread.run(ComplianceMonitor.java:214)

General test failure:
java.lang.IllegalArgumentException: "Illegal type: system-ýnfo"
org.glassfish.admin.amx.core.PathnameParser.checkType(PathnameParser.java:364)
org.glassfish.admin.amx.core.PathnameParser.pathPart(PathnameParser.java:380)
org.glassfish.admin.amx.core.PathnameParser.pathPart(PathnameParser.java:374)
org.glassfish.admin.amx.core.PathnameParser.path(PathnameParser.java:393)
org.glassfish.admin.amx.core.proxy.AMXProxyHandler.path(AMXProxyHandler.java:1011)
org.glassfish.admin.amx.core.proxy.AMXProxyHandler.handleSpecialMethod(AMXProxyHandler.java:431)
org.glassfish.admin.amx.core.proxy.AMXProxyHandler._invoke(AMXProxyHandler.java:797)
org.glassfish.admin.amx.core.proxy.AMXProxyHandler.invoke(AMXProxyHandler.java:531)
$Proxy179.path(Unknown Source)
org.glassfish.admin.amx.core.AMXValidator._validate(AMXValidator.java:672)
org.glassfish.admin.amx.core.AMXValidator.validate(AMXValidator.java:1344)
org.glassfish.admin.amx.impl.mbean.ComplianceMonitor$ValidatorThread.doRun(ComplianceMonitor.java:237)
org.glassfish.admin.amx.impl.mbean.ComplianceMonitor$ValidatorThread.run(ComplianceMonitor.java:214)

1 failures.
1 MBeans tested.|#]

Note that the letter "I" is output as "ý" in the exception message. Issue 3851 also mentions problems with the Turkish locale and the letter I. Details of the problem are in this article: http://java.sys-con.com/node/46241

After the exceptions are generated, the JMX connection is lost, and jconsole cannot connect to the domain anymore. Restarting the domain in an English locale fixes the problem.



 Comments   
Comment by Tom Mueller [ 28/Jan/11 ]

The attached server.log file contains all of the exception messages that were generated when connecting to the DAS that is running in the Turkish locale from jconsole.

Comment by Nazrul [ 03/Feb/11 ]

In the last meeting with Prasad, this was slated to be excluded from 3.1. So, adding 3.1-exclude.

Comment by prasads [ 20/Feb/11 ]

Assigning issues to Naman

Comment by naman_mehta [ 29/Mar/11 ]

I tried to reproduce the issue but can't. I followed the steps as mention in the issue.

But when I am starting jconsole it works fine for me. No exception in server.log also.

So the question,
Do I need to change the my machine locale also from where I am running jconsole? Is this reproducible on any machine?

I am getting below message:
jconsole
default to Motif 2.1, os is: 2.6.35-28-generic
Warning: Cannot convert string "dejavu-dejavu sans-medium-r-normal-140-p-iso10646-1" to type FontStruct

(process:8013): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.

Comment by Tom Mueller [ 29/Mar/11 ]

Try running the server on Linux. The locale for running jconsole doesn't matter.

Comment by ozhanduz [ 18/Apr/11 ]

RMI and JMX has bug related with this problem.

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7033678

Comment by naman_mehta [ 07/Dec/11 ]

This is the turkish locale problem with Java. So I am excluding this bug fo 3.1.2 cycle.





[GLASSFISH-15746] Multiple Failover of IIOP does not happen on Dynamic cluster Created: 28/Jan/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1_b39
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: gopaljorapur Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File das_server.log     Text File server.log    
Issue Links:
Related
is related to GLASSFISH-18392 Multiple Failover of IIOP does not ha... Open
Tags: 312_qa, 3_1_2-exclude

 Description   

Here is one scenario that fails (this issue is found after 14867 is fixed) in dynamic cluster

1. Create a cluster with 3 instances
2. Start appclient
3. Creates initialContext, lookup beans(one stateless one stateful), access a business method on bean1
4. Halt the appclient execution
5. Kill the instance(instance1) that processed the request
6. Create two new instances and add to the cluster, start the new instances
7. Continue appclient execution
8. Access the business method again, it will get failed over to another healthy instance(instance2)
9. Kill the instance2
10. Access another beans(bean2) business method (we did lookup in step 3)

Now we get the following exception

javax.ejb.NoSuchEJBException
at com.sun.appserver.ee.tests.ejb.stateful._SFSB3Remote_Wrapper.getName(com/sun/appserver/ee/tests/ejb/stateful/_SFSB3Remote_Wrapper.java)
at com.sun.appserver.ee.tests.client.ClientDynamicClusterAddInstance.runTest2(Unknown Source)
at com.sun.appserver.ee.tests.client.ClientDynamicClusterAddInstance.runMultipleFOTest(Unknown Source)
at com.sun.appserver.ee.tests.client.ClientDynamicClusterAddInstance.main(Unknown Source)
Caused by: java.rmi.NoSuchObjectException: CORBA OBJECT_NOT_EXIST 9999 No; nested exception is: org.omg.CORBA.OBJECT_NOT_EXIST: ---------BEGIN server-side stack trace---------
org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor code: 1807 completed: No
at org.glassfish.enterprise.iiop.impl.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:527)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorBase.getInvocationServant(POAPolicyMediatorBase.java:139)
at com.sun.corba.ee.impl.oa.poa.POAImpl.getInvocationServant(POAImpl.java:1827)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServant(CorbaServerRequestDispatcherImpl.java:286)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:311)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:196)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)

---------END server-side stack trace--------- vmcid: 0x2000 minor code: 1807 completed: No
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:269)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:213)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
at com.sun.appserver.ee.tests.ejb.stateful._SFSB3Remote_Remote_DynamicStub.getName(com/sun/appserver/ee/tests/ejb/stateful/_SFSB3Remote_Remote_DynamicStub.java)
... 4 more
Caused by: org.omg.CORBA.OBJECT_NOT_EXIST: ---------BEGIN server-side stack trace---------
org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor code: 1807 completed: No
at org.glassfish.enterprise.iiop.impl.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:527)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorBase.getInvocationServant(POAPolicyMediatorBase.java:139)
at com.sun.corba.ee.impl.oa.poa.POAImpl.getInvocationServant(POAImpl.java:1827)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServant(CorbaServerRequestDispatcherImpl.java:286)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:311)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:196)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)

---------END server-side stack trace--------- vmcid: 0x2000 minor code: 1807 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:900)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:131)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:637)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:499)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:373)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:273)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:200)



 Comments   
Comment by Ken Cavanaugh [ 01/Feb/11 ]

I am tentatively assigning this issue to GF 3.2.

Comment by Harshad Vilekar [ 05/May/11 ]

This can be duplicated with iiop-folb dev test. Here is the code snippet:

---------------------------------
@Test( "15746" )
public void test15746() throws NamingException {

:
:

InitialContext ic = makeIC() ;
Location slsb = lookup( ic, BeanType.SLSB ) ;
Location sfsb = lookup( ic, BeanType.SFSB ) ;

String inst = invokeMethod(slsb) ;
gfCluster.stopInstance(inst);

final String testBase = "testInstance" ;
final int portBase = 20000 ;
gfCluster.createInstances( testBase, 2, "", portBase ) ;
gfCluster.startInstance( testBase + "0" );
gfCluster.startInstance( testBase + "1" );

final String[] flags =

{ /* "subcontract", "transport", */ "folb" }

;

try

{ setORBDebug(flags); String inst2 = invokeMethod(slsb) ; String inst2_1 = invokeMethod(sfsb) ; // FAILS HERE gfCluster.stopInstance(inst2_1); }

finally

{ clearORBDebug(flags); }


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

The exception is thrown in the server log of one of the running instances. (see attached server.log).

[#|2011-04-22T12:08:17.632-0700|SEVERE|oracle-glassfish3.1|javax.enterprise.system.container.ejb.com.sun.ejb.containers.util.cache|_ThreadID=153;_ThreadName=Thread-1;|NRU-orb.folb.StatefullLocationBean: Cannot load from BACKUPSTORE FOR Key: <b19009a700851f-7ded5059-0>|#]

[#|2011-04-22T12:08:17.634-0700|SEVERE|oracle-glassfish3.1|javax.enterprise.resource.corba|_ThreadID=34;_ThreadName=Thread-1;|iiop.gettie_exception
javax.ejb.NoSuchObjectLocalException: Invalid Session Key ( b19009a700851f-7ded5059-0)
at com.sun.ejb.containers.StatefulSessionContainer._getContextForInstance(StatefulSessionContainer.java:1266)
at com.sun.ejb.containers.StatefulSessionContainer.getEJBRemoteBusinessObjectImpl(StatefulSessionContainer.java:1290)
at com.sun.ejb.containers.BaseContainer.getTargetObject(BaseContainer.java:1741)
at org.glassfish.enterprise.iiop.impl.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:500)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorBase.getInvocationServant(POAPolicyMediatorBase.java:139)
at com.sun.corba.ee.impl.oa.poa.POAImpl.getInvocationServant(POAImpl.java:1827)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServant(CorbaServerRequestDispatcherImpl.java:286)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:311)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:196)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)

#]
==========================

Just in case needed - the client side exception is:
---------------------
Caused by: java.rmi.NoSuchObjectException: CORBA OBJECT_NOT_EXIST 9999 No; nested exception is:
org.omg.CORBA.OBJECT_NOT_EXIST: ---------BEGIN server-side stack trace---------
org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor code: 1807 completed: No
at org.glassfish.enterprise.iiop.impl.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:527)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
:
---------------------

Changing the category to failover.

Comment by Harshad Vilekar [ 05/May/11 ]

DAS log with org.shoal.ha=FINE

Comment by Mahesh Kannan [ 25/May/11 ]

3_1_1-scrubbed

Comment by Mahesh Kannan [ 14/Dec/11 ]

will work with Harshad on this issue

Comment by Mahesh Kannan [ 19/Jan/12 ]

Looks like SFSBClientVersionInterceptor class and SFSBServerVersionInterceptor classes have to be ported from 2.x to fix this issue. These classes were not ported from 2.x into our V3 workspace.

Without these classes, the iiop client is not sending the correct SFSB version.

At this stage bring a new set of classes is risky. So marking this as 3.1.2-exclude

Comment by shreedhar_ganapathy [ 13/Feb/13 ]

Retargetted





[GLASSFISH-16064] javax.ejb.EJBException Caused by: org.omg.CORBA.OBJECT_NOT_EXIST: FINE: IOP02500002 Created: 21/Feb/11  Updated: 19/Sep/14

Status: Reopened
Project: glassfish
Component/s: orb
Affects Version/s: 3.1_b43
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: lft Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

$ java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)

$ uname -a
Linux 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux


Tags: 3_1_1-exclude, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

Often I see following messages in server.log:

[#|2011-02-21T14:31:11.233+0300|WARNING|glassfish3.1|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=142;_ThreadName=Thread-1;|A system e
xception occurred during an invocation on EJB ChukchiManSlotMachineBean method public byte openbox.chukchiman.ChukchiManSlotMachineBean.setPickedLineCount(byte)
javax.ejb.EJBException
at openbox.session._SessionFacade_Wrapper.setSessionData(openbox/session/_SessionFacade_Wrapper.java)
at openbox.core.component.GameComponent.setData(GameComponent.java:217)
at openbox.chukchiman.ChukchiManSlotMachineBean.setPickedLineCount(ChukchiManSlotMachineBean.java:345)
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 org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:4155)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5347)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5327)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:206)
at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:79)
at $Proxy268.setPickedLineCount(Unknown Source)
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.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:144)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:174)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:528)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:199)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
Caused by: org.omg.CORBA.OBJECT_NOT_EXIST: FINE: IOP02500002: Failed to create or locate Object Adaptor vmcid: SUN minor code: 2 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
at $Proxy189.noObjectAdaptor(Unknown Source)
at com.sun.corba.ee.impl.oa.poa.POAFactory.find(POAFactory.java:228)
at com.sun.corba.ee.impl.protocol.ServantCacheLocalCRDBase.updateCachedInfo(ServantCacheLocalCRDBase.java:86)
at com.sun.corba.ee.impl.protocol.ServantCacheLocalCRDBase.getCachedInfo(ServantCacheLocalCRDBase.java:77)
at com.sun.corba.ee.impl.protocol.FullServantCacheLocalCRDImpl.internalPreinvoke(FullServantCacheLocalCRDImpl.java:64)
at com.sun.corba.ee.impl.protocol.LocalClientRequestDispatcherBase.servant_preinvoke(LocalClientRequestDispatcherBase.java:240)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.servant_preinvoke(CorbaClientDelegateImpl.java:574)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:218)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
at openbox.session._SessionFacade_Remote_DynamicStub.setSessionData(openbox/session/_SessionFacade_Remote_DynamicStub.java)
... 32 more
Caused by: org.omg.PortableServer.POAPackage.AdapterNonExistent: IDL:omg.org/PortableServer/POA/AdapterNonExistent:1.0
at com.sun.corba.ee.impl.oa.poa.POAImpl.doActivate(POAImpl.java:1115)
at com.sun.corba.ee.impl.oa.poa.POAImpl.find_POA(POAImpl.java:1048)
at com.sun.corba.ee.impl.oa.poa.POAFactory.find(POAFactory.java:224)
... 41 more

#]


 Comments   
Comment by Ken Cavanaugh [ 21/Feb/11 ]

This is logged at FINE level. If you enabled FINE level logging, you will see more
log messages, and those from the ORB will have stack traces. This is not a bug.

Did you observe any failures, or are you just reporting a log message?

Do you have FINE logging enabled, either for everything, or for logger
javax.enterprise.resource.corba?

Comment by marina vatkina [ 21/Feb/11 ]

Let's investigate this - the user reported a WARNING in the log.

Comment by marina vatkina [ 21/Feb/11 ]

Are there any other messages in the log? What kind of EJBs are used in this call stack?

Comment by lft [ 24/Feb/11 ]

This message can repeat several times.
The EJBs are staetful.

Comment by marina vatkina [ 24/Feb/11 ]

Can it be that you are trying to access a SFSB instance after it was discarded because of an exception in the previous call?

Comment by lft [ 27/Feb/11 ]

Right now I have only one occurance of this exception in logs (old server logs was cleared). And there is another exception above this one - IOP00710134, that I reported in another thread, - but it's related to another bean. There is no another exceptions related to bean that produced IOP02500002.

Comment by Tom Mueller [ 07/Feb/13 ]

Targeting for 4.0.1 as bugs related to the orb do not need to be fixed for the RI/SDK.





[GLASSFISH-16093] Rest conversion and CLI based design breaks automatic usermanagement for realms that do not extend FileRealm Created: 23/Feb/11  Updated: 25/Apr/14

Status: Open
Project: glassfish
Component/s: security
Affects Version/s: 3.1_b43
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: kumarjayanti Assignee: JeffTancill
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3-1_exclude, 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

In V3.0.1 the console backend would directly use API;s on the Realm (createUser, deleteUser, updateUser and persist) for the ManageUsers function. But now with the CLI based design it would invoke CLI commands create-file-user, delete-file-user etc. This restricts the custom realms to extend FileRealm if they need to get automatic user management.

Fix : create more generic CLI commands called create-user, delete-user , update-user and make the console use those commands (make it FileRealm agnostic). For the FileRealm these new commands can internally delegate to the existing command codes.



 Comments   
Comment by Anissa Lam [ 23/Feb/11 ]

Does it mean GUI code needs to call create-user instead of create-file-user ?
If so, please open up a bug against GUI that depends on this fix, so that we can make the necessary code change in GUI.

Comment by kumarjayanti [ 05/Jun/11 ]

this is a big change for 3.1.1 and we do not have time. Impacts CLI and Rest

Comment by JeffTancill [ 11/Feb/13 ]

Not relevant to 4.0 RI.





[GLASSFISH-16155] domain1 not configured -- The system cannot find the path specified Created: 04/Mar/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: installation
Affects Version/s: 3.1
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: tfeilhauer Assignee: Snjezana Sevo-Zenzerovic
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows7-64
glassfish-3.1-windows-ml.exe


Tags: 3_1_1-scrubbed, 3_1_2-exclude

 Description   

Had to install glassfish-3.1-windows-ml.exe on console (java installation wasn't found):
glassfish-3.1-windows-ml.exe -j C:\Programs\Java\jdk
domain1 wasn't configured
==> asadmin start-domain domain1
resulted in error message "The system cannot find the path specified."

Problem is probably similar to Issuezilla Id: 11,473

Problem: glassfish\config\asenv.bat is not configured correctly:
set AS_JAVA=C:\Programs\Java

Workaround:
edit glassfish\config\asenv.bat
by setting
set AS_JAVA=C:\Programs\Java\jre

Then configure domain1 manually by executing in command line:
asadmin create-domain --savelogin --checkports=false --adminport 4848 --instanceport 8080 --domainproperties=jms.port=7676:domain.jmxPort=8686:orb.listener.port=3700:http.ssl.port=8181:orb.ssl.port=3820:orb.mutualauth.port=3920 domain1

That's it



 Comments   
Comment by Tom Mueller [ 04/Mar/11 ]

This appears to be an installer issue.

However, there doesn't seem to be enough information in the description to be able to reproduce the problem. There is a reference to C:\Programs\Java\jdk when the installer is run, but then when the asenv.bat file is edited, the reference is to C:\Programs\Java\jre (note "jdk" vs. "jre").

Where is Java really installed on this system? And is it a JDK or a JRE? (A JDK is required to use GlassFish - at least for JSPs).

Comment by tfeilhauer [ 04/Mar/11 ]

Sorry - that's been a typo.
Java JRE is installed in C:\Programs\Java\jre and I started the installer with
glassfish-3.1-windows-ml.exe -j C:\Programs\Java\jre
as java wasn't found although the environment variable JAVA_HOME is set.

There are probably 2 things to be resolved:

  • why can the installer not be started only with "glassfish-3.1-windows-ml.exe" (even though JAVA_HOME is set correctly)
  • why is glassfish\config\asenv.bat containing the wrong information (C:\Programs\Java instead of C:\Programs\Java\jre)?

I'm still thinking that Issuezilla Id: 11,473 may describe the same problem, they just didn't figure out that is was related to the configuration of domain1 and the possibly wrong setting of the Java path during installation.

Comment by scatari [ 04/Mar/11 ]

Is this an installed version of JDK or an unzipped version of JDK? Installer checks windows registry to detect the pre-installed JDKs on windows.

Comment by tfeilhauer [ 06/Mar/11 ]

It is an installed version and it should be based on
jdk-6u23-windows-x64.exe
I have the JDK installed in C:\Programs\Java\jdk (this is where %JAVA_HOME% points to)
and the corresponding JRE (installed with the JDK) is installed in C:\Programs\Java\jre

Comment by nbhatia [ 23/Apr/11 ]

FYI, I had the exact same issue:

  • Installer could not determine the location of Java even though it was an installed version.
  • Invoking glassfish-3.1-windows.exe -j c:\apps\java\jre6 failed to configure domain and wrong value in AS_JAVA
  • Invoking glassfish-3.1-windows.exe -j c:\apps\java\jdk6 succeeded and correct jdk path in AS_JAVA
Comment by scatari [ 18/May/11 ]

Snjezana, Could you please evaluate this further to see if this can be fixed in 3.1.1?

Comment by Snjezana Sevo-Zenzerovic [ 27/Jun/11 ]

I will defer this to the next release given that full fix involves both fixing native wrapper so that it can detect 64 bit JDK installation in the first place and making sure that JDK verification logic is updated so that we never end up in the situation where JRE installation directory is written into asenv.bat file.





[GLASSFISH-16164] eclipselink.weaving breaks marshalling out of the box Created: 05/Mar/11  Updated: 08/Mar/13

Status: Open
Project: glassfish
Component/s: entity-persistence
Affects Version/s: 3.1_b43
Fix Version/s: None

Type: Bug Priority: Major
Reporter: netricsoft Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 22
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 and Mac OS X


Attachments: Zip Archive TestCase.zip    
Issue Links:
Related
is related to GLASSFISH-17557 Odd deserialization fail Open
Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude, corba, eclipselink, orb-review

 Description   

Separately deployed EJB components that return @Entity objects, fail serialization and return empty objects to remote components (such as a managed bean in a separately deployed WAR). Adding: <property name="eclipselink.weaving" value="false"/> to persistence.xml fixes the issue, but cant be expected behavior out of the box. I tried 2 separate clean installs, and an upgrade from 3.0.1 but all have same broken behavior.

To reproduce:
1) Deploy EJB jar with a stateless EJB that returns an entity from remote interface.
2) Deploy web application with a managed bean that retrieves entity from injected EJB
3) Access managed bean from view.

I get empty entity classes (all fields null) with no errors in server.log.

I have a test case intellij project illustrating issue if required.



 Comments   
Comment by marina vatkina [ 07/Mar/11 ]

let's start with JPA

Comment by Mitesh Meswani [ 07/Mar/11 ]

Can you please attach the test project that you are mentioning above. That would help speed up things.

Comment by netricsoft [ 08/Mar/11 ]

Here is a video illustrating issue:

http://www.youtube.com/watch?v=2xg_QiGijuE

(watch in 'original' format)

The attached project assumes you have a jdbc resource jdbc/testcase setup with one table:

create table person (
id integer not null primary key,
email varchar2(80) not null
);

insert into person values ( 1, 'test@case.com' );

The test case contains 3 components/modules:

1) "Model", shared classes for Session and "Web" module.
Compile with EE 6.
2) "Session", an EJB component with a single EJB PeopleSessionBean. Compile with EE 6. This module contains the JPA persistence.xml WITHOUT the eclipselink.weaving property element. So it will not work until the following is added:
<properties>
<property name="eclipselink.weaving" value="false"/>
</properties>

3) "Web", a WAR component with a single managed bean that attempts to retrieve an entity from the remote EJB. Compile with EE 6 and Mojarra 2.1.

To reproduce issue:

Compile Model
Compile Session (include Model source)
Compile Web (include Model source)

Deploy Session component
Deploy Web component
Access web component (http://localhost/testcase/)

As is, you will get Id 0 and blank (null) for email.

Add <properties> element above to persistence-unit in persistence.xml, redeploy Session and Web and reload testcase page. You will get Id 1 and email test@case.com

Thanks

-jim

Comment by netricsoft [ 14/Mar/11 ]

Will this issue be fixed? or is this intended behavior?

thanks

Comment by Mitesh Meswani [ 14/Mar/11 ]

We are still investigating. Meanwhile, a workaround is to use attribute based persistence. The issue does not manifest there.

BTW, thanks for the reproductions and cool video walk through

Comment by Mitesh Meswani [ 07/Apr/11 ]

Ken,

Assigning to you to investigate why IIOP serialization layer causes this issue. I have sent you test app and instructions to reproduce this in email.

Comment by scatari [ 27/Jun/11 ]

Targeting for next release after 3.1.1.

Comment by Mitesh Meswani [ 20/Oct/11 ]

Another work around is adding property <property name="eclipselink.weaving.fetchgroups" value="false"/> to the persistence unit

Comment by jimmysklim [ 13/Dec/11 ]

Guys! Thank alot for the work around. After adding <property name="eclipselink.weaving.fetchgroups" value="false"/> it's worked.

Comment by jthoennes [ 22/Mar/12 ]

Any plans when this will be corrected?

Comment by kombatkuehn [ 27/Apr/12 ]

This issue still exists in 3.1.2 (build 23).

Comment by chrispy [ 14/Sep/12 ]

This bug is still a problem. When will this be fixed? A workaround is not a solution :-/

Comment by eldiegos [ 24/Sep/12 ]

OMG. This bug has been a pain on the neck until i found this issue. What a waste of time trying to solving it. Please glassfish team solve it.

I have vote for it.

Thanks.

Comment by vins4java [ 26/Feb/13 ]

I agree with eldiegos. I found this bug up to lastest 3.1.2.2 and there's no way to know if it will be fixed for glassfish 4.0 or not...
What's the plan for the resolution of this bug?

Comment by markokanala [ 07/Mar/13 ]

Has anyone tried if static weaving at the remote and calling side is a workaround ?

see http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving

Comment by dmitriy.balakin [ 08/Mar/13 ]

I use eclipselink-staticweave-maven-plugin as a workaround.





[GLASSFISH-16220] Every ReportQuery, which selects single Boolean entity attribute results in incorrect resultset Created: 15/Mar/11  Updated: 15/Dec/11

Status: Open
Project: glassfish
Component/s: entity-persistence
Affects Version/s: 3.1_b43
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Ivan Slavov Assignee: tware
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Win 7, Glassfish 3.1 b43


Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

Every ReportQuery, which selects single Boolean entity attribute results in incorrect result set, since
all rows with 'TRUE' value of that attribute are not returned.
For example:
select a.isInStock from Article a
(isInStock is Boolean attribute)

The reason for that is bug fix for the GF_ISSUE_395. The code that tries to throw away duplicate values( to make DISTINCT in the container )
actually throws away 'TRUE' result objects (ReportQuery:626):

// GF_ISSUE_395
if (shouldDistinctBeUsed())

{ this.returnedKeys = new HashSet(size); }

//end GF_ISSUE
//If only the attribute is desired, then buildObject will only get the first attribute each time
for (int index = 0; index < size; index++) {
// GF_ISSUE_395
Object result = buildObject((AbstractRecord)rows.get(index), rows);
if (result != RESULT_IGNORED)

{ containerPolicy.addInto(result, reportResults, this.session); }

//end GF_ISSUE
}



 Comments   
Comment by Mitesh Meswani [ 15/Mar/11 ]

Filled EclipseLink https://bugs.eclipse.org/bugs/show_bug.cgi?id=340089

Comment by scatari [ 11/Jun/11 ]

EclipseLink bug will not be resolved in time for 3.1.1. To be considered in the next release.

Comment by Mitesh Meswani [ 15/Dec/11 ]

Waiting for fix from EclipseLink. Excluding from 3.1.2. Please vote for EclipseLink bug above if you want this issue fixed.





[GLASSFISH-16230] EJB Timer Service to is not loaded correctly after Embeeded Glassfish server restart Created: 17/Mar/11  Updated: 10/Jan/13

Status: Open
Project: glassfish
Component/s: embedded
Affects Version/s: 3.1_b02
Fix Version/s: None

Type: Bug Priority: Major
Reporter: marciogj Assignee: Bhavanishankar
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows


Attachments: Zip Archive glassfish_16230.zip    
Tags: 3_1-next_release-note-added, 3_1-next_release-notes, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

Is there any reason to embeeded version stop a container during glassfish.stop() method and don't startup it again after a start?

The code I'm testing is below:

GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish();
glassfish.start();
Deployer deployer = glassfish.getService(Deployer.class);
String deployedApp = deployer.deploy(new File("sample-ear.ear").toURI(), "-contextroot=hello", "-force=true"); //Works fine
deployer.undeploy(deployedApp);
glassfish.stop();

glassfish.start();
Deployer deployer = glassfish.getService(Deployer.class);
String deployedApp = deployer.deploy(new File("sample-ear.ear").toURI(), "-contextroot=hello", "-force=true"); //Doesn't work (javax.ejb.EJBException: Attempt to invoke when container is in STOPPED)
deployer.undeploy(deployedApp);
glassfish.stop();

As you can see, I'm calling start, deploy, stop and everything works fine.
My sample-ear.ear file is nothing more than a Timer which prints something every second...

After stop my application, I would like to restart the server (simulate a glassfish restart) and at this point deploy cannot complete.
Looks like container was stopped during glassfish.stop() but didn't start again after glassfish.start().



 Comments   
Comment by Bhavanishankar [ 30/May/11 ]

I can reproduce this issue with both 3.1 final and 3.2 trunk builds.

I tried adding a sleep b/w stop and restart, but that does not help.

Since the error is coming from EJB container I am transferring to Marina.

I have created a testcase and attached it to the issue.

Unzip the testcase, compile with ./build_glassfish_16230.sh, run with ./run_glassfish_16230.sh

Comment by Bhavanishankar [ 30/May/11 ]

Attaching testcase. Please set S1AS_HOME to compile/run the test.

Comment by marina vatkina [ 01/Jun/11 ]

Please attach the sources for the ear

Comment by marina vatkina [ 01/Jun/11 ]

This is not a bug. Regular GlassFish doesn't have a notion of a server restart in the same VM. Timer service needs to adjust its settings to be able to support this new requirement.

Comment by marina vatkina [ 01/Jun/11 ]

With rev 47264 timer service cleans up its references. But on embedded GF restart, it's not loaded because the archivist doesn't process annotations for the TimerBean (located in the ejb-container.jar). If DOL remembered the annotations somewhere, they are not readily available in the descriptors processing.

With the changes in rev 47264, I get this error:
SEVERE: Cannot resolve reference Local ejb-ref name=com.sun.ejb.timers.TimerWelcomeServlet/timer,Local 3.x interface =com.sun.ejb.containers.TimerLocal,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session

Assigning to deployment to see why the TimerBean annotation is not processed at all (the problem is somewhere in the Archivist or may be ApplicationFactory, but I couldn't track it down).

Comment by Bhavanishankar [ 06/Jul/11 ]

This issue is important for running devtests (v2/appserv-tests) with embedded glassfish. Hence marking it a Critical BUG.

Comment by marina vatkina [ 06/Jul/11 ]

To test with embedded devtests -
1) cd ejb31/embedded/timertest
2)uncomment the 2nd run in the client/Client.java
3) ant all

Comment by marina vatkina [ 07/Jul/11 ]

Update from today's discussions:

embedded ejb devtest fails with another security exception. But with my fix to remove the static refs, attached test fails on the second stop with the following exception because on the 2nd run APPLICATION_PREPARED is somehow being called twice for the 2nd deploy in the test case. That results in EMF being placed twice in list of emfs to be closed and the second close results in the error.

Jul 6, 2011 3:44:41 PM com.sun.ejb.containers.EJBTimerService onShutdown
WARNING: EJB5121:EJB Timer Service shutdown info [__timer_service_shutdown__.dat] not found or is corrupted. Shutdown time unknown.
Jul 6, 2011 3:44:41 PM com.sun.enterprise.web.WebContainer unloadWebModule
SEVERE: WEB0162: [WebContainer] Undeployment failed for context [/ejb-timer-service-app]
classLoader = WebappClassLoader (delegate=true; repositories=WEB-INF/classes/)
SharedSecrets.getJavaNetAccess()=java.net.URLClassLoader$7@3e769d7a
Jul 6, 2011 3:44:41 PM org.eclipse.persistence.session.file:/var/folders/IF/IFNvUBVCFPWlqMFXX-mK2 TI/Tmp/gfembed1661012276478420534tmp/applications/ejb-timer-service-app/WEB-INF/classes/__EJBTimer_App
INFO: file:/var/folders/IF/IFNvUBVCFPWlqMFXX-mK2 TI/Tmp/gfembed1661012276478420534tmp/applications/ejb-timer-service-app/WEB-INF/classes/__EJBTimer_App logout successful
Jul 6, 2011 3:44:41 PM org.glassfish.kernel.event.EventsImpl$1 run
WARNING: Exception while dispatching an event
java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory.
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.verifyOpen(EntityManagerFactoryImpl.java:258)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.close(EntityManagerFactoryImpl.java:206)
at org.glassfish.persistence.jpa.JPADeployer.closeEMFs(JPADeployer.java:405)
at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:396)
at org.glassfish.kernel.event.EventsImpl$1.run(EventsImpl.java:120)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)

Comment by Hong Zhang [ 08/Jul/11 ]

Findings from debugging with Mitesh this afternoon for Bhavani's test case:
1. The deployment framework code is sending the APPLICATION_PREPARED events as expected, one for test application, and one for timer service in both runs.
2. However the listener (JPADeployer) received the events twice for the second run (therefore triggering two clean ups). This is due to two instances of JPADeployer registered in the event listeners list. One from the previous run which was never cleaned up in Glassfish stop, and the other one from the current run.

We need to figure out what's the best way to clean up Singleton classes like EventsImpl which contains states in the glassfish stop. Marina had talked with Abhijit and it was decided to put this issue on hold for this release due to various concerns.

I am reassigning this issue back to Bhavani as we probably need a generic clean up approach here instead of specialized clean up for individual classes.

Comment by sebglon [ 27/Jan/12 ]

Hello,

I have the same problem with Glassfish embedded 3.1.1 and Sun_JDK 7 62bit.
When i rum my app on Sun_JDK 7 32Bit, i have no problem.

I don't say why.

Comment by markds [ 10/Jan/13 ]

Can I ask what is happening with this bug? It still occurs in 3.1.2.2





[GLASSFISH-16250] [embedded] Glassfish 3.1 maven-embedded-glassfish-plugin failure when cdi enabled (beans.xml present): java.lang.ClassNotFoundException: org.apache.tools.ant.Task Created: 23/Mar/11  Updated: 18/Jan/12

Status: Open
Project: glassfish
Component/s: embedded
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: ringerc Assignee: Bhavanishankar
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Glassfish 3.1 via maven-embedded-glassfish-plugin

Tested on:
Apache Maven 3.0.2 (r1056850; 2011-01-09 08:58:10+0800)
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_24\jre
Default locale: en_AU, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"

and:
Apache Maven 3.0.1 (r1038046; 2010-11-23 18:58:32+0800)
Java version: 1.6.0_20
Java home: /usr/lib/jvm/java-6-openjdk/jre
Default locale: en_AU, platform encoding: UTF-8
OS name: "linux" version: "2.6.35-25-generic-pae" arch: "i386" Family: "unix"


Tags: 3_1_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

From http://java.net/jira/browse/JERSEY-689 and https://issues.jboss.org/browse/WELD-872; I'm not sure if this is a Jersey, Glassfish or Weld issue.

I'm having problems getting my app to run under Glassfish 3.1 embedded, and have boiled the issue down to a minimal test case involving maven-embedded-glassfish-plugin for glassfish 3.1, jersey 1.5, and cdi (weld). There isn't even any Java code of my own in it, only web.xml, beans.xml and a pom.xml that declares a dependency on jersey-server 1.5. I'm using Jersey 1.5 because I need its improved file upload handling and JSON support.

When I use it to run an embedded glassfish server, deployment to to the embedded server fails with:

23/03/2011 6:40:28 PM org.glassfish.deployment.admin.DeployCommand execute
SEVERE: Exception while loading the app : org/apache/tools/ant/Task
java.lang.ClassNotFoundException: org.apache.tools.ant.Task
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
... (elided, see full trace linked below) ...

at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1465)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1368)
at org.glassfish.weld.BeanDeploymentArchiveImpl.handleEntry(BeanDeploymentArchiveImpl.java:485)
at org.glassfish.weld.BeanDeploymentArchiveImpl.collectJarInfo(BeanDeploymentArchiveImpl.java:473)
at org.glassfish.weld.BeanDeploymentArchiveImpl.populate(BeanDeploymentArchiveImpl.java:420)
at org.glassfish.weld.BeanDeploymentArchiveImpl.<init>(BeanDeploymentArchiveImpl.java:148)
at org.glassfish.weld.BeanDeploymentArchiveImpl.populate(BeanDeploymentArchiveImpl.java:391)
at org.glassfish.weld.BeanDeploymentArchiveImpl.<init>(BeanDeploymentArchiveImpl.java:148)
at org.glassfish.weld.BeanDeploymentArchiveImpl.<init>(BeanDeploymentArchiveImpl.java:128)
at org.glassfish.weld.DeploymentImpl.<init>(DeploymentImpl.java:120)
at org.glassfish.weld.WeldDeployer.load(WeldDeployer.java:334)
at org.glassfish.weld.WeldDeployer.load(WeldDeployer.java:99)
at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:249)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
...

(full exception and log of test run here: https://github.com/ringerc/scrapcode/blob/master/testcases/javaee/embeddedglassfish-jersey15-testcase/README )

If I delete beans.xml to disable CDI, the failure goes away. The stack trace passes through weld, providing further evidence that it's somewhere in CDI-land that things are breaking.

I suspected that the problem might be related to WADL generation, so I set com.sun.jersey.config.feature.DisableWADL to true in the jersey servlet init params. That had no effect.

Excluding all the dependencies of jersey-server, so only the jersey-server jar its self was present, still triggers the issue. It doesn't seem to be an issue with one of jersey-server's dependencies.

The ready-to-run testcase is here: https://github.com/ringerc/scrapcode/tree/master/testcases/javaee/embeddedglassfish-jersey15-testcase . Just:

just:

git clone git://github.com/ringerc/scrapcode.git
cd scrapcode/testcases/javaee/embeddedglassfish-jersey15-testcase
mvn clean install



 Comments   
Comment by ringerc [ 26/Mar/11 ]

Jersey 1.5 is already provided by Glassfish. Specifying it correctly as a provided-scope dependency resolves this issue, as the updated test case shows.

It's still ... odd ... that the failure only occurs when CDI/weld is enabled, and occurs as a class loader issue. I wonder if it's a symptom of the "Overzealous class scanner" issues that affect Seam: http://seamframework.org/Seam3/CompatibilityHome#H-OverzealousClassScanner

The fact that GF embedded behaves differently to GF standalone in this situation makes this possibly worth looking at.

Comment by scatari [ 06/Dec/11 ]

Can we evaluate this for 3.1.2?





[GLASSFISH-16252] Virtual server alternate docroot with a web module with context root / does not work properly after server restart Created: 23/Mar/11  Updated: 12/May/14

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 4.0_b06
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Shing Wai Chan Assignee: Shing Wai Chan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-next, 3_1_1-scrubbed, 3_1_x-exclude

 Description   

If one specify the alternate docroot in the virtual server and then deploy a web module with context-root /, then it does not work properly after restart.

This is related to
http://forums.java.net/node/783831

Per discussion with Jan, the following should be the expected behavior.
1. set alt docroot in virtual server
2. check that it works
3. deploy a web app with context root /
4. check that the web app works, but the alt docroot should not.

This is the case right now.
But if the server is restarted, then we find that both the web app and alt docroot work.



 Comments   
Comment by rob1213 [ 23/Mar/11 ]

Note that if one restart the server, then it works.??

you means Application server? i have try to restart my Glassfish application server, it seems not work.

Comment by Shing Wai Chan [ 25/Mar/11 ]

I find that if I set three alternate docroot properties, then the first one will work after restart, but not the second and third one. So, there is an issue even for restart. Need further investigations.

Comment by Amy Roh [ 12/Apr/11 ]

Here's what I tried.

bash-3.2$ bin/asadmin start-domain
Command start-domain executed successfully.

bash-3.2$ bin/asadmin set server.http-service.virtual-server.server.property.alternatedocroot_1="from=*.jsp dir=/Users/Amy/tests/hello"
server.http-service.virtual-server.server.property.alternatedocroot_1=from=*.jsp dir=/Users/Amy/tests/hello
Command set executed successfully.

bash-3.2$ bin/asadmin deploy /Users/Amy/tests/hello.war
Application deployed with name hello.
Command deploy executed successfully.

bash-3.2$ ls domains/domain1/applications/hello/
WEB-INF __MACOSX index.html index.jsp

Accessing http://localohst:8080/test.jsp correctly displays from /Users/Amy/tests/hello/test.jsp

bash-3.2$ bin/asadmin deploy --contextroot "/" /Users/Amy/tests/test.war
Application deployed with name test.
Command deploy executed successfully.

Accessing http://localohst:8080/test.jsp correctly displays 404

bash-3.2$ bin/asadmin restart-domain

Accessing http://localohst:8080/test.jsp correctly displays 404

Isn't this what is expected?

If I undeploy the webapp with contextroot "/", http://localhost:8080/test.jsp correctly displays from /Users/Amy/tests/hello/test.jsp again.

Comment by Shing Wai Chan [ 12/Apr/11 ]

asadmin --host localhost --port 4848 --user admin --passwordfile /export/gfv3/src/v2/appserv-tests/config/adminpassword.txt --interactive=false --echo=true --terse=true set "server.http-service.virtual-server.server.property.alternatedocroot_1=from=/domain.xml dir=/export/gfv3/src/v3/install/glassfish3/glassfish/domains/domain1/config"

Deploy a war with context root /.

Access http://localhost:8080/domain.xml correctly display 404.

asadmin stop-domain domain1
asadmin start-domain domain1

Access http://localhost:8080/domain.xml return the page incorrectly.

Comment by Amy Roh [ 13/Apr/11 ]

If I use "from=*.xml" instead of "from=/domain.xml" everything works as expected even after restart. The issue appears to be isolated in the exact matching scenario.

Comment by Amy Roh [ 31/May/11 ]

The server is now correctly returning "Not Found" as expected even after restart.

However, instead of normal GlassFish 404 Not Found error page, Grizzly internal error page is returned.

Assigning to Alexey so the error page is customized for GlassFish.

Comment by oleksiys [ 12/May/14 ]

Looks like it works fine now.
The only issue I see now is 500 response returned for "http://host:port/domain.xml", when alternate docroot is pointing to a non-existing folder.

Shing Wai, can you pls. take a look at it?





[GLASSFISH-16264] Embedded GF 3.1 (re)deployment with EJBContainer causes exception: Error linking security policy for ejb-timer-service-app Created: 24/Mar/11  Updated: 19/Sep/14

Status: Reopened
Project: glassfish
Component/s: security
Affects Version/s: 3.1
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: emailnbw Assignee: JeffTancill
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 Premium 64 bit; Glassfish 3.1; JDK 1.6.0_22 32 bit


Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude, bug, ejb31, embedded

 Description   

I have a JUnit test that starts up embedded glassfish 3.1 and deploys a module which contains EJBs. I placed the container init code in a @Before method so that it will be started fresh for each test like so:

//Set up the embedded EJB containers env properties
Map<String, Object> p = new HashMap<String, Object>();
p.put(EJBContainer.APP_NAME, "myapp");
p.put(EJBContainer.MODULES, new File("out/production/myapp"));
p.put("org.glassfish.ejb.embedded.glassfish.installation.root", "C:/glassfish3/glassfish");
ejbC = EJBContainer.createEJBContainer(p);

I also have a @After method which closes the container after each test like :

@After
public void tearDown() throws Exception

{ if (ejbC != null) ejbC.close(); }

The problem I am having is that the first test method deploys and runs fine, however, subsequent test methods fail on deployment with the following exception thrown by the EJBContainer.createEJBContainer(p) line of code above:

Mar 24, 2011 10:21:32 AM com.sun.ejb.containers.EjbContainerUtilImpl deployEJBTimerService
INFO: Loading EJBTimerService. Please wait.
classLoader = WebappClassLoader (delegate=true; repositories=WEB-INF/classes/)
SharedSecrets.getJavaNetAccess()=java.net.URLClassLoader$7@167a209
Mar 24, 2011 10:21:32 AM org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
Mar 24, 2011 10:21:32 AM org.eclipse.persistence.session.file:/C:/Users/nwhite/AppData/Local/Temp/gfembed8734725078398943370tmp/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App
INFO: EclipseLink, version: Eclipse Persistence Services - 2.2.0.v20110202-r8913
Mar 24, 2011 10:21:36 AM org.eclipse.persistence.session.file:/C:/Users/nwhite/AppData/Local/Temp/gfembed8734725078398943370tmp/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App
INFO: file:/C:/Users/nwhite/AppData/Local/Temp/gfembed8734725078398943370tmp/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App login successful
Mar 24, 2011 10:21:36 AM com.sun.ejb.containers.TimerBeanContainer <init>
INFO: [TimerBeanContainer] Created TimerBeanContainer: TimerBean
Mar 24, 2011 10:21:36 AM com.sun.ejb.containers.BaseContainer initializeHome
INFO: Portable JNDI names for EJB TimerBean : [java:global/ejb-timer-service-app/TimerBean, java:global/ejb-timer-service-app/TimerBean!com.sun.ejb.containers.TimerLocal]
classLoader = WebappClassLoader (delegate=true; repositories=WEB-INF/classes/)
SharedSecrets.getJavaNetAccess()=java.net.URLClassLoader$7@167a209
Mar 24, 2011 10:21:36 AM org.glassfish.api.ActionReport failure
SEVERE: Exception while loading the app
Mar 24, 2011 10:21:36 AM org.eclipse.persistence.session.file:/C:/Users/nwhite/AppData/Local/Temp/gfembed8734725078398943370tmp/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App
INFO: file:/C:/Users/nwhite/AppData/Local/Temp/gfembed8734725078398943370tmp/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App logout successful
Mar 24, 2011 10:21:36 AM com.sun.ejb.containers.EjbContainerUtilImpl deployEJBTimerService
WARNING: Cannot deploy or load EJBTimerService:
org.glassfish.deployment.common.DeploymentException: Error in linking security policy for ejb-timer-service-app – Inconsistent Module State
at com.sun.enterprise.security.SecurityUtil.linkPolicyFile(SecurityUtil.java:335)
at com.sun.enterprise.security.SecurityDeployer.linkPolicies(SecurityDeployer.java:279)
at com.sun.enterprise.security.SecurityDeployer.access$100(SecurityDeployer.java:81)
at com.sun.enterprise.security.SecurityDeployer$AppDeployEventListener.event(SecurityDeployer.java:114)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:128)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:262)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at com.sun.ejb.containers.EjbContainerUtilImpl.deployEJBTimerService(EjbContainerUtilImpl.java:547)
at com.sun.ejb.containers.EjbContainerUtilImpl.getEJBTimerService(EjbContainerUtilImpl.java:289)
at com.sun.ejb.containers.EjbContainerUtilImpl.getEJBTimerService(EjbContainerUtilImpl.java:284)
at com.sun.ejb.containers.EjbContainerUtilImpl.getEJBTimerService(EjbContainerUtilImpl.java:269)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:755)
at com.sun.ejb.containers.AbstractSingletonContainer.<init>(AbstractSingletonContainer.java:141)
at com.sun.ejb.containers.CMCSingletonContainer.<init>(CMCSingletonContainer.java:77)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:115)
at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:234)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:290)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:101)
at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:249)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:193)
at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:142)
at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:135)
at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:132)
at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:127)

During the shutdown process after the first test runs I noticed the following:

Mar 24, 2011 10:21:19 AM com.sun.ejb.containers.TimerBeanContainer doConcreteContainerShutdown
INFO: [TimerBeanContainer] Shutdown() called....
Mar 24, 2011 10:21:19 AM com.sun.ejb.containers.EJBTimerService onShutdown
INFO: EJB5122:EJB Timer Service shutdown at [2011/03/24 10:21:19]
Mar 24, 2011 10:21:19 AM com.sun.enterprise.web.WebContainer unloadWebModule
SEVERE: WEB0162: [WebContainer] Undeployment failed for context [/ejb-timer-service-app]
Mar 24, 2011 10:21:19 AM org.eclipse.persistence.session.file:/C:/Users/nwhite/AppData/Local/Temp/gfembed671660783214676050tmp/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App
INFO: file:/C:/Users/nwhite/AppData/Local/Temp/gfembed671660783214676050tmp/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App logout successful



 Comments   
Comment by marina vatkina [ 24/Mar/11 ]

Note that the same error can be observed by uncommenting lines marked "** Run the 2nd time **" in client/Client.java under v2/appserv-tests/devtests/ejb/ejb31/embedded/timertest (updated today) and do 'ant all'

Comment by kumarjayanti [ 18/May/11 ]

Please provide us a testcase.

Comment by scatari [ 25/Jun/11 ]

Closing this issue as a reproducible test case hasn't been provided. Please reopen once you have the test case.

Comment by emailnbw [ 25/Jun/11 ]

I am confused by scatari's actions. It appears from that history that kumarjayanti has marked this bug as fixed in 3.1.1 with checkin 14740. Is this not the case?

If this is not the case then there are plenty of details in the original bug report to set up your own test case. In addition Marina has also described how to reproduce this issue.

What more needs to be spoon fed?

This bug makes it impossible to effective unit test with isolated JUnit tests using Embedded Glassfish. Considering one of Embedded Glassfish's important use cases is to make unit testing your EJB easier I think this is a rather important bug to fix.

Comment by scatari [ 25/Jun/11 ]

No updates to the bug since 18/May with the final comment being a request to send a test case. I don't see a comment about 14740 in this tool.

Comment by emailnbw [ 25/Jun/11 ]

@scatari If you click on the 'All' tab in JIRA (I assume you must being using the same JIRA web interface?!) you will see on May 18th right below kumarjayanti's comment about requesting a test case he set the "Fix Version/s" field to 3.1.1 [14740]. To me, that implies a fix was checked in. Does it not?

Once again, there is plenty of detail in my original submission for kumarjayanti (or anyone else) to write a test for this. And again, Marina's comments on 3/24 also spell out how to reproduce this issue using your own devtests!

Comment by kumarjayanti [ 26/Jun/11 ]

The security team and Marina are actively discussing how to fix this...

Comment by marina vatkina [ 27/Jun/11 ]

As everybody said, it was wrong to close it

Comment by scatari [ 27/Jun/11 ]

Can we update the bug as when we have information to show the progress? Not seeing any update to the bug for a month does not prove that it is being worked on.

Comment by marina vatkina [ 06/Jul/11 ]

patch for static refs in the ejb-container

Comment by marina vatkina [ 06/Jul/11 ]

With the currant security hack in 3.1.1, and my patch attached to this issue, the 2nd TS start fails with:

[java] Jul 6, 2011 2:07:11 PM com.sun.enterprise.security.provider.BasePolicyWrapper logMsg
[java] INFO: JACC Policy Provider:Failed Permission Check: context (" ejb-timer-service-app/ejb-timer-service-app_internal ") , permission (" (javax.security.jacc.EJBMethodPermission TimerBean findActiveTimersOwnedByThisServer,Local,) ")
[java] Jul 6, 2011 2:07:11 PM com.sun.ejb.containers.BaseContainer postInvoke
[java] WARNING: A system exception occurred during an invocation on EJB TimerBean method public java.util.Set com.sun.ejb.containers.TimerBean.findActiveTimersOwnedByThisServer()
[java] javax.ejb.AccessLocalException: Client not authorized for this invocation.

Comment by marina vatkina [ 06/Jul/11 ]

The patch is checked in into trunk with rev 47893.

Comment by marina vatkina [ 07/Jul/11 ]

The patch is checked in with rev 47907 to 3.1.1 branch

Comment by scatari [ 11/Jul/11 ]

Fixed in B11.

Comment by marina vatkina [ 11/Jul/11 ]

The security part is not fixed. The EJB part is.

Comment by Cheng Fang [ 13/Jul/11 ]

Assign it to me.

Comment by Cheng Fang [ 15/Jul/11 ]

Stacktrace for the permission check error:

     [java] WARNING: A system exception occurred during an invocation on EJB TimerBean method public java.util.Set com.sun.ejb.containers.TimerBean.findActiveTimersOwnedByThisServer()
     [java] javax.ejb.AccessLocalException: Client not authorized for this invocation.
     [java] 	at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1885)
     [java] 	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
     [java] 	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
     [java] 	at $Proxy130.findActiveTimersOwnedByThisServer(Unknown Source)
     [java] 	at com.sun.ejb.containers.EJBTimerService.restoreEJBTimers(EJBTimerService.java:486)
     [java] 	at com.sun.ejb.containers.EjbContainerUtilImpl.getEJBTimerService(EjbContainerUtilImpl.java:307)
     [java] 	at com.sun.ejb.containers.EjbContainerUtilImpl.getEJBTimerService(EjbContainerUtilImpl.java:289)
     [java] 	at com.sun.ejb.containers.EjbContainerUtilImpl.getEJBTimerService(EjbContainerUtilImpl.java:274)
     [java] 	at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:755)
     [java] 	at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:155)
     [java] 	at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:149)
     [java] 	at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:105)
     [java] 	at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230)
     [java] 	at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:290)
     [java] 	at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:101)
     [java] 	at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
     [java] 	at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:257)
     [java] 	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
     [java] 	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
     [java] 	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:382)
     [java] 	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
     [java] 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
     [java] 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064)
     [java] 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
     [java] 	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1244)
     [java] 	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1232)
     [java] 	at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:129)
     [java] 	at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:105)
     [java] 	at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:140)
     [java] 	at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:134)
     [java] 	at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:127)
     [java] 	at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102)
     [java] 	at com.acme.Client.test(Client.java:81)
     [java] 	at com.acme.Client.main(Client.java:70)
Comment by Cheng Fang [ 15/Jul/11 ]

After applying Kumar's hack (related to inService check) to 3.1.1 build, the ejbdev test embedded/timertest passed when running the second timer tests. I tried the test run several times w/ the same result.

The ejb error Kumar was seeing before (Caused by: java.lang.NoSuchFieldError: moduleName) looks like a setup issue. moduleName field was recently added to 3.2, but not to 3.1.1. When runnign w/ 3.1.1, there should be no trace of it. With 3.2, it should be resolved correctly.

Re-assign to security team to pursue a formal fix.

Comment by syvalta [ 15/Jun/12 ]

Could the "Fix version" be updated as this is still open and 3.1.2 has already been released?

Comment by markds [ 10/Jan/13 ]

Can I ask what is happening with this bug? It still occurs in 3.1.2.2





[GLASSFISH-16281] Glassfish 3.1 Certificate Login from standalone client fails if using a AppservCertificateLoginModule Created: 29/Mar/11  Updated: 25/Apr/14

Status: Open
Project: glassfish
Component/s: security
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: james100 Assignee: JeffTancill
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

linux 64 bit


Tags: 3_1-next, 3_1_1-exclude, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

We are using a standalone client to connect to Glassfish 3.1 (release version under linux )
If we try and connect from our standalone client using certificate authentication it all works fine.
When we try and add a AppservCertificateLoginModule to perform authorisation based on the certificate then it fails with an iiop.login_exception. Turing on finer logging we get a

javax.security.auth.common.login.LoginException:No Certificate Credential Found
from LoginContextDriver.java:728

The same AppservCertificateLoginModule works when we connect via a JSP page it is only an iiop connect that fails.
When it fails, it enters our constructor OK but never calls our authenticateUser.
This appears to be a bug with iiop which seems to be the poor cousin these days in Glassfish. We are trying to move from Glassfish 2 but this is a blocker for us.

Our login module is currently simple eg

public class TestCertificateLoginModule extends AppservCertificateLoginModule
{
public TestCertificateLoginModule()
{
super()
_logger.info("Constructor");
}

@Override
protected void authenticateUser() throws LoginException
{
_logger.info("authenticate");
String[] groupArray=

{"ADMIN"}

;
commitUserAuthentication(groupArray);
return;
}
}

We set this up by this adding to our login.conf

certRealm:

{ test.TestCertificateLoginModule requlogLevel="FINE"; } We made glassfish use this by running asadmin set configs.config.server-config.security-service.auth-realm.certificate.property.jass-context=certRealm We are using a simple Stateless session eg @Stateless @DeclareRoles("ADMIN") @AllowRoles("ADMIN") public class TestStateless implements TestStatelessRemote { @Override public String hello() { return "hello"; } }

our sun-ejb-jar.xml contains

<enterprise-beans>
<security-role-mapping>
<role-name>ADMIN</role-name>
<group_name>ADMIN</group-name>
</security-role-mapping>
<ejb>
<ejb-name>TestStateless</ejb-name>
<jndi-name>TestStateless</jndi-name>
<ior-security-config>
<transport-config>
<integrity>required</integrity>
<confidentiality>required</confidentiality>
<establish-trust-in-target>supported</establish-trust-in-target>
<establish-trust-in-client>required</establish-trust-in-client>
</transport-config>
<sas-context>
<caller-propagation>supported<caller-propagation>
</sas-context>
</ior-security-config>

Our client code contains

InitialContext ic = new InitialContext();
TestSessionRemote t = (TestSessionRemote)ic.lookup("TestSession");
t.hello();



 Comments   
Comment by kumarjayanti [ 18/May/11 ]

Seems to be a valid bug, we never tested the AppservCertficateLoginModule with IIOP. Can you paste a full trace for this :

javax.security.auth.common.login.LoginException:No Certificate Credential Found
from LoginContextDriver.java:728

We will attempt to fix it for 3.1.1.

Comment by james100 [ 29/May/11 ]

Hi,

We gave up and moved to LDAP.
I will see if I still have some test code that generates the error

Comment by tmn [ 14/Jun/11 ]

Hi Kumar,
I'm running into this same issue of "Certificate Login from standalone client fails if using a AppservCertificateLoginModule" as described above. I would like to know your progress on solving this issue

Regards,

TMN

Comment by JeffTancill [ 11/Feb/13 ]

Not relevant to 4.0 RI.





[GLASSFISH-16282] Passivation batching is not predictable Created: 29/Mar/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: ejb_container
Affects Version/s: 3.1
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: marina vatkina Assignee: marina vatkina
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_1-scrubbed, 3_1_2-exclude

 Description   

The batch scheduled for passivation is not closed for additions, so usually 1 or 2 extra instances are passivated instead of the batch size. To reproduce - increase the number of beans in ejb31/full/passact/client/Client.java






[GLASSFISH-16292] There is no safe way to discover the prefix for embedded glassfish properties Created: 31/Mar/11  Updated: 14/Nov/11

Status: Open
Project: glassfish
Component/s: embedded
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: ringerc Assignee: Bhavanishankar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 32bit, Embedded Glassfish 3.1


Tags: 3_1-next_release-note-added, 3_1-next_release-notes, 3_1_1-next, 3_1_1-scrubbed, 3_1_x-exclude

 Description   

Embedded glassfish's bootstrap procedure provides a way to configure glassfish configuration parameters using the GlassFishProperties class passed to GlassFishRuntime.newGlassFish(...) .

GlassFishProperties has a few convenience methods for things like setting the port of an http listener. These methods manipulate keys in a backing Properties object. There only convenience methods for a few things - for example, while there is setPort(...) to set the port on which a http listener should listen, there is no corresponding setAddress(...) to set the listening address. That's fine; there's no practical way to make convenience methods to set everything that a user might want to set anyway, and all the methods are doing is setting keys in the Properties object anyway.

The problem is that the backing Properties object keys that control server properties have a weird prefix "embedded-glassfish-config.server" that's not documented anywhere, doesn't appear in the default domain file org/glassfish/embed/domain.xml in glassfish-embedded-all-3.1.jar and doesn't correspond with the prefix " configs.config.server-config" produced by "asadmin list *" run from the embedded CommandRunner. This makes it rather difficult to reliably set properties at startup! For example, if you want to set the http listener address you would expect from the domain file and the output of "asadmin list *" to need to set:

configs.config.server-config.network-config.network-listeners.network-listener.http-listener.address
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

but in fact you must set:

embedded-glassfish-config.server.network-config.network-listeners.network-listener.http-listener.address
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

for the property to be accepted and take effect.

To fix this, either GlassFish should accept properties with the usual prefix at startup-time, or GlassFishProperties should expose the key prefix that config parameters passed at startup are expected to have.

Right now, GlassFishProperties.java contains the field:

private static final String NETWORK_LISTENER_KEY =
"embedded-glassfish-config.server.network-config.network-listeners.network-listener.%s";

... so it has that prefix hard-coded along with the rest of one particular key. If it's necessary to retain the "embedded-glassfish-config.server" prefix, it should be separated out into:

private static final String CONFIG_KEY_PREFIX =
"embedded-glassfish-config.server.";

private static final String NETWORK_LISTENER_CONFIG_KEY =
"network-config.network-listeners.network-listener.%s";

/**

  • During startup, Glassfish can accept configuration parameters
  • from the configs.config.[configname] space. However, these parameters
  • must be prefixed with the value returned by getConfigKeyPrefix() instead of
  • being prefixed with configs.config.server-config as they would be when using
  • asadmin at runtime.
    *
  • For example, if you want to set the listening address of the listener "http-listener",
  • which at runtime is at the key:
  • "configs.config.server-config.network-config.network-listeners.network-listener.http-listener.address"
  • you must instead set:
  • getConfigKeyPrefix()+"network-config.network-listeners.network-listener.http-listener"
    *
  • Note that getConfigKeyPrefix() returns the prefix with a trailing period.
    */
    public void getConfigKeyPrefix() { return CONFIG_KEY_PREFIX; }


 Comments   
Comment by ringerc [ 31/Mar/11 ]

For an example, see:

https://github.com/ringerc/postupload/tree/wip/standalone

Note that it won't successfully start because of another bug:

http://java.net/jira/browse/GLASSFISH-16277

but you can still see the address the server binds to and how the properties have to be used in order to get it to there.

Comment by ringerc [ 31/Mar/11 ]

Additionally, the GlassFishProperties JavaDoc should mention "asadmin list *" for enumerating properties and "asadmin get [propname]" for listing property keys. Some kind of discussion of which properties are supported for passing at startup would be handy, since apparently not all properties are. I just tried to pass "embedded-glassfish-config.server.security-service.activate-default-principal-to-role-mapping" with the value "true" but it was rejected (property does not exist) even though the runtime CommandRunner.run("set","server-config.security-service.activate-default-principal-to-role-mapping=true") works just fine.





[GLASSFISH-16304] domain.xml should be in UTF-8 Created: 01/Apr/11  Updated: 22/May/13

Status: Reopened
Project: glassfish
Component/s: configuration
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: gmurr Assignee: Masoud Kalali
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
blocks GLASSFISH-16700 Could not upgrade from ogs-3.1-window... Closed
Tags: 3_1_1-scrubbed, 3_1_2-release-note-added, 3_1_2-release-notes, 3_1_x-exclude

 Description   

currently domain.xml is in native encoding. This could lead to invalid byte sequence and the server will fail to start.
domain.xml should be in UTF-8 to avoid this issue. It is also recommended to have the prolog in the file:
<?xml version="1.0" encoding="UTF-8"?> this way the users are aware of it.



 Comments   
Comment by Tom Mueller [ 04/Apr/11 ]

There have been two issues recently related to this issue:

GLASSFISH-15150 modified the writing of the domain.xml so that it always uses UTF-8. It did not add the header that is suggested in this bug report.

GLASSFISH-15319 requested that UTF-8 encoding for the domain.xml be removed. With this change, the file is written using the default encoding that is in effect for the server.

There was a discussion at the admin iteam meeting on Dec 22, 2010 about these where the consensus was to remove the hard-coding. See:
http://wikis.sun.com/pages/viewpage.action?pageId=235180885

I'm marking this issue as incomplete because the description does not provide any details about the circumstances that "could lead to invalid byte sequence". Clearly one circumstance is that if the user has an incorrect default encoding set for the server. However, that is considered a user error rather than a bug. Are there other circumstances that trigger this problem? If so, please document them and reopen the bug.

Comment by gmurr [ 04/Apr/11 ]

Here are some scenarios that will lead to issues:

1- The server is sunning in EN locale. The user inputs JA data from the admin console. A description field for instance. Since the server is running in EN locale, the default encoding can not handle JA data. domain.xml will contain invlaid byte sequence and the server will fail to restart.

2- The user can always change the system locale. If the new system locale can not handle the domain.xml previous encoding. The server will also fail to start.

3- If we have a cluster with nodes running in different locales. Let's suppose domain.xml contain Chinese data and one of the cluster nodes is running in a non Chinese locale. This node will not be able to handle the Chinese data correctly.

If domain.xml is in UTF-8, we will not face any portability issues with its content. Since UTF-8 supports all languages, we do not need to worry about the system locale as long as we read and write the data in UTF-8.

Comment by Tom Mueller [ 04/Apr/11 ]

Scenario #1 is the scenario that was mentioned in the previous comment. The user has an incorrect default encoding set for the server. This is considered a user error.

Scenario #2 is a difficult one to deal with. When this happens, it is currently necessary for the user to manually convert the encoding of the domain.xml file.

Scenario #3 is not a supported configuration.

I agree that storing the file in UTF-8 with the proper header would be a better solution. Some of the issues raised with this during the admin iteam meeting are:

1. How to deal with users that edit the domain.xml file with an editor that doesn't pay attention to the header? Or, if the header isn't there, it is likely that the editor is going to use some native encoding rather than UTF-8.

2. How to upgrade from previous releases that did not save the file in UTF-8? One solution for this is to assume that the file is using the default encoding if there is no header, and UTF-8 (or whatever encoding is specified) if there is a header.

Comment by scatari [ 17/May/11 ]

Approved for 3.1.1.

Comment by apcuk [ 17/Aug/11 ]

This is still a valid and very serious issue. I just registered to explain my problem. I spent weeks trying to find the solution with no luck, so I'm glad that finally I've found this page.

I am using Windows 7 with Hungarian locale. If I download glassfish and start it, it works fine. After a while, it won't restart/start even if I don't edit domain.xml manually (I don't even open it with a text editor). After this if I add something like <?xml version="1.0"?> as the first line, glassfish will be able to start up again, but this header gets deleted immediately. Also, after editing it can't find my app anymore (when undeploying for example), since I have accents in my name which is in the path of NetBeansProjects.

Comment by Tom Mueller [ 17/Aug/11 ]

Do you have any information about what happened between when it was working and when it stopped working? Was the console used to modify the configuration? Were asadmin commands used? Was an application deployed? Are there configuration changes that involve non-ASCII characters?

Presumably you are using an editor to add the <?xml version="1.0"?>. Is this editor changing the encoding? (Maybe it is the use of the editor rather than the header that is making it work.)

Comment by apcuk [ 18/Aug/11 ]

I used the admin console at localhost:4848 to modify some settings, adding a JAAS context for example. I did not use asadmin commands. Yes, I deployed a web application. The configuration changes did not involve non-ASCII characters. The only non-ASCII characters are in the path of NetBeansProjects (in my name), but I'm not sure if it has anything to do with domain.xml, NetBeans is able to deploy the app (at least for the first time).

I don't think the editor changes the encoding. If I want to save it notepad says the encoding is ANSI. Is there a way to check how the file has been encoded?

I will try to test what happens when in the next few days for more information.

Comment by Tom Mueller [ 18/Aug/11 ]

It would be helpful to see the error message that you get when starting the server (when it fails to start). If this is an encoding problem, you should be receiving some sort of encoding failure message or a parsing error messages for the domain.xml.

When the server fails to start, it would be helpful to see the domain.xml file, if that is something that you can share. By looking at the file, it is possible to tell what encoding is being used (if there are non-ascii characters). If the file is entire ascii characters, then the encoding doesn't matter. Generally, to do this you need an editor which can look at the binary values in the file.

Comment by apcuk [ 18/Aug/11 ]

There are indeed non-ASCII characters in the domain.xml, I didn't realize that before.

<applications>
<application context-root="/" location="file:/C:/Users/Szabó%20András/Documents/NetBeansProjects/.../build/web/" name="..." directory-deployed="true" object-type="user">
<property name="appLocation" value="file:/C:/Users/Szabó%20András/Documents/NetBeansProjects/.../build/web/"></property>
<property ... ></property>
...
</application>
</applications>

When the server fails to start, there is nothing in the log (simply nothing happens when I click "start" in NetBeans). Eclipse says port is out of range, but I guess it is some side effect because of the invalid domain.xml. If I want to open it in Google Chrome, it says "This page contains the following errors: error on line 11 at column 5: Encoding error / Below is a rendering of the page up to the first error." Then it shows nothing. Firefox, however, opens it perfectly.

I found a way to determine the encoding: Visual Studio says it's Central European (Windows) (which is normal if Glassfish uses native encoding, I guess). If I want to save it however, it switches to UTF-8. Weird.

I currently cannot share the xml with you, but I will create one from scratch without my personal data with a new glassfish installation.

Comment by Tom Mueller [ 18/Aug/11 ]

To see the error from GlassFish, use the Command Prompt window to start the domain with the -v option:

...\glassfish\bin\asadmin start-domain -v

You will see the output from the server in the command prompt window. This will probably include a message about finding an invalid character in the domain.xml file.

To work-around this issue, GlassFish must be started with a locale setting that has a default encoding that matches the encoding that is being used to specify the filename.

Comment by apcuk [ 18/Aug/11 ]

"asadmin start-domain -v" says:
... Parse error at [row,col]:[11,64]
Message: invalid byte 2 of 4 byte UTF-8 sequence. ...

So it seems that GlassFish writes the files using Central European encoding but then tries to read it with UTF-8.

The global "locale" textbox in the admin console is blank, since then (if I'm correct) GlassFish will be started using the default OS locale. So it will use the default encoding. I don't see where is the problem, to be honest.

What settings should I change?

Comment by Tom Mueller [ 19/Aug/11 ]

More investigation will be required to understand this fully, specifically to determine how a non-UTF-8 sequence is being written to the file when it is being read with UTF-8. GlassFish uses the same encoding to read and write the file, i.e., the default encoding for the JVM. If the JVM is being started in different ways with different default encodings, that might explain what is happening here.

Comment by apcuk [ 25/Sep/11 ]

Do you have any update on this issue? It seems that it's only me who is facing this problem, which is quite wierd, since I have default settings in Neatbeans, Glassfish, JVM etc.

I set both en_GB and hu_HU to override the default locale in Glassfish, but neither had any effect. Adding <?xml version="1.0" encoding="UTF-8"?> to domain.xml doesn't help either since it gets deleted during startup. So now I have to resave the xml with UTF-8 before every startup.

Thank you for your previous responses.

Comment by Tom Mueller [ 26/Sep/11 ]

I found an easy way to corrupt the GlassFish domain.xml file that produces a failure similar to yours. Just deploy an application, for example named helloworld, and then do the following:

asadmin set applications.application.helloworld.description=hióhi

If GlassFish is configured to use the default encoding on Windows, Cp1252, this command will succeed and the domain.xml file will be written, but the ó will be encoded in Central European Encoding rather than in Cp1252. The next time GlassFish is restarted, it will be unable to read the domain.xml file and the startup will fail.

This is actually a different bug than the one that is recorded here. I created GLASSFISH-17352 to track that bug. See the description of that bug for details about a workaround to the issue reported in the comments of this bug.

Comment by Tom Mueller [ 19/Oct/11 ]

Excluding this from 3.1.x releases. Will consider for 4.0.





[GLASSFISH-16315] LAZY loading on attributes causes IOP00710285: (INTERNAL) A reflective tie got an error while invoking method ... Created: 05/Apr/11  Updated: 08/Feb/12

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: 3.1_b22
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: laps Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

GlassFish Server Open Source Edition 3.0.1 (build 22)
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)


Tags: 3_1_1-scrubbed, 3_1_2-exclude, IOP00710285, IllegalArgumentException, ReflectiveTie, corba, lazy, orb, serialization

 Description   

Having the following Entity :

@Entity
public class MyEntity implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;

/* MyLazyEntity : simple entity */
@ManyToOne(fetch = FetchType.LAZY)
private MyLazyEntity lazyEntity;

/* Getters and setters */
}

When I make a new instance client side (in a JWS environnement) :

MyEntity me = new MyEntity();
getMyEJBRemote().saveMyEntity(me);

I have the following error (server side) :

[#|2011-04-05T17:52:56.018+0200|WARNING|glassfish3.0.1|javax.enterprise.resource.corba.ee.CORBA.rpc.presentation|_ThreadID=34;_ThreadName=Thread-1;|"IOP00710285: (INTERNAL) A reflective tie got an error while invoking method saveMyEntity on class ...MyEJBRemote_Remote"
org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 285 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.invocationErrorInReflectiveTie(ORBUtilSystemException.java:7716)
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.invocationErrorInReflectiveTie(ORBUtilSystemException.java:7736)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:152)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:176)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:682)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:216)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1841)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1695)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1078)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:221)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:797)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:561)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2558)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:492)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:528)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
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.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:146)
... 12 more

#]

And client-side (JWS) :
javax.ejb.EJBException: java.rmi.RemoteException: CORBA INTERNAL 1398079773 No; nested exception is:
org.omg.CORBA.INTERNAL: ---------BEGIN server-side stack trace---------
org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 285 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.invocationErrorInReflectiveTie(ORBUtilSystemException.java:7716)
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.invocationErrorInReflectiveTie(ORBUtilSystemException.java:7736)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:152)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:176)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:682)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:216)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1841)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1695)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1078)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:221)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:797)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:561)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2558)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:492)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:528)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
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.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:146)
... 12 more

---------END server-side stack trace--------- vmcid: SUN minor code: 285 completed: No
at ...MyEJBRemote_Wrapper.saveMyEJB(.../.../_MyEJBRemote_Wrapper.java)
at ...save(....java:509)
...

When I start Glassfish in debug mode, I can't get into my EJB method.
Important : When start in localhost, I have not this problem, event if I start the application in my Eclipse environment.

If I remove (fetch = FetchType.LAZY) from lazyEntity anotations, everything becomes ok.

After looking for previously posted issues, I found two old ones :
http://java.net/jira/browse/GLASSFISH-1081
http://java.net/jira/browse/GLASSFISH-1442
but they are a bit outdated (from 2007) ; so I think the problem is not the same.



 Comments   
Comment by Ken Cavanaugh [ 18/May/11 ]

No time to fix in 3.1.1





[GLASSFISH-16324] corba-orb-iiop-folb-devtest suite: two tests are failing Created: 06/Apr/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: 4.0
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: Harshad Vilekar Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: HTML File Test14762.html     HTML File Test15768.html    
Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

Following two dev tests are failing on Hudson.

Test 15768 FAILED:

[Root exception is javax.naming.NameNotFoundException: No object bound to name java:comp/env/ejb]
==============================================

Test 14762 FAILED:

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 testtools.Base.run(Base.java:235)
at orbfailover.Main.main(Main.java:375)
Caused by: javax.ejb.EJBException: java.rmi.MarshalException: CORBA COMM_FAILURE 1330446337 No; nested exception is:
org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: intgv880-1; port: 11037 vmcid: OMG minor code: 1 completed: No
at orb.folb._LocationBeanRemote_Wrapper.getLocation(orb/folb/_LocationBeanRemote_Wrapper.java)
at orbfailover.Main.invokeMethod(Main.java:172)
at orbfailover.Main.test14762(Main.java:545)
... 6 more
Caused by: java.rmi.MarshalException: CORBA COMM_FAILURE 1330446337 No; nested exception is:
org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: intgv880-1; port: 11037 vmcid: OMG minor code: 1 completed: No
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:259)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:213)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
at orb.folb._LocationBeanRemote_Remote_DynamicStub.getLocation(orb/folb/_LocationBeanRemote_Remote_DynamicStub.java)
... 9 more
Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: intgv880-1; port: 11037 vmcid: OMG minor code: 1 completed: No
at sun.reflect.GeneratedConstructorAccessor46.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
at $Proxy44.connectFailure(Unknown Source)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:194)
... 12 more
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:340)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
... 17 more
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:500)
at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:325)
... 18 more
==============================================

See attached hudson logs for details.



 Comments   
Comment by scatari [ 24/May/11 ]

Will be considered for the next release.





[GLASSFISH-16326] javaee6 sample does not run on remote GF 3.1 Created: 06/Apr/11  Updated: 08/Dec/11

Status: Open
Project: glassfish
Component/s: sample_apps
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: oszhatife Assignee: Snjezana Sevo-Zenzerovic
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_1-exclude, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

I installed javaee6 with samples:
java_ee_sdk-6u2-jdk-linux-x64-ml.sh

I can run "automatic-timer" sample properly, when GF 3.1 runs on localhost.

If GF 3.1 runs on a remte host.
I set the remote GF 3.1 in bp-project/build.properties:
javaee.server.name=192.168.1.101

Now automatic-timer sample does not run:

[java] Waiting for the timer to expire
[java] Logged timeouts :
[java] org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700 vmcid: OMG minor code: 1 completed: No
[java] at sun.reflect.GeneratedConstructorAccessor30.newInstance(Unknown Source)
[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
[java] at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
[java] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
[java] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
[java] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
[java] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
[java] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
[java] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
[java] at $Proxy26.connectFailure(Unknown Source)
[java] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
[java] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
[java] at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
[java] at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
[java] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
[java] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
[java] at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
[java] at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
[java] at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1241)
[java] at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:411)
[java] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)
[java] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
[java] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[java] at javax.naming.InitialContext.lookup(InitialContext.java:392)
[java] at enterprise.automatic_timer_client.AutomaticTimerJavaClient.getRecords(AutomaticTimerJavaClient.java:64)
[java] at enterprise.automatic_timer_client.AutomaticTimerJavaClient.main(AutomaticTimerJavaClient.java:53)
[java] Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
[java] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:340)
[java] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
[java] ... 15 more
[java] Caused by: java.net.ConnectException: Connection refused
[java] at sun.nio.ch.Net.connect(Native Method)
[java] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:500)
[java] at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
[java] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:325)
[java] ... 16 more
[java] javax.naming.NamingException: Lookup failed for 'java:global/automatic-timer-ejb/StatelessSessionBean' in SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl}

[Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700 vmcid: OMG minor code: 1 completed: No]]
[java] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
[java] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[java] at javax.naming.InitialContext.lookup(InitialContext.java:392)
[java] at enterprise.automatic_timer_client.AutomaticTimerJavaClient.getRecords(AutomaticTimerJavaClient.java:64)
[java] at enterprise.automatic_timer_client.AutomaticTimerJavaClient.main(AutomaticTimerJavaClient.java:53)
[java] Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl}

[Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700 vmcid: OMG minor code: 1 completed: No]
[java] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:352)
[java] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
[java] ... 4 more
[java] Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700 vmcid: OMG minor code: 1 completed: No
[java] at sun.reflect.GeneratedConstructorAccessor30.newInstance(Unknown Source)
[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
[java] at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
[java] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
[java] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
[java] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
[java] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
[java] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
[java] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
[java] at $Proxy26.connectFailure(Unknown Source)
[java] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
[java] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
[java] at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
[java] at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
[java] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
[java] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
[java] at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
[java] at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
[java] at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1241)
[java] at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:411)
[java] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)
[java] ... 5 more
[java] Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
[java] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:340)
[java] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
[java] ... 15 more
[java] Caused by: java.net.ConnectException: Connection refused
[java] at sun.nio.ch.Net.connect(Native Method)
[java] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:500)
[java] at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
[java] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:325)
[java] ... 16 more
[java] Exception in thread "main" java.lang.NullPointerException
[java] at enterprise.automatic_timer_client.AutomaticTimerJavaClient.main(AutomaticTimerJavaClient.java:54)

Why does it use localhost instead of 192.168.1.106 ?
How can I run the sample against a remote GF 3.1 ?

Thank you



 Comments   
Comment by Tim Quinn [ 07/Apr/11 ]

Transfering to the ORB team, since the stack trace indicates the ORB cannot connect to the server.

Comment by Tim Quinn [ 07/Apr/11 ]

Forgot to change owner.

Comment by Harshad Vilekar [ 31/Oct/11 ]

For automatic-timer-client, please set the system property "org.omg.CORBA.ORBInitialHost" to point to the remote host running GlasFish.

For example, If the GlassFish server is running on 192.168.1.106, the automatic timer client on remote host works fine after adding following line to glassfish/samples/bp-project/java-client-ant.xml:
<jvmarg value="-Dorg.omg.CORBA.ORBInitialHost=192.168.1.106"/>

The sample build files and instructions need to be updated with this information.

Comment by scatari [ 08/Dec/11 ]

Will be supported in a feature release.





[GLASSFISH-16372] Not able to make toString() a final method in EJB with no-interface view Created: 17/Apr/11  Updated: 01/Apr/13

Status: Reopened
Project: glassfish
Component/s: ejb_container
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: Sanjeeb Sahoo Assignee: marina vatkina
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_1-scrubbed

 Description   

EJB 3.1 spec says the following in section #4.9.8:
/All public methods of the bean class and any superclasses are exposed as business methods
through the no-interface view.

All methods of the bean class and any superclasses must not be declared final./

Nowhere do I find that methods of "java.lang.Object" are excluded from being part of no-interface view of the bean. This can't be true, because Object class has quite a few final methods in it. So, I am assuming that all methods of java.lang.Object are automatically excluded from being part of no-interface view of the EJB. But, then I am surprised to see an exception while trying to deploy the following EJB:

@Stateless
@LocalBean
public class FooBean {

public String test(String s)

{return s.toUpperCase();}

@Override public final String toString()

{return "FooBean";}

}

I got following exception:

Caused by: 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.ejb.containers.EjbOptionalIntfGenerator.makeClass(EjbOptionalIntfGenerator.java:460)
... 27 more
Caused by: java.lang.VerifyError: class org.glassfish.fighterfish.test.app11.ejb._EJB31_GeneratedFooBeanIntf__Bean_ overrides final method toString.()Ljava/lang/String;
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
... 32 more

I think GlassFish is incorrectly making toString() a part of no-interface view of this bean.



 Comments   
Comment by marina vatkina [ 18/May/11 ]

We do not know if toString() will be called by the client. If it will, it should be a proxy call

Comment by Cheng Fang [ 19/Oct/11 ]

This issue was fixed as part of 17235 (Dependency Injection doesn't work for overloaded methods accepting generic-type parameter)

Comment by Mark Struberg [ 27/Mar/13 ]

Folks, I humbly recommend to reopen this issue.

final methods cannot get proxied, thus this method will always just hit the proxy instance instead of the proxied EJB instances. I think users will just not be aware what happens.

> Nowhere do I find that methods of "java.lang.Object" are excluded from being part of no-interface view of the bean.

That's true and should get fixed. I recommend to explicitly define the expected behaviour for Object.class methods and exclude them from the standard 'business methods' definition. Maybe this is already even in the spec implicitly? Not sure...

  • toString() -> should get proxied
  • equals, hashCode -> should not get proxied
  • clone -> should not get proxied
    etc
Comment by marina vatkina [ 29/Mar/13 ]

reopening...





[GLASSFISH-16373] Log messages from loadbalancer plugin not the same for different webservers Created: 18/Apr/11  Updated: 21/Oct/11

Status: Open
Project: glassfish
Component/s: load_balancer
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Jothir Ganesan Assignee: kshitiz_saxena
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

The log messages coming from loadbalancer plugin is not the same across different webservers : Oracle Iplanet Webserver, Apache2.2 and IIS7.5

i) Retry of Idempotent URL - When servlet response times out - "timed out waiting for response" message is not appearing in Apache and IIS.

ii) Custom Error Page - When the custom error page is missing - "lb.runtime: RNTM3007: Invalid / Missing custom error-url / page: error.html for web-module: infiniteCustomErrorHtml." message is not appearing in Apache.

iii) Auto apply lb changes - When lb xml is deleted - "Error occured while initializing Loadbalancer config Parser" message is not appearing in Apache.






[GLASSFISH-16490] [UB]Additional Instructions for setting up LB on Solaris 10 Sparc + apache 64-bit to be included Created: 27/Apr/11  Updated: 07/Mar/12

Status: Open
Project: glassfish
Component/s: docs, load_balancer
Affects Version/s: 3.1.1
Fix Version/s: not determined

Type: Bug Priority: Major
Reporter: Jothir Ganesan Assignee: Mike Fitch
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Solaris 10 Sparc + Apache 64-bit with OpenSSl


Issue Links:
Related
is related to GLASSFISH-17806 [UB]Docs need to be corrected to refl... Open
Tags: 3_1-next_need-more-info

 Description   

Configure openssl as below :
1. ./Configure shared --openssldir=<openssl-install-dir> --prefix=<openssl-install-dir> solaris64-sparcv9-cc
2. make
3. make install

Configure Apache as below:
export CFLAGS="-m64"
export LDFLAGS="-m64"
export LD_LIBRARY_PATH=/usr/lib/64:/usr/sfw/lib/64
use sun studio compiler instead of gcc for 64-bit:
1../configure --with-mpm=worker --with-included-apr --with-ssl=/export/kshitiz/64bit/openssl/install --prefix=/export/kshitiz/64bit/apache2.2/install --enable-ssl --enable-so CC=/usr/dist/share/sunstudio_sparc/SUNWspro/bin/cc

2. make
3. make install



 Comments   
Comment by Scott Fordin [ 18/May/11 ]

Similar comment to http://java.net/jira/browse/GLASSFISH-16491, we clearly state at the beginning of "Configuring Web Servers for HTTP Load Balancing" chapter in the HA Admin Guide that, "The Loadbalancer Plug-In does not support web servers running in 64–bit mode, except for Microsoft IIS with 32–bit application support enabled." We also state in the "Configuring Apache HTTP Server" instructions in that same chapter that, "The Loadbalancer Plug-In supports Apache HTTP Server 2.2.x (32–bit)." So I guess I'm confused. Do we now want to say that we support 64-bit? If so, this will require changes in several locations, not just this one bit in one particular step.

Comment by Scott Fordin [ 31/May/11 ]

Reassigning to Paul Davies.

Comment by kshitiz_saxena [ 14/Jul/11 ]

In 3.1.1, we support 64 bit load-balancer plugin. Please refer to issue GLASSFISH-16905.

Comment by Mike Fitch [ 19/Jul/11 ]

Pushing this issue to "future release". For 3.1.1, description of 64-bit LBP support is limited to the Release Notes.

Comment by Tom Mueller [ 07/Mar/12 ]

Bulk update to set Fix Version to "not determined" for issues that had it set to a version that has already been released.





[GLASSFISH-16491] [UB]Additional Instructions for setting up LB on OEL+ OHS 64-bit to be included Created: 27/Apr/11  Updated: 07/Mar/12

Status: In Progress
Project: glassfish
Component/s: docs, load_balancer
Affects Version/s: 3.1.1
Fix Version/s: not determined

Type: Bug Priority: Major
Reporter: Jothir Ganesan Assignee: Mike Fitch
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OEL + OHS 64-bit + Glassfish lb plugin


Issue Links:
Related
is related to GLASSFISH-17806 [UB]Docs need to be corrected to refl... Open
Tags: 3_1-next_need-more-info

 Description   

I configured lb plugin on 64-bit OHS according to the instructions given in
http://download.oracle.com/docs/cd/E18930_01/html/821-2426/gktke.html

When I start OHS, the https listeners of the instances are being detected as unhealthy.

Need to add the following to bin/apachectl script:
NSS_STRICT_NOFORK=DISABLED; export NSS_STRICT_NOFORK



 Comments   
Comment by Scott Fordin [ 18/May/11 ]

We clearly state at the beginning of "Configuring Web Servers for HTTP Load Balancing" chapter in the HA Admin Guide that, "The Loadbalancer Plug-In does not support web servers running in 64–bit mode, except for Microsoft IIS with 32–bit application support enabled." We also state in the "Configuring Oracle HTTP Server" instructions in that same chapter that, "These procedures apply to Oracle HTTP Server 11.1.1.4+ (32–bit) only. Other versions of Oracle HTTP Server are not supported." So I guess I'm confused. Do we now want to say that we support 64-bit? If so, this will require changes in several locations, not just this one bit in one particular step.

Comment by Scott Fordin [ 31/May/11 ]

Reassigning to Paul Davies.

Comment by kshitiz_saxena [ 14/Jul/11 ]

This issue is not specific to 64 bit OHS. This change is generic. Please capture is under point 3.

Comment by Mike Fitch [ 19/Jul/11 ]

Information added as per Description

Comment by Tom Mueller [ 07/Mar/12 ]

Bulk update to set Fix Version to "not determined" for issues that had it set to a version that has already been released.





[GLASSFISH-16492] NamingException when calling an EJB from one standalone instance to another Created: 28/Apr/11  Updated: 08/Feb/12

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: 3.1_b43, 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: brzhk Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)
Ubuntu 10.10
Glassfish 3.1 b43


Attachments: File hades-testcase.tar.bz2    
Tags: 3_1_1-scrubbed, 3_1_2-exclude

 Description   

(testcase included, with two maven projects : hades creates an EAR & the EJB client jar. should be created with mvn install. install on instance A check the IIOP port. hades-client is a simple war which depends on the hades ejb client jar. open CallServlet and change the IIOP port to call accordingly. run with maven package. install on instance B. Run /CallServlet.)

I tried spawning two standalone instances in my admin console, i deployed an ejb-app on my instance A and a client on my instance B. Whereas it worked flawlessly when both of these applications were installed on the virtual server 'server', now the call fails with this error:

javax.naming.NamingException: Lookup failed for
'java:global/hades/auth-0.0.1-SNAPSHOT/CustomerAuthEjb!com.hypsoma.hades.auth.CustomerAuthEjbRemote'
in SerialContext[myEnv=

{org.omg.CORBA.ORBInitialPort=3700, java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, org.omg.CORBA.ORBInitialHost=127.0.0.1, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}

[Root exception is javax.naming.NamingException: ejb ref resolution error for remote business interfacecom.hypsoma.hades.auth.CustomerAuthEjbRemote [Root exception is org.omg.CORBA.OBJECT_NOT_EXIST: FINE: IOP02500002: Failed to create or locate Object Adaptor vmcid: SUN minor code: 2 completed: No]]
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
at javax.naming.InitialContext.lookup(InitialContext.java:409)
at javax.naming.InitialContext.lookup(InitialContext.java:409)
at com.hypsoma.test.CallServlet.doGet(CallServlet.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:636)
Caused by: javax.naming.NamingException: ejb ref resolution error for remote business interfacecom.hypsoma.hades.auth.CustomerAuthEjbRemote [Root exception is org.omg.CORBA.OBJECT_NOT_EXIST: FINE: IOP02500002: Failed to create or locate Object Adaptor vmcid: SUN minor code: 2 completed: No]
at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:434)
at com.sun.ejb.containers.RemoteBusinessObjectFactory.getObjectInstance(RemoteBusinessObjectFactory.java:75)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at com.sun.enterprise.naming.impl.SerialContext.getObjectInstance(SerialContext.java:556)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:514)
... 31 more
Caused by: org.omg.CORBA.OBJECT_NOT_EXIST: FINE: IOP02500002: Failed to create or locate Object Adaptor vmcid: SUN minor code: 2 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
at $Proxy130.noObjectAdaptor(Unknown Source)
at com.sun.corba.ee.impl.oa.poa.POAFactory.find(POAFactory.java:228)
at com.sun.corba.ee.impl.protocol.ServantCacheLocalCRDBase.updateCachedInfo(ServantCacheLocalCRDBase.java:86)
at com.sun.corba.ee.impl.protocol.ServantCacheLocalCRDBase.getCachedInfo(ServantCacheLocalCRDBase.java:77)
at com.sun.corba.ee.impl.protocol.FullServantCacheLocalCRDImpl.internalPreinvoke(FullServantCacheLocalCRDImpl.java:64)
at com.sun.corba.ee.impl.protocol.LocalClientRequestDispatcherBase.servant_preinvoke(LocalClientRequestDispatcherBase.java:240)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.servant_preinvoke(CorbaClientDelegateImpl.java:574)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:218)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
at com.sun.ejb.codegen._GenericEJBHome_Generated_DynamicStub.create(com/sun/ejb/codegen/_GenericEJBHome_Generated_DynamicStub.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:422)
... 35 more
Caused by: org.omg.PortableServer.POAPackage.AdapterNonExistent: IDL:omg.org/PortableServer/POA/AdapterNonExistent:1.0
at com.sun.corba.ee.impl.oa.poa.POAImpl.doActivate(POAImpl.java:1115)
at com.sun.corba.ee.impl.oa.poa.POAImpl.find_POA(POAImpl.java:1048)
at com.sun.corba.ee.impl.oa.poa.POAFactory.find(POAFactory.java:224)



 Comments   
Comment by kumarjayanti [ 29/Apr/11 ]

I believe you are running into this issue. Can you check :

http://download.oracle.com/docs/cd/E19226-01/820-7688/gjktd/index.html

Comment by marina vatkina [ 02/May/11 ]

Seems like an ORB issue

Comment by Ken Cavanaugh [ 18/May/11 ]

Can't fix in 3.1.1.





[GLASSFISH-16543] Performance regression in JavaEE (ejb) deployment Created: 04/May/11  Updated: 18/Jan/12

Status: Open
Project: glassfish
Component/s: performance
Affects Version/s: 3.1.1_b02
Fix Version/s: None

Type: Bug Priority: Major
Reporter: amitagarwal Assignee: Scott Oaks
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
depends on GLASSFISH-17013 Significant apparent regression in OR... Open
depends on MQ-99 Performance regression in MQ start-up... Open
blocks GLASSFISH-16355 startup and footprint of larger size ... Open
Tags: 3_1-next, 3_1_2-exclude

 Description   

JavaEE developer benchmark shows ejb deployment is regressed significantly from 2.1.1 release. We are observing around 230% regression on 3.1.1 builds compare to last build b31g of 2.1.1



 Comments   
Comment by Tim Quinn [ 09/Jun/11 ]

Linking the apparent MQ start-up regression to this umbrella issue for the EJB start-up and deployment regression issue.

Comment by Tim Quinn [ 11/Jul/11 ]

Linking to the ORB start-up regression issue

Comment by scatari [ 26/Jul/11 ]

Targeting to be evaluated further and resolved in the patch release post 3.1.1.

Comment by Joe Di Pol [ 18/Jan/12 ]

We were unable to get the ORB GMBL fix into 3.1.2 (we did get a Metro fix in, but that is not reflected in the EJB benchmark). Deferring from 3.1.2





[GLASSFISH-16586] sync-instance leaves garbage in the file system Created: 09/May/11  Updated: 05/Nov/12

Status: Open
Project: glassfish
Component/s: admin
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: Byron Nevins Assignee: Chris Kasso
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File GLASSFISH-16586.patch    
Tags: 3_1_1-scrubbed, 3_1_2-exclude

 Description   

Easy to reproduce.

asadmin _synchronize-instance garbage

(i.e. any instance name that does not exist)

======================
d:\gf\v2\appserv-tests\devtests\admin\cli\src\admin>asadmin _synchronize-instance garbage
CLI802 Synchronization failed for directory config, caused by:
remote failure: Unknown server instance: garbage

d:\gf\v2\appserv-tests\devtests\admin\cli\src\admin>dir /s/b D:\glassfish3\glassfish\nodes\localhost-domain1\garbage
D:\glassfish3\glassfish\nodes\localhost-domain1\garbage\.syncstate

===============================
We definitely don't want junk directories in a node directory. Many commands will be examining that directory wasting time again and again (or worse - I'm not sure).

A simple typo is how I noticed this...



 Comments   
Comment by Chris Kasso [ 23/May/11 ]

The failed synchronization command results in the creation of a new directory under the localhost-domainname node directory. This directory contains a zero length .syncstate file.

The failed command should not create the directory or leave any new files on the system.

To reflect the minimum impact of the issue the priority is being changed from P2 -> P3.

Comment by Byron Nevins [ 23/May/11 ]

Try this:

(fresh install, no instances)
I.
asadmin create-local-instance i1
asadmin delete-local-instance i1
dir D:\glassfish3\glassfish\nodes (empty)

05/23/2011 11:12 AM <DIR> .
05/23/2011 11:12 AM <DIR> ..

=====================================================
II.
asadmin create-local-instance i1
asadmin asadmin _synchronize-instance garbage
asadmin delete-local-instance i1
dir D:\glassfish3\glassfish\nodes

Directory of D:\glassfish3\glassfish\nodes

05/23/2011 11:11 AM <DIR> .
05/23/2011 11:11 AM <DIR> ..
05/23/2011 11:12 AM <DIR> localhost-domain1

Comment by Chris Kasso [ 24/May/11 ]

Got it. It also leaves the node and agent directories.

Comment by zhouronghui [ 05/Nov/12 ]

Dear Chris Kasso:

I have looked into this issue and found the reason of it.
I refered to the DeleteLocalInstanceCommand.java and
made a patch for this ISSUE.
The patch called "GLASSFISH-16586.patch" has been attached.
Would you please check it?

Thank you.





[GLASSFISH-16587] request.getUserPrincipal() does not return MyPrincipal Created: 09/May/11  Updated: 14/May/15

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: gernot1 Assignee: kumarjayanti
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-next, 3_1_1-exclude, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

I've an own javax.security.auth.message.module.ServerAuthModule implementation.
In validateRequest() I put an instance of MyPrincipal to the callbackhandler
MyPrincipal myprincipal = ...;
callbackHandler.handle(new Callback[]

{ new CallerPrincipalCallback(clientSubject, myprincipal), new GroupPrincipalCallback(...) }

);
In the application request.getUserPrincipal() returns an instance of com.sun.enterprise.security.web.integration.WebPrincipal and NOT an instance of MyPrincipal!

In an ejb the call of ejbContext.getCallerPrincipal() does return an instance of MyPrincipal!

==> request.getUserPrincipal() should return the principal which is set in the ServerAuthModule



 Comments   
Comment by kumarjayanti [ 09/May/11 ]

yes this is a known issue and we made some work on it to get the behavior you are looking for. It is still not committed, more work to do.

Comment by kumarjayanti [ 18/May/11 ]

We will make an attempt to get this fixed for 3.1.1 but cannot commit based on resources and time left.

Comment by sultry [ 14/May/15 ]

Depends on this bug made that workaround:

private static Principal glassfishWorkAround(HttpServletRequest request) {
        Principal principal = null;
        try {
            Principal webPrincipal = request.getUserPrincipal();
            if (webPrincipal != null) {
                Class glassfishWrapper = Class.forName("com.sun.enterprise.security.web.integration.WebPrincipal");
                if (glassfishWrapper.isInstance(webPrincipal)) {
                    Field customPrincipal = glassfishWrapper.getDeclaredField("customPrincipal");
                    customPrincipal.setAccessible(true);
                    principal = (Principal) customPrincipal.get(webPrincipal);
                } else {
                    principal = webPrincipal;
                }
            }
        } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException | ClassNotFoundException ex) {
            LOGGER.throwing("SecurityConstraint", "glassfishWorkAround", ex);
        }
        return principal;
}

public static Principal getPrincipal(HttpServletRequest request) {
        return glassfishWorkAround(request);
}

Hope it helps somebody! Anyway hope this bug will be resolved soon.





[GLASSFISH-16591] CriteriaBuilder.or causes NullPointerException even though nothing is null Created: 10/May/11  Updated: 09/Feb/13

Status: Open
Project: glassfish
Component/s: entity-persistence
Affects Version/s: v3.0.1, 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: deathtooracle Assignee: Mitesh Meswani
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux nexus 2.6.32-5-amd64 #1 SMP Mon Mar 7 21:35:22 UTC 2011 x86_64
glassfish 3.1 and 3.0.1
Java(TM) SE Runtime Environment (build 1.6.0_25-b06) and 1.6.0_24


Attachments: Text File server.log    
Tags: 3_1_1-scrubbed, 3_1_2-exclude

 Description   

inside a stateless session bean the following method throws a NullPointerException in line 136:
public List<IdkoBasicPerson> abgelaufeneImpfungen(@WebParam(name = "Datum") final Date datum) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<IdkoBasicPerson> cq = cb.createQuery(IdkoBasicPerson.class);
Root<IdkoBasicPerson> root = cq.from(IdkoBasicPerson.class);
Predicate impf = cb.disjunction();
List<String> vaccinations = this.impfungen();
for (String tmp : this.impfungen()) {
try {
if (impf != null && root.<Date>get(tmp).isNull() != null && cb.lessThan(root.<Date>get(tmp), cb.currentDate()) != null) System.err.println("\nnothing is null\n");
} catch(NullPointerException e) {
System.err.println("\nsomething was null\n");
}
if (datum == null)

{ impf = cb.or(impf, root.<Date>get(tmp).isNull(), cb.lessThan(root.<Date>get(tmp), cb.currentDate()))); //line 136 }

else

{ impf = cb.or(impf, root.get(tmp).isNull(), cb.lessThan(root.<Date>get(tmp), datum))); }

}
cq.where(impf.not()).orderBy(cb.asc(root.get("lastname")), cb.asc(root.get("firstname")));
cq.select(root);
return em.createQuery(cq).getResultList();
}

When or(Predicate ...) is replaced with and(Predicate ...) in line 136 no Exception is thrown - but of course query logic returns unwanted result list:
impf = cb.and(impf, root.<Date>get(tmp).isNull(), cb.lessThan(root.<Date>get(tmp), cb.currentDate())));



 Comments   
Comment by deathtooracle [ 10/May/11 ]

After changing the order of the Predicates in line 136 it does not throw a NullPointerException any more:
impf = cb.or(root.<Date>get(tmp).isNull(), cb.lessThan(root.<Date>get(tmp), cb.currentDate())), impf); //line 136
notice 'impf' is last in line now

Comment by Mitesh Meswani [ 10/May/11 ]

Please post the stack for NPE. That would help determine where the error is coming from

Comment by marina vatkina [ 10/May/11 ]

JPA

Comment by deathtooracle [ 11/May/11 ]

"Please post the stack for NPE. That would help determine where the error is coming from"

If i understand correctly, you wish me to post the stacktrace from the Exception. Well, it is all inside the attached file 'server.log'. But if I must here goes:

[#|2011-05-06T10:04:10.894+0200|INFO|glassfish3.1|javax.enterprise.webservices.org.glassfish.webservices.monitoring|_ThreadID=142;_ThreadName=Thread-1;|Invoking wsimport with http://localhost:8080/IdkoPersonenService/IdkoPersonen?WSDL|#]

[#|2011-05-06T10:04:10.897+0200|INFO|glassfish3.1|javax.enterprise.webservices.org.glassfish.webservices.monitoring|_ThreadID=142;_ThreadName=Thread-1;|wsimport successful|#]

[#|2011-05-06T10:04:19.589+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=28;_ThreadName=Thread-1;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-05-06T10:04:19.593+0200|INFO|glassfish3.1|org.eclipse.persistence.session.file:/usr/local/glassfish-3.1/glassfish/domains/domain1/applications/ZVD6/IdkoPeople6_jar/_ZVD6-IDKO-ejbPU|_ThreadID=28;_ThreadName=Thread-1;|EclipseLink, version: Eclipse Persistence Services - 2.2.0.v20110202-r8913|#]

[#|2011-05-06T10:04:19.611+0200|INFO|glassfish3.1|org.eclipse.persistence.session.file:/usr/local/glassfish-3.1/glassfish/domains/domain1/applications/ZVD6/IdkoPeople6_jar/_ZVD6-IDKO-ejbPU|_ThreadID=28;_ThreadName=Thread-1;|file:/usr/local/glassfish-3.1/glassfish/domains/domain1/applications/ZVD6/IdkoPeople6_jar/_ZVD6-IDKO-ejbPU login successful|#]

[#|2011-05-06T10:04:19.772+0200|SEVERE|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=140;_ThreadName=Thread-1;|
nothing is null

#]

[#|2011-05-06T10:04:19.837+0200|SEVERE|glassfish3.1|com.sun.xml.ws.server.sei.EndpointMethodHandler|_ThreadID=28;_ThreadName=Thread-1;|The log message is null.
javax.ejb.EJBException
at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5194)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5092)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4880)
at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:205)
at $Proxy334.abgelaufeneImpfungen(Unknown Source)
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 org.glassfish.webservices.InvokerImpl.invoke(InvokerImpl.java:82)
at org.glassfish.webservices.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150)
at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261)
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
at org.glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:142)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:212)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:144)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162)
at org.glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:120)
at org.glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:91)
at org.glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:200)
at org.glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:131)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1002)
at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:942)
at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:404)
at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:354)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at org.eclipse.persistence.internal.jpa.querydef.CriteriaBuilderImpl.or(CriteriaBuilderImpl.java:389)
at org.eclipse.persistence.internal.jpa.querydef.CriteriaBuilderImpl.or(CriteriaBuilderImpl.java:430)
at de.bund.bka.idkopeople.IdkoPersonen.abgelaufeneImpfungen(IdkoPersonen.java:136)
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 org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5367)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:801)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:57)
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.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:862)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:801)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
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.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:862)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:801)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:371)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5339)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5327)
at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:193)
... 59 more

#]

[#|2011-05-06T10:04:20.150+0200|WARNING|glassfish3.1|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=140;_ThreadName=Thread-1;|A system exception occurred during an invocation on EJB IdkoPersonen method public java.util.List de.bund.bka.idkopeople.IdkoPersonen.abgelaufeneImpfungen(java.util.Date)
javax.ejb.EJBException
at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5194)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5092)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4880)
at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:205)
at $Proxy334.abgelaufeneImpfungen(Unknown Source)
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 org.glassfish.webservices.InvokerImpl.invoke(InvokerImpl.java:82)
at org.glassfish.webservices.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150)
at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261)
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
at org.glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:142)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:212)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:144)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162)
at org.glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:120)
at org.glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:91)
at org.glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:200)
at org.glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:131)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1002)
at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:942)
at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:404)
at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:354)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at org.eclipse.persistence.internal.jpa.querydef.CriteriaBuilderImpl.or(CriteriaBuilderImpl.java:389)
at org.eclipse.persistence.internal.jpa.querydef.CriteriaBuilderImpl.or(CriteriaBuilderImpl.java:430)
at de.bund.bka.idkopeople.IdkoPersonen.abgelaufeneImpfungen(IdkoPersonen.java:136)
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 org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5367)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:801)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:57)
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.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:862)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:801)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
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.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:862)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:801)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:371)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5339)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5327)
at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:193)
... 59 more

#]
Comment by Mitesh Meswani [ 19/May/11 ]

EclipseLink issue https://bugs.eclipse.org/bugs/show_bug.cgi?id=346562 tracks this

Comment by mwlynch [ 14/Sep/11 ]

A summary of my workaround:

What broke for me:
...
Predicate p1;
Predicate p2;
Predicate p3;
...
Predicate disjunction = cb.disjunction();
conjunction = cb.or(disjunction,p1);
conjunction = cb.or(disjunction,p2);
conjunction = cb.or(disjunction,p3);
...

How I fixed it:
...
Predicate p1;
Predicate p2;
Predicate p3;
...
Predicate disjunction = p1;
conjunction = cb.or(disjunction,p2);
conjunction = cb.or(disjunction,p3);
...

Comment by Mitesh Meswani [ 14/Dec/11 ]

Waiting on corresponding EclipseLink bug fix. Please vote for the EclipseLink bug to get this issue fixed





[GLASSFISH-16615] HA session expires issue Created: 11/May/11  Updated: 17/Oct/11

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Shing Wai Chan Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Status Whiteboard:

3_1-next

Tags: 3_1-next, 3_1_1-scrubbed, 3_1_x-exclude

 Description   

Suppose we have a load balancer with 3 instances.
1. A section, s1, is created in instance 1 for a given app.
2. There is a network issue. instance 1 is not available in the network.
3. Subsequent requests go to instance 2.
4. The session, s1, in instance 1 is still in memory and will be expired, and then removed.
This will cause an issue.

The same issue is in HA SSO.



 Comments   
Comment by Shing Wai Chan [ 11/May/11 ]

In case of HA SSO, one also need versioning in order to solve the problem. This has been filed as issue GLASSFISH-16377 and the fixed has been checkin to trunk.

Comment by Mahesh Kannan [ 20/May/11 ]

This really requires a new feature to be implemented in shoal. Basically, it requires shoal to maintain info about which instance is the owning instance of a session. This allows shoal to ignore stale 'remove-expire" commands.

This is a new feature and hence deferring it to 3.1-next





[GLASSFISH-16616] ReadMe.UserDefinedLB needs an update for 64-bit compilation and correct gcc. This doc should perhaps be moved to GF user guides. Created: 12/May/11  Updated: 24/Jan/12

Status: Reopened
Project: glassfish
Component/s: load_balancer
Affects Version/s: 3.1.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Jothir Ganesan Assignee: kshitiz_saxena
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Solaris Sparc 10 + Apache2.2 64 bit + glassfish lb plugin 3.1.1


Issue Links:
Dependency
depends on GLASSFISH-17106 [UB]Add userdefined library informati... In Progress
Tags: 3_1_1-scrubbed, 3_1_2-exclude

 Description   

I compiled roundrobin.so file for the user-defined testsand generated the .so file with -m64 flag in gcc command and still the library could not be read.

Setup is on aroot@sf-171s-163.india.sun.com:/export/ha/64-bit/apache2.2



 Comments   
Comment by kshitiz_saxena [ 17/May/11 ]

This issue is not reproducible. I compiled roundrobin.c with below command and it works fine :
gcc -m64 -shared -fPIC -I glassfish-lbplugin/lib/install/templates roundrobin.c -o roundrobin.so

Comment by varunrupela [ 01/Jul/11 ]

Apache/LB is unable to load the user-defined policy file - roundrobin.so after it is correctly compiled with the above instructions.

The following messages appear in apache error log:
"FGRP1009: Error in loading the library /space/gf-ha/dft/controller-repository/glassfish-samples/roundrobin.so, check the library is present and has proper permissions"

******
[Fri Jul 01 15:57:35 2011] [info] LBInstance created on virtual server 10.12.171.163 ...
[Fri Jul 01 15:57:35 2011] [info] is_virtual = 1 defn_name = /export/ha/64-bit/apache2.2/conf/extra/httpd-vhosts.conf ...
[Fri Jul 01 15:57:35 2011] [warn] lb.configurator: XML_VALIDATOR_WARNING: Cookies will not be rewritten by web server. All cookie updates will be handled by application server. If you are using older version of application server, then failover will not work.
[Fri Jul 01 15:57:35 2011] [warn] lb.configurator: Preferred failover instance feature is enabled.
[Fri Jul 01 15:57:35 2011] [crit] lb.failovermanager: FGRP1009: Error in loading the library /space/gf-ha/dft/controller-repository/glassfish-samples/roundrobin.so, check the library is present and has proper permissions
[Fri Jul 01 15:57:35 2011] [warn] lb.runtime: RNTM2019: Daemon http://sf-171s-163.india.sun.com:28080 has been intialized.
[Fri Jul 01 15:57:35 2011] [warn] lb.runtime: RNTM2019: Daemon https://sf-171s-163.india.sun.com:28181 has been intialized.
[Fri Jul 01 15:57:35 2011] [warn] lb.runtime: RNTM2019: Daemon http://sf-171s-163.india.sun.com:28081 has been intialized.
[Fri Jul 01 15:57:35 2011] [warn] lb.runtime: RNTM2019: Daemon https://sf-171s-163.india.sun.com:28182 has been intialized.
[Fri Jul 01 15:57:35 2011] [warn] lb.runtime: RNTM2019: Daemon http://sf-171s-163.india.sun.com:28082 has been intialized.
[Fri Jul 01 15:57:35 2011] [warn] lb.runtime: RNTM2019: Daemon https://sf-171s-163.india.sun.com:28183 has been intialized.
[Fri Jul 01 15:57:35 2011] [warn] lb.runtime: RNTM2019: Daemon http://sf-171s-163.india.sun.com:28083 has been intialized.
[Fri Jul 01 15:57:35 2011] [warn] lb.runtime: RNTM2019: Daemon https://sf-171s-163.india.sun.com:28184 has been intialized.
[Fri Jul 01 15:57:35 2011] [notice] lb.runtime: RNTM2003:After LBDaemonManager::init()
[Fri Jul 01 15:57:35 2011] [info] This virtual server already exists in map; Hence just retrieving the pointer to LBInstance...
[Fri Jul 01 15:57:36 2011] [info] This virtual server already exists in map; Hence just retrieving the pointer to LBInstance...
[Fri Jul 01 15:57:36 2011] [error] [client 129.146.11.110] File does not exist: /export/ha/64-bit/apache2.2/htdocs/favicon.ico
[Fri Jul 01 16:03:44 2011] [info] This virtual server already exists in map; Hence just retrieving the pointer to LBInstance...
[Fri Jul 01 16:03:44 2011] [error] [client 129.146.11.110] File does not exist: /export/ha/64-bit/apache2.2/htdocs/favicon.ico
********

Comment by kshitiz_saxena [ 01/Jul/11 ]

It works with library created using given command :

gcc -m64 -shared -fPIC -I glassfish-lbplugin/lib/install/templates roundrobin.c -o roundrobin.so

OR

cc -m64 -G -xcode=pic32 -I glassfish-lbplugin/lib/install/templates roundrobin.c -o roundrobin.so

Issue was with version of gcc used. It works when compiled with following gcc :
sparc-sun-solaris2.10-gcc (GCC) 4.0.4 (gccfss)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

However it fails when compiled with following gcc :
gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

It is better to use sun studio compiler on solaris.

Docs need to be updated to reflect the same.

As of now instructions to compile of user defined library is bundled as ReadMe.UserDefinedLB along with GlassFish load-balancer plugin, making it difficult to be updated frequently. It can be probably added to GlassFish load-balancer documentation itself.

Comment by varunrupela [ 01/Jul/11 ]

Kshitiz figured out that the gcc we needed to use was sparc-sun-solaris2.10-gcc and it was available from /usr/bin/gcc. We were earlier using gcc from "/usr/sfw/bin/gcc". This issue now becomes one of updating the ReadMe for user-defined.

  • We found that the ReadMe.UserDefinedLB available under glassfish-lbplugin/lib/install/templates location also needs an update for 64 bit compilation.
Comment by varunrupela [ 01/Jul/11 ]

Updated the summary to reflect findings.

Comment by kshitiz_saxena [ 26/Jul/11 ]

Readme is actually bundled with load-balancer plugin. So to update it, a new load-balancer plugin library need to be generated. It is not possible to generate and integrate new load-balancer plugin library now.

It will be better to add this readme to documentation itself as it is easy to update and maintain it there. I will create a new documentation bug to track it.

Comment by kshitiz_saxena [ 26/Jul/11 ]

Marking this issue as being dependent on GLASSFISH-17106

Comment by Joe Di Pol [ 24/Jan/12 ]

Scrubbing from the 3.1.2 list assuming docs is fixing 17106 (which is on the 3.1.2 list)





[GLASSFISH-16623] Unknown publisher when launching ogs-3.1-windows.exe Created: 12/May/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: installation
Affects Version/s: 3.1, 4.0_b59
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: Chris Kasso Assignee: Snjezana Sevo-Zenzerovic
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows


Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

Here's what I did. Download 3.1 from:

http://www.oracle.com/technetwork/middleware/glassfish/downloads/index.html

If you double click on the file:

ogs-3.1-windows.exe

Windows will warn you that the publisher is unknown. If you take a look at the properties on the file you will see that the signature is not valid. The parent cert from Verisign also appears not to be valid.

The cert indicates it is valid to 2012 so the problem is not due to an expired cert. Beyond that I'm not sure what the problem is.

I'm seeing this on an XP system.



 Comments   
Comment by scatari [ 12/May/11 ]

Why fix this issue in 3.1.1?
At the face issue for 3.1.1 customers.

Which is the targeted build of 3.1.1 for this fix?
b10

Do regression tests exist for this issue?
No, the verification should be done through checking the UI in explorer.

Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
Manually check the signature and verify certificate details.

Comment by scatari [ 03/Jul/11 ]

Will not be addressed in 3.1.1, targeted for the next immediately release following 3.1.1.

Comment by Romain Grécourt [ 12/Dec/11 ]

I didn't have any popup about unknown publisher (i' using xp-sp3 obi-lite), but I've been able to reproduce this issue with some windows installer which were produced by openinstaller. I've reproduced the issue for the following artifacts:

  • ogs-3.1-windows.exe
  • ogs-3.1.1-windows.exe
  • glassfish-3.1.2-b05-windows.exe
  • java_ee_sdk-6u3-windows.exe

To verify that the files were correctly signed I've used signtool which is part of microsoft windows sdk. Here is the output produced for all the openinstaller's artifact:

C:\Documents and Settings\rgrecour\My Documents\installer>signtool verify /pa /v ogs-3.1-windows.exe

Verifying: ogs-3.1-windows.exe
SignTool Error: CryptCATAdminCalcHashFromFileHandle returned error: 0x00000057
        The parameter is incorrect.
Hash of file (sha1): 4629BB77009469B2B3891B01723D407DCB3DBDF3

Signing Certificate Chain:
    Issued to: Class 3 Public Primary Certification Authority
    Issued by: Class 3 Public Primary Certification Authority
    Expires:   Wed Aug 02 23:59:59 2028
    SHA1 hash: A1DB6393916F17E4185509400415C70240B0AE6B

        Issued to: VeriSign Class 3 Code Signing 2009-2 CA
        Issued by: Class 3 Public Primary Certification Authority
        Expires:   Mon May 20 23:59:59 2019
        SHA1 hash: 12D4872BC3EF019E7E0B6F132480AE29DB5B1CA3

            Issued to: Oracle America, Inc.
            Issued by: VeriSign Class 3 Code Signing 2009-2 CA
            Expires:   Sat Jul 06 23:59:59 2013
            SHA1 hash: 9E2B73433C7FF0BE9C2E546C46A3D16A6CDACF32

The signature is timestamped: Tue Oct 12 20:12:53 2010
Timestamp Verified by:
    Issued to: Thawte Timestamping CA
    Issued by: Thawte Timestamping CA
    Expires:   Thu Dec 31 23:59:59 2020
    SHA1 hash: BE36A4562FB2EE05DBB3D32323ADF445084ED656

        Issued to: VeriSign Time Stamping Services CA
        Issued by: Thawte Timestamping CA
        Expires:   Tue Dec 03 23:59:59 2013
        SHA1 hash: F46AC0C6EFBB8C6A14F55F09E2D37DF4C0DE012D

            Issued to: VeriSign Time Stamping Services Signer - G2
            Issued by: VeriSign Time Stamping Services CA
            Expires:   Thu Jun 14 23:59:59 2012
            SHA1 hash: ADA8AAA643FF7DC38DD40FA4C97AD559FF4846DE

SignTool Error: WinVerifyTrust returned error: 0x80096010
        The digital signature of the object did not verify.

Number of files successfully Verified: 0
Number of warnings: 0
Number of errors: 1

C:\Documents and Settings\rgrecour\My Documents\installer>signtool verify /pa /v ogs-3.1.1-windows.exe

Verifying: ogs-3.1.1-windows.exe
SignTool Error: CryptCATAdminCalcHashFromFileHandle returned error: 0x00000057
        The parameter is incorrect.
Hash of file (sha1): 4629BB77009469B2B3891B01723D407DCB3DBDF3

Signing Certificate Chain:
    Issued to: Class 3 Public Primary Certification Authority
    Issued by: Class 3 Public Primary Certification Authority
    Expires:   Wed Aug 02 23:59:59 2028
    SHA1 hash: A1DB6393916F17E4185509400415C70240B0AE6B

        Issued to: VeriSign Class 3 Code Signing 2009-2 CA
        Issued by: Class 3 Public Primary Certification Authority
        Expires:   Mon May 20 23:59:59 2019
        SHA1 hash: 12D4872BC3EF019E7E0B6F132480AE29DB5B1CA3

            Issued to: Oracle America, Inc.
            Issued by: VeriSign Class 3 Code Signing 2009-2 CA
            Expires:   Sat Jul 06 23:59:59 2013
            SHA1 hash: 9E2B73433C7FF0BE9C2E546C46A3D16A6CDACF32

The signature is timestamped: Tue Oct 12 20:12:53 2010
Timestamp Verified by:
    Issued to: Thawte Timestamping CA
    Issued by: Thawte Timestamping CA
    Expires:   Thu Dec 31 23:59:59 2020
    SHA1 hash: BE36A4562FB2EE05DBB3D32323ADF445084ED656

        Issued to: VeriSign Time Stamping Services CA
        Issued by: Thawte Timestamping CA
        Expires:   Tue Dec 03 23:59:59 2013
        SHA1 hash: F46AC0C6EFBB8C6A14F55F09E2D37DF4C0DE012D

            Issued to: VeriSign Time Stamping Services Signer - G2
            Issued by: VeriSign Time Stamping Services CA
            Expires:   Thu Jun 14 23:59:59 2012
            SHA1 hash: ADA8AAA643FF7DC38DD40FA4C97AD559FF4846DE

SignTool Error: WinVerifyTrust returned error: 0x80096010
        The digital signature of the object did not verify.

Number of files successfully Verified: 0
Number of warnings: 0
Number of errors: 1

C:\Documents and Settings\rgrecour\My Documents\installer>

C:\Documents and Settings\rgrecour\My Documents\installer>signtool verify /pa /v glassfish-3.1.2-b05-windows.exe

Verifying: glassfish-3.1.2-b05-windows.exe
SignTool Error: CryptCATAdminCalcHashFromFileHandle returned error: 0x00000057
        The parameter is incorrect.
Hash of file (sha1): 4629BB77009469B2B3891B01723D407DCB3DBDF3

Signing Certificate Chain:
    Issued to: Class 3 Public Primary Certification Authority
    Issued by: Class 3 Public Primary Certification Authority
    Expires:   Wed Aug 02 23:59:59 2028
    SHA1 hash: A1DB6393916F17E4185509400415C70240B0AE6B

        Issued to: VeriSign Class 3 Code Signing 2009-2 CA
        Issued by: Class 3 Public Primary Certification Authority
        Expires:   Mon May 20 23:59:59 2019
        SHA1 hash: 12D4872BC3EF019E7E0B6F132480AE29DB5B1CA3

            Issued to: Oracle America, Inc.
            Issued by: VeriSign Class 3 Code Signing 2009-2 CA
            Expires:   Sat Jul 06 23:59:59 2013
            SHA1 hash: 9E2B73433C7FF0BE9C2E546C46A3D16A6CDACF32

The signature is timestamped: Tue Oct 12 20:12:53 2010
Timestamp Verified by:
    Issued to: Thawte Timestamping CA
    Issued by: Thawte Timestamping CA
    Expires:   Thu Dec 31 23:59:59 2020
    SHA1 hash: BE36A4562FB2EE05DBB3D32323ADF445084ED656

        Issued to: VeriSign Time Stamping Services CA
        Issued by: Thawte Timestamping CA
        Expires:   Tue Dec 03 23:59:59 2013
        SHA1 hash: F46AC0C6EFBB8C6A14F55F09E2D37DF4C0DE012D

            Issued to: VeriSign Time Stamping Services Signer - G2
            Issued by: VeriSign Time Stamping Services CA
            Expires:   Thu Jun 14 23:59:59 2012
            SHA1 hash: ADA8AAA643FF7DC38DD40FA4C97AD559FF4846DE

SignTool Error: WinVerifyTrust returned error: 0x80096010
        The digital signature of the object did not verify.

Number of files successfully Verified: 0
Number of warnings: 0
Number of errors: 1


C:\Documents and Settings\rgrecour\My Documents\installer>signtool verify /pa /v java_ee_sdk-6u3-windows.exe

Verifying: java_ee_sdk-6u3-windows.exe
SignTool Error: CryptCATAdminCalcHashFromFileHandle returned error: 0x00000057
        The parameter is incorrect.
Hash of file (sha1): 4629BB77009469B2B3891B01723D407DCB3DBDF3

Signing Certificate Chain:
    Issued to: Class 3 Public Primary Certification Authority
    Issued by: Class 3 Public Primary Certification Authority
    Expires:   Wed Aug 02 23:59:59 2028
    SHA1 hash: A1DB6393916F17E4185509400415C70240B0AE6B

        Issued to: VeriSign Class 3 Code Signing 2009-2 CA
        Issued by: Class 3 Public Primary Certification Authority
        Expires:   Mon May 20 23:59:59 2019
        SHA1 hash: 12D4872BC3EF019E7E0B6F132480AE29DB5B1CA3

            Issued to: Oracle America, Inc.
            Issued by: VeriSign Class 3 Code Signing 2009-2 CA
            Expires:   Sat Jul 06 23:59:59 2013
            SHA1 hash: 9E2B73433C7FF0BE9C2E546C46A3D16A6CDACF32

The signature is timestamped: Tue Oct 12 20:12:53 2010
Timestamp Verified by:
    Issued to: Thawte Timestamping CA
    Issued by: Thawte Timestamping CA
    Expires:   Thu Dec 31 23:59:59 2020
    SHA1 hash: BE36A4562FB2EE05DBB3D32323ADF445084ED656

        Issued to: VeriSign Time Stamping Services CA
        Issued by: Thawte Timestamping CA
        Expires:   Tue Dec 03 23:59:59 2013
        SHA1 hash: F46AC0C6EFBB8C6A14F55F09E2D37DF4C0DE012D

            Issued to: VeriSign Time Stamping Services Signer - G2
            Issued by: VeriSign Time Stamping Services CA
            Expires:   Thu Jun 14 23:59:59 2012
            SHA1 hash: ADA8AAA643FF7DC38DD40FA4C97AD559FF4846DE

SignTool Error: WinVerifyTrust returned error: 0x80096010
        The digital signature of the object did not verify.

Number of files successfully Verified: 0
Number of warnings: 0
Number of errors: 1

C:\Documents and Settings\rgrecour\My Documents\installer>

By looking at the above output we can say that there is something wrong: Hash of file (sha1): 4629BB77009469B2B3891B01723D407DCB3DBDF3 is the same for every file! Other than the hash method (sha1) I don't know how this hash is computed, I tried to match this with the string obtained from "sha1sum" and fciv without any results.

Comment by Romain Grécourt [ 14/Dec/11 ]

re-assigning to Sathyan.

Comment by Romain Grécourt [ 20/Oct/12 ]

We should try to fix this for 4.0

Comment by Joe Di Pol [ 21/Mar/13 ]

Unclear to me if this is still an issue or not. Assigning to Snjezana to keep an eye on.

Comment by Snjezana Sevo-Zenzerovic [ 21/Mar/13 ]

FWIW, I know that installer startup dialog on Windows still reports "Unknown publisher". That being said, we probably don't have the luxury of tinkering with this in this release...





[GLASSFISH-16626] java.lang.ClassNotFoundException: javax.validation.groups.Default: java.net.MalformedURLException: Unknown protocol: osgi Created: 12/May/11  Updated: 08/Feb/12

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: Vetle Leinonen-Roeim Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Java Source File LettersOrDigits.java    
Tags: 3_1_1-scrubbed, 3_1_2-exclude

 Description   

When propagating a javax.validation.ConstraintViolationException from
a remote EJB to a front-end server, that is triggered from a custom
constraint validation (using a custom validation annotation), I get
the following stack trace:

Caused by: java.lang.ClassNotFoundException:
javax.validation.groups.Default: java.net.MalformedURLException:
Unknown protocol: osgi
at com.sun.corba.ee.impl.util.JDKBridge.loadClassM(JDKBridge.java:325)
at com.sun.corba.ee.impl.util.JDKBridge.loadClass(JDKBridge.java:228)
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.loadClass(Util.java:640)
at com.sun.corba.ee.impl.util.RepositoryId.getClassFromType(RepositoryId.java:628)
at com.sun.corba.ee.impl.orbutil.RepIdDelegator.getClassFromType(RepIdDelegator.java:169)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readClass(CDRInputStream_1_0.java:1439)
... 174 more

On the remote server, the stack trace is:

Caused by: javax.validation.ConstraintViolationException: validation
failed for classes [org.example.model.TextId] during update time for
groups [javax.validation.groups.Default, ]
at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:132)
at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.onPreUpdate(BeanValidationEventListener.java:79)
at org.hibernate.action.EntityUpdateAction.preUpdate(EntityUpdateAction.java:236)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:87)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:260)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:180)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:791)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.flush(EntityManagerWrapper.java:418)
...

As far as I can tell, there should be no reason it should fail to find
the javax.validation.groups.Default class, so the error seems to be
triggered by something else.

I will attached the code for the custom constraint annotation.



 Comments   
Comment by marina vatkina [ 13/May/11 ]

This seems like an orb error

Comment by Ken Cavanaugh [ 18/May/11 ]

There are some problems with the handling of the special
osgi:// URLs the ORB uses to handle passing value types between
OSGi containers. However, this does not work if there is no
OSGi container on one end or the other of the remote call.
This needs to be fixed.

No time to fix in 3.1.1.





[GLASSFISH-16661] Glassfish v3.1 b43 build does not respect transactional service context in the corba call that is sent from Geronimo corba server Created: 16/May/11  Updated: 23/Dec/11

Status: In Progress
Project: glassfish
Component/s: orb
Affects Version/s: 3.1_b43
Fix Version/s: None

Type: Bug Priority: Major
Reporter: forrestxm Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ubuntu 10.04
Oracle JDK 1.6.0_23


Tags: 3_1_1-scrubbed, 3_1_2-exclude, corba, interoperability, transaction

 Description   

Steps to reproduce this error:
In a CTS environment,
1. Deploy the txbean_ejbEAR.ear to glassfish v3.1 b43
2. Deploy the txbean_webEAR.ear to geronimo 3.0
3. Open a browser to access url http://localhost:8080/txbean_web/TxBeanServlet

You will see the "testresult=false" that means glassfish as the corba server side does not see the global transaction set by corba client side by Geronimo, allow the corba call on a method with transaction attribute is "never".

However, glassfish v2 can handle the same corba call from Geronimo 3.0, throws the expected RemoteException to Geronimo side.

BTW, Geronimo 3.0 only supports custom stream format version 1 for RMI-IIOP stream.



 Comments   
Comment by Ken Cavanaugh [ 18/May/11 ]

Transactions problem: assigning to Marina.

Comment by marina vatkina [ 01/Jun/11 ]

To be able to look at any details, please provide:

  • the ear file (and the sources if possible);
  • the instructions on the geronimo setup and deployment;
  • any extra steps on GF side (if any).
Comment by marina vatkina [ 13/Jul/11 ]

An update:

It seems like GF TM doesn't recognize an imported transaction from Geronimo.

Debugging the test shows that the context is null on my end (InterceptorImpl.receive_request is called, not
InterceptorImpl.receive_request_service_contexts by ORB). On the other hand, GF client-to-server tx propagation works correctly, and this is what I'm comparing with.

It's not clear (yet) where the actual error is...

Comment by marina vatkina [ 16/Jul/11 ]

Harshad is looking at the ORB behavior. So reassigning to him for now.

Comment by Harshad Vilekar [ 14/Dec/11 ]

Fix is committed to 3.1.2 (revision 50410) and trunk (revision 50438).
WebLogic - GF Tx interop tests PASS with the fix. However, Geronimo - GF test is still failing.

Comment by Harshad Vilekar [ 15/Dec/11 ]

Geronimo team is reviewing the fix. Awaiting confirmation.

Comment by forrestxm [ 15/Dec/11 ]

Can we have the fixed jar(s) directly for GF 3.1_b43 build? So that I can apply it to the existing GF 3.1_b43 installation to validate the fix.

Thanks!

Forrest

Comment by Harshad Vilekar [ 15/Dec/11 ]

It'll be best to test using full latest promoted GF 3.1.2 build.

There are various other changes in the jars since 3.1_b43.
Update jar is: glassfish3/glassfish/modules/orb-iiop.jar.

Comment by forrestxm [ 15/Dec/11 ]

Tried glassfish-3.1.2-b14.zip download from http://dlc.sun.com.edgesuite.net/glassfish/3.1.2/promoted/ with geronimo 3.0-beta-1 release, still the same exception happen, no expected remote exception thrown from glassfish to geronimo.

Any more comments?

Forrest

Comment by marina vatkina [ 16/Dec/11 ]

Thank you for testing. We are still looking at the possible cause...





[GLASSFISH-16699] (JDK) NLS: Crashed when tried to install the bundle in ko locale Created: 23/May/11  Updated: 26/Apr/12

Status: Open
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.1_b05
Fix Version/s: None

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

OS: Solaris 11 express x86
Bundle: java_ee_sdk-6u3-web-b05-jdk-solaris-x86-ml.sh
Locale: ko


Attachments: JPEG File crash_ko.jpg     Text File hs_err_pid1356.log    
Tags: 3_1-next_release-note-added, 3_1-next_release-notes, 3_1_1-scrubbed, 3_1_2-release-note-added, 3_1_2-release-notes, glassfish, installer

 Description   

Issue: The program crashed when tried to install the bundle "java_ee_sdk-6u3-web-b05-jdk-solaris-x86-ml.sh" in ko locale

To reproduce:
1. Run ./java_ee_sdk-6u3-web-b05-jdk-solaris-x86-ml.sh with unset JAVA_HOME
System says:
Could not locate a suitable jar utility.
Please ensure that you have Java 6 or newer installed on your system
and accessible in your PATH or by setting JAVA_HOME
2. Run export JAVA_HOME=Java_Install_Home
3. Run ./java_ee_sdk-6u3-web-b05-jdk-solaris-x86-ml.sh
System will pop ups install GUI, but it crashed when I click on Next button.
Please find attached screen shot for your reference.

I also tried in en and zh_CN locales, and this issue was not reproducible in those locales.



 Comments   
Comment by gmurr [ 23/May/11 ]

This seem to be x86/locale specific issue. I tried java_ee_sdk-6u3-web-b05-jdk-linux-x64-ml.sh in ko_KR.UTF8. I did not see any crash.
Sunny, could you please try the same installer in other locales, also in ko_KR.euc

Comment by sunny-gui [ 23/May/11 ]

I tried in another 7 locales, and this issue is reproducible in zh_TW.UTF-8.

Comment by scatari [ 24/May/11 ]

Assigning to Snjezana for further investigation.

Comment by sunny-gui [ 24/May/11 ]

I tried with the bundle "java_ee_sdk-6u3-b05-jdk7-solaris-x86-ml.sh" in zh_CN.UTF-8, zh_TW.UTF-8, ko_KR.UTF-8 and en_US.UTF-8 in the same environment, this issue is reproducible in ko and zh_TW locales.

Comment by Snjezana Sevo-Zenzerovic [ 01/Jun/11 ]

Given that this is actually JDK crash, could you try pointing JAVA_HOME to the latest JDK version (JDK 6u26) and see if the problem persists?

Comment by Snjezana Sevo-Zenzerovic [ 01/Jun/11 ]

And could you please attach JDK error report file?

Comment by sunny-gui [ 01/Jun/11 ]

I installed the jdk-6u26-fcs-bin-b03 bundle which downloaded from http://javaweb.us.oracle.com/java/re/jdk/1.6.0_26/latest/bundles/solaris-i586/.

This issue is still reproducible. Attached the JDK error report for your reference.

Comment by Snjezana Sevo-Zenzerovic [ 13/Jun/11 ]

I checked some similar JDK bug reports and it looks like this may be simply OS patch level issue. I'll try to find out what is the minimal patch/update level that is supposed to resolve this.

Comment by Snjezana Sevo-Zenzerovic [ 27/Jun/11 ]

This issue will have to be release noted in 3.1.1 release since it has to be addressed either in JDK or (more likely) in Solaris 11 patch.

Potential workarounds are:

  • Open Source Edition and Oracle GlassFish users could install in affected OS/locale combinations using zip distribution or temporarily switch to unaffected locale.
  • SDK users could temporarily switch to alternative locale or install SDK content using Update Center (SDK distribution exposure on this particular platform is not significant).
Comment by Rebecca Parks [ 07/Jul/11 ]

Added to the 3.1.1 Release Notes:

(JDK) NLS: Crashed when tried to install the bundle in ko locale (16699)

Description

Installation of the Solaris x86 SDK bundle fails in the ko and zh_TW locales.

Workaround

GlassFish Server users can install the ZIP distribution or temporarily switch to an unaffected locale. SDK users can install using the Update Center or temporarily switch to an unaffected locale.

Comment by scatari [ 08/Dec/11 ]

Please continue to document this in 3.1.2 release notes as the issue cannot be resolved in GlassFish code base.

Comment by Snjezana Sevo-Zenzerovic [ 14/Dec/11 ]

RN issue, reassigning to docs team.

Comment by Rebecca Parks [ 24/Jan/12 ]

All 3.1.1 Release Notes issues are automatically carried over to 3.1.2 unless they are fixed in 3.1.2. There was no need to flag this.

Comment by Rebecca Parks [ 31/Jan/12 ]

This seems to be related to issues 16304 and 16700.





[GLASSFISH-16709] install-node in Oracle GlassFish Server complains about unknown backup-configs elements in domain.xml Created: 23/May/11  Updated: 01/Nov/11

Status: In Progress
Project: glassfish
Component/s: admin
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Joe Di Pol Assignee: Chris Kasso
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by GLASSFISH-17189 Parser Dumping a LOT of Noise in inst... Resolved
Tags: 3_1_2-exclude

 Description   

When I ran install-node from the Oracle GlassFish Server download it complained with the following:

$ ./asadmin install-node --installdir /var/tmp/glassfish3 localhost
Ignoring unrecognized element schedules at Line number = 31
Column number = 18
System Id = file:/Users/demo/glassfish3/glassfish/domains/domain1/config/domain.xml
Public Id = null
Location Uri= file:/Users/demo/glassfish3/glassfish/domains/domain1/config/domain.xml
CharacterOffset = 1793

Ignoring unrecognized element backup-configs at Line number = 36
Column number = 23
System Id = file:/Users/demo/glassfish3/glassfish/domains/domain1/config/domain.xml
Public Id = null
Location Uri= file:/Users/demo/glassfish3/glassfish/domains/domain1/config/domain.xml
CharacterOffset = 2002

It seemed to function correctly. It looks like install-node does not like the das backup elements that only appear in the OGS domain.xml.



 Comments   
Comment by Yamini K B [ 01/Jun/11 ]

install-node parses static domain.xml for reading in node entries. The issue seems to be with parsing the domain.xml, parsing succeeds but with some messages for undefined elements.

To reproduce the issue, add <schedules/> under <config> element and run install-node or even verify-domain-xml

Re-assigning to Jerome since its a ConfigParser issue.

Comment by dochez [ 27/Jun/11 ]

It seems to me the issue as a packaging issue where modules (containing the config XML binding elements) are missing.

Comment by Joe Di Pol [ 06/Jul/11 ]

This can be reproduced using verify-domain-xml. Since this doesn't appear to be specific to install-node I'm assigning to Chris. Note that the warning won't appear until after the domain has been started at least once. I'm dropping the priority since everything does function correctly despite the warnings.

Here are the steps to reproduce:

Install ogs-3.1.zip. Note that the first verify-domain-xml does not report the warnings. But if you start the domain and then run verify-domain-xml you get the warnings.

$ asadmin verify-domain-xml
All tests passed; domain.xml is valid.
Command verify-domain-xml executed successfully.

$ asadmin start-domain
Waiting for domain1 to start ...
Successfully started the domain : domain1
domain Location: /export/tmp/glassfish3/glassfish/domains/domain1
Log File: /export/tmp/glassfish3/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

$ asadmin verify-domain-xml
Ignoring unrecognized element schedules at Line number = 31
Column number = 18
System Id = file:/export/tmp/glassfish3/glassfish/domains/domain1/config/domain.xml
Public Id = null
Location Uri= file:/export/tmp/glassfish3/glassfish/domains/domain1/config/domain.xml
CharacterOffset = 1793

Ignoring unrecognized element backup-configs at Line number = 36
Column number = 23
System Id = file:/export/tmp/glassfish3/glassfish/domains/domain1/config/domain.xml
Public Id = null
Location Uri= file:/export/tmp/glassfish3/glassfish/domains/domain1/config/domain.xml
CharacterOffset = 2002

Comment by Byron Nevins [ 28/Sep/11 ]

Output is more scary now. This is what you see with the logging turned up:
(note bad grammar in the error message as well)

d:\gf\main\nucleus\cluster>cli install-node --dcom --sshuser wnevins -W d:/pw --archive d:/temp/gf.zip wnevins-lnr
Listening for transport dt_socket at address: 1234
CLASSPATH= D:\glassfish3\glassfish\modules\admin-cli.jar
Commands: [install-node, --dcom, --sshuser, wnevins, -W, d:/pw, --archive, d:/temp/gf.zip, wnevins-lnr]
asadmin extension directory: D:\glassfish3\glassfish\lib\asadmin
Prepare
Process program options
Parsing program options
Update program options
Passwords were read from password file: D:/pw
Parse command options
params:

{dcom: [true] sshuser: [wnevins] archive: [d:/temp/gf.zip] }

operands: [wnevins-lnr]
Prevalidate command options
Inject command options
Validate command options
Domain XML file = D:\glassfish3\glassfish\domains\domain1\config\domain.xml
org.jvnet.hk2.component.ComponentException: ConfigInjector for org.glassfish.grizzly.config.dom.NetworkConfig is not found, is it annotated with @Conf
igured
at org.jvnet.hk2.config.DomDocument.buildModel(DomDocument.java:122)
at org.jvnet.hk2.config.ConfigModel.parseValue(ConfigModel.java:920)
at org.jvnet.hk2.config.ConfigModel.<init>(ConfigModel.java:836)
at org.jvnet.hk2.config.DomDocument.buildModel(DomDocument.java:105)
at org.jvnet.hk2.config.DomDocument.buildModel(DomDocument.java:123)
at org.jvnet.hk2.config.ConfigModel.parseValue(ConfigModel.java:920)
at org.jvnet.hk2.config.ConfigModel.<init>(ConfigModel.java:836)
at org.jvnet.hk2.config.DomDocument.buildModel(DomDocument.java:105)
at org.jvnet.hk2.config.DomDocument.buildModel(DomDocument.java:123)
at org.jvnet.hk2.config.ConfigModel.parseValue(ConfigModel.java:920)
at org.jvnet.hk2.config.ConfigModel.<init>(ConfigModel.java:836)
at org.jvnet.hk2.config.DomDocument.buildModel(DomDocument.java:105)
at org.jvnet.hk2.config.DomDocument.getModelByElementName(DomDocument.java:138)
at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:141)
at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:98)
at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:115)
at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:110)
at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:106)
at com.sun.enterprise.admin.cli.cluster.NativeRemoteCommandsBase.checkIfNodeExistsForHost(NativeRemoteCommandsBase.java:311)
at com.sun.enterprise.admin.cli.cluster.InstallNodeCommand.validate(InstallNodeCommand.java:113)
at com.sun.enterprise.admin.cli.CLICommand.execute(CLICommand.java:254)
at com.sun.enterprise.admin.cli.AsadminMain.executeCommand(AsadminMain.java:299)
at com.sun.enterprise.admin.cli.AsadminMain.main(AsadminMain.java:238)
asadmin --host localhost --port 4848 --passwordfile D:/pw --interactive=true --echo=false --terse=true install-node --archive d:/temp/gf.zip --install
dir $

{com.sun.aas.productRoot}

--create=false --save=false --force=false --dcom=true --sshuser wnevins --sshport 22 wnevins-lnr
Execute command
Found D:\temp\gf.zip
com.sun.enterprise.universal.process.WindowsException: Can not create directory - it already exists: smb://10.28.51.117/D$/glassfish3/
Command install-node failed.
Listening for transport dt_socket at address: 1234

d:\gf\main\nucleus\cluster>lnrc

Comment by Chris Kasso [ 01/Nov/11 ]

It appears this problem is occurring because the classpath of asadmin (specifically admin-cli.jar) does not contain the value add jar files. The install-node and verify-domain-xml commands are both local and thus do not share the CP of the server. When they attempt to parse the domain.xml they locate elements for which no class is available.

One solution is to build OGS such that admin-cli.jar contains das-backup.jar in its CP.

A more generic solution is needed though. A value-add developer should be able to add new config via the ConfigExtension interface and drop their value-add modules into the modules directory without the need to modify the CP of asadmin in the way that is currently required. The current approach defeats the value of the ConfigExtension interface.





[GLASSFISH-16737] ClassCopierOrdinaryImpl call readResolve but It hasn't replace the original instance in oldToNew map. Created: 25/May/11  Updated: 08/Feb/12

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: v2.1.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: chunlinyao Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 10.04 (i386, Version: 2.6.32-31-generic-pae)
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Server VM (build 19.1-b02, mixed mode)
Sun GlassFish Enterprise Server v2.1.1 ((v2.1 Patch06)(9.1_02 Patch12)) (build b31g-fcs)


Tags: 3_1_1, 3_1_1-exclude, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

I found these code from ClassCopierBase.java

/** Make the actual copy of source, using oldToNew to preserve aliasing.

  • This first checks to see whether source has been previously copied.
  • If so, the value obtained from oldToNew is returned. Otherwise,
  • <ol>
  • <li>createCopy( source ) is called to create a new copy of source.
  • <li>The new copy is placed in oldToNew with source as its key.
  • <li>doCopy is called to complete the copy.
  • <ol>
  • <p>This split into two phases isolates all subclasses from the need to
  • update oldToNew. It accommodates simple cases (arrays of primitives
  • for example) that only need to define createCopy, as well as more complex
  • case (general objects) that must first create the copy, update oldToNew,
  • and then do the copy, as otherwise self-references would cause
  • infinite recursion.
    */
    public final Object copy( Map oldToNew,
    Object source ) throws ReflectiveCopyException { return copy( oldToNew, source, false ) ; }

public final Object copy( Map oldToNew,
Object source, boolean debug ) throws ReflectiveCopyException
{
Object result = oldToNew.get( source ) ;
if (result == null)

{ result = createCopy( source, debug ) ; oldToNew.put( source, result ) ; result = doCopy( oldToNew, source, result, debug ) ; }

return result ;
}

The doCopy method may return another instance other than the one in arguments.
ClassCopierOrdinaryImpl#doCopy will call readResolve method and return the result.
Details of readResolve method can be found at
http://download.oracle.com/javase/1.3/docs/guide/serialization/spec/input.doc6.html

But neither ClassCopierOrdinaryImpl nor ClassCopierBase put the instance returned by
readResolve method to oldToNew map, If the source have two field point to same object.
If the Class of field have a readResolve method return other instance.After copy the
two field have different object,maybe they are not equals.

If I have a class Foo and Bar.
final class Foo {
Bar old;
Bar new;
}

final class Bar{
private final static Bar instance = new Bar();
private Bar(){}

public static Bar getInstance()

{ return instance; }
private Object readResolve(){ return instance; }

}

main() {
Foo foo = new Foo();
foo.old = Bar.getInstance();
foo.new = Bar.getInstance();
foo.old == foo.new //true
...After copy
copiedfoo.new == copiedfoo.old //false
}






[GLASSFISH-16782] status not available for http load balancers Created: 02/Jun/11  Updated: 21/Oct/11

Status: Open
Project: glassfish
Component/s: load_balancer
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: srinik76 Assignee: kshitiz_saxena
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
blocks GLASSFISH-16763 Porting Load Balancer Console Pages f... Closed
Tags: 3_1-next, 3_1_, 3_1_1-exclude, 3_1_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

In v2.1.1, while listing http load balancers table contains data (name,target,status)

status is found with the following code

LoadBalancer lb = AMXUtil.getDomainRoot().getLoadBalancerMap().get(key);
if( lb != null)

{ status = GuiUtil.getMessage(lb.isApplyChangeRequired()? "loadBalancer.needApply" : "loadBalancer.upToDate"); }

In v3, to find status what is the call for lb.isApplyChangeRequired(). If back end call is there, we need to create rest api conversion for this.



 Comments   
Comment by srinik76 [ 06/Jun/11 ]

Fix required for 3.1.1

Comment by kshitiz_saxena [ 07/Jun/11 ]

This issue requires some support implementation to detect changes in the load-balancer xml. This implementation must detect changes to cluster, instance, application, loadbalancer config etc. There is significant amount of work involved to achieve it, and cannot be fixed within timeline for 3.1.1. This issue will be taken up post 3.1.1.

In GUI we can remove column showing apply-changes status. It is already documented that auto-detection of load-balancer xml does not exist in 3.1 and will continue in 3.1.1 as well.





[GLASSFISH-16811] JMS - connection refused on 7676 when domain uses 6767 Created: 06/Jun/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: jms
Affects Version/s: None
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: amyk Assignee: David Zhao
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to GLASSFISH-20606 create-domain subcommand doesn't writ... Open
Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

The following is reported from admin@glassfish.java.net
http://java.net/projects/glassfish/lists/admin/archive/2011-06/message/9

--------------------------------
Hi everyone,

We have an application (J2EE) which is JMS based. In order to isolate it from other applications - we always set up a new domain with following port configuration:

ADMIN_PORT=4949

JMX_PORT=6868

JMS_PORT=6767

HTTP_PORT=8585

HTTPS_PORT=1818

ORB_PORT=7300

ORBS_PORT=8302

ORBM_PORT=9302

It turns out that sometimes I see JMS component trying to connect on JMS default port (7676) instead of configured one (6767):

[#|2011-05-23T11:48:29.917-0300|INFO|sun-appserver2.1|javax.resourceadapter.mqjmsra.lifecycle|_ThreadID=10;_ThreadName=main;|MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting...|#]
[#|2011-05-23T11:48:29.964-0300|INFO|sun-appserver2.1|javax.resourceadapter.mqjmsra.lifecycle|_ThreadID=10;_ThreadName=main;|MQJMSRA_LB1101: Looking for Broker Running at:localhost:6767|#]

[#|2011-05-23T11:49:44.529-0300|WARNING|sun-appserver2.1|javax.jms|_ThreadID=23;_ThreadName=p: thread-pool-1; w: 4;_RequestID=138cb0fe-ad3f-42c1-a11f-88d16c111043;|[C4003]: Error occurred on connection creation [localhost:7676]. - cause: java.net.ConnectException: Connection refused: connect|#]
[#|2011-05-23T11:49:50.576-0300|WARNING|sun-appserver2.1|javax.jms|_ThreadID=23;_ThreadName=p: thread-pool-1; w: 4;_RequestID=138cb0fe-ad3f-42c1-a11f-88d16c111043;|[C4003]: Error occurred on connection creation [localhost:7676]. - cause: java.net.ConnectException: Connection refused: connect|#]
[#|2011-05-23T11:49:56.482-0300|WARNING|sun-appserver2.1|javax.jms|_ThreadID=23;_ThreadName=p: thread-pool-1; w: 4;_RequestID=138cb0fe-ad3f-42c1-a11f-88d16c111043;|[C4003]: Error occurred on connection creation [localhost:7676]. - cause: java.net.ConnectException: Connection refused: connect|#]

Sometimes there are many messages like that in a row (Log file is attached).

I´m wondering if this something internal from Glassfish or something that application does - like a producer which is being initialized with wrong attibuttes.
Even within this error appearing our application communicate with other part.

Anyone already had similar situation?
Thanks in advance,

Márcio Geovani Jasinski
Blumenau, Santa Catarina
Fone: +55 47 9653 4899



 Comments   
Comment by amyk [ 14/Jun/11 ]

From Márcio Geovani Jasinski:

"Until now this seems to have no impact on JMS communication. We have another issue which is openmq shutdown. But I don't think both issues are related. Anyway, this is the discussion link just in case you would like to read and consider whether it is might be related:
http://www.java.net/forum/topic/glassfish/glassfish/openmq-unexpected-shutdown"

Comment by scatari [ 25/Jun/11 ]

Marking as to be considered for next release as according to the submitted report the functionality is not lost.

Comment by Satish Kumar [ 18/Nov/11 ]

It is difficult to diagnose what exactly is happening here without looking at the domain.xml. Please ensure that the jms-service entry is correct for server-config and should be as follows:
<jms-service default-jms-host="default_JMS_host" type="EMBEDDED">
<jms-host host="localhost" port="$

{JMS_PROVIDER_PORT}

" name="default_JMS_host"></jms-host>
</jms-service>

The only time it will try and connect to 7676 is if the jms-host.port is not specified. then it defaults to 7676.

Comment by David Zhao [ 06/Jun/13 ]

I cannot reproduce it with glassfish4 for the defect which was reported against a pretty old version. But I do see that create-domain subcommand doesn't deal with jms.port correctly, so default jms port 7676 could be used for a new domain with different jms.port property. Issue GLASSFISH-20606 was filed for that.





[GLASSFISH-16825] If It is Impossible to Transform Classes -- Disable Monitoring Created: 08/Jun/11  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: monitoring
Affects Version/s: 3.1
Fix Version/s: not determined

Type: Bug Priority: Major
Reporter: Byron Nevins Assignee: Byron Nevins
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-next, 3_1_1-scrubbed, 3_1_x-exclude

 Description   

Very early in the process of booting up a GF Server we should check and see if it is possible to do bytecode transformation of classes. If NOT then we should :

1) if monitoring is enabled, log a SEVERE message about the problem and then disable monitoring – but just for that run. Don't persist it in domain.xml

2) if monitoring is disabled – then do nothing

In either case if the user runs "enable-monitoring" we should return a strongly worded error.



 Comments   
Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-16901] tcp-no-delay attribute in Http is not working Created: 23/Jun/11  Updated: 24/Apr/14

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: None
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: Shing Wai Chan Assignee: Shing Wai Chan
Resolution: Unresolved Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Sub-Tasks:
Key
Summary
Type
Status
Assignee
GLASSFISH-16902 [UB]Need to document that tcp-no-dela... Sub-task Resolved Rebecca Parks  
Tags: 3_1_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

The tcp-no-delay attribute in Http is not processed.
Instead the tcpNoDelay property in http-service is processed.
Note that the tcpNoDelay property is not documented.






[GLASSFISH-16916] Unable to restart embedded GlassFish instance once the remoteejb is deployed. Created: 27/Jun/11  Updated: 02/Dec/11

Status: Open
Project: glassfish
Component/s: embedded
Affects Version/s: 3.1.1, 4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Bhavanishankar Assignee: sakshi.jain
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

any


Attachments: Text File exception.txt     Java Source File Test.java     Java Source File Test2.java    
Tags: 3_1-next, 3_1-next_release-note-added, 3_1-next_release-notes, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

I have a program which embeds GlassFish like this:

        BootstrapProperties bootstrapProperties = new BootstrapProperties();
        bootstrapProperties.setInstallRoot(System.getenv("S1AS_HOME"));
        GlassFishRuntime glassFishRuntime = GlassFishRuntime.bootstrap(bootstrapProperties);

        GlassFishProperties glassFishProperties = new GlassFishProperties();
        glassFishProperties.setInstanceRoot(System.getenv("S1AS_HOME") + "/domains/domain1");
        GlassFish glassfish = glassFishRuntime.newGlassFish(glassFishProperties);

        glassfish.start();
        String appName = glassfish.getDeployer().deploy(new File("remoteejb.jar"));
        System.out.println("GlassFish started [ " + glassfish + "]");

        glassfish.getDeployer().undeploy(appName);
        glassfish.stop();
        System.out.println("GlassFish stopped");

        glassfish.start();
        appName = glassfish.getDeployer().deploy(new File("remoteejb.jar"));
        System.out.println("GlassFish started [ " + glassfish + "]");

        glassfish.getDeployer().undeploy(appName);
        glassfish.dispose();
        System.out.println("GlassFish disposed");

The above code starts glassfish embedded, deploys a remoteejb application, undeploys the application, stops the server and tries to restart.

But the restart fails with exception in ORB and EJB container, as attached in the exception.txt

To reproduce:

1. Install latest 3.1.1 GlassFish, set S1AS_HOME to this installation.
2. Download remoteejb.jar from GLASSFISH-16546 issue and keep it under /tmp/
3. Download Test.java attachment of this issue (has the same code as I shown above) and keep it under /tmp/
4. Compile and run the test program:

javac -cp $S1AS_HOME/lib/embedded/glassfish-embedded-static-shell.jar Test.java
java -cp $S1AS_HOME/lib/embedded/glassfish-embedded-static-shell.jar:. Test


 Comments   
Comment by Harshad Vilekar [ 30/Jun/11 ]

We are currently reviewing this issue. Restart is not supported in the current ORB implementation. The code doesn't cleanly handle the operation sequence of destroy and then reinitialize. It is going to take us some time for further investigation.

Comment by Harshad Vilekar [ 05/Jul/11 ]

There are issues with cleanup after orb destroy operation. After destroying the old ORB, and creating the new ORB instance, references to older ORB are still lingering around, resulting in the reported exception. For example: com.sun.enterprise.iiop.security.SecIORInterceptor is still holding reference to the old orb. This is going to need more analysis.

As a workaround - If we create a complete new reference to glassFish, then the ORB restart exception is not seen at all. Please see the attached Test2.java.

Note: The test still throws an error: "Exception while loading the app : EJB Timer Service is not available.". That a different issue, not related to orb.

Comment by Bhavanishankar [ 06/Jul/11 ]

Further to the EJB timer issue you have mentioned, there is one more error from EJB container

 "java.lang.RuntimeException: EJB Container initialization error" 

caused due to

 java.lang.RuntimeException: Error while binding JNDI name org.glassfish.tests.embedded.ejb.remoteejb.RemoteEJBInf__3_x_Internal_RemoteBusinessHome__ for EJB : RemoteEJB 

This happens if we stop the first instance without undeploying, like this:


....
        //glassfish.getDeployer().undeploy(appName);
        glassfish.stop();

        glassfish = glassFishRuntime.newGlassFish(glassFishProperties);
        glassfish.start();
        appName = glassfish.getDeployer().deploy(new File("remoteejb.jar"));
...

Comment by Harshad Vilekar [ 08/Jul/11 ]

In the attached test case (Test2.java), we replace stop() by dispose(), and then create a new instance of glassfish. Additional cleanup done by these steps seem to help, and no ORB exception is seen. Changing the category to embedded - Please evaluate the feasibility of implementing the generic cleanup in embedded mode restart sequence.

Related EJB timer issue is tracked in - GLASSFISH-16230. That is not going to be addressed in 3.1.1, adding scrubbed tag to this issue also.

Comment by Bhavanishankar [ 01/Dec/11 ]

assigning.





[GLASSFISH-16932] Adding and removing virtual server for an application does not take effect Created: 01/Jul/11  Updated: 12/Dec/12

Status: Open
Project: glassfish
Component/s: deployment
Affects Version/s: 3.1.1_b09
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: lidiam Assignee: Hong Zhang
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

FF5, WinXP, ogs-3.1.1-b10-06_28_2011.zip


Attachments: File domain.xml.after.vs.remove     File domain.xml.vs.added     File hello.war    
Tags: 3_1_1-scrubbed, 3_1_x-exclude

 Description   

Adding or removing virtual servers to an already deployed application does not seem to take effect: after adding a virtual server application cannot be accessed. Once it's made accessible, after removing a virtual server from the application one can still access it on the virtual server listener port. Steps to reproduce follow.

1. Create a cluster with one instance, e.g. cl with clin.
2. Start cluster.
3. Deploy an application, e.g. hello.war, to DAS and cluster.
4. Go to cl-config, Virtual Servers and create a new virtual server: enter virtual server name only, e.g. clvs.
5. In cl-config create a Network Listener: type name, e.g. http-listener-clvs, select Create Protocol (it should be automatically populated), select clvs for Default Virtual Server, type port, e.g. 85 and address as 0.0.0.0 and select http-thread-pool.
6. At this point you should be able to access the new virtual server on http://<machine name>:85.
7. Go to Applications and select previously deployed hello.war. Click on Target tab, Manage Virtual Servers link for the cluster target, cl.
8. Add virtual server, clvs, to Selected Targets, click Save.
9. At this point the expectation is that the hello.war application should be available under http://<machine name>:85/hello but the url brings 404 error. The domain.xml file contains the virtual server in the application-ref:

<clusters>
<cluster gms-multicast-port="4932" gms-bind-interface-address="$

{GMS-BIND-IN TERFACE-ADDRESS-cl}" name="cl" gms-multicast-address="228.9.107.160" config-ref=
"cl-config">
<application-ref ref="hello" virtual-servers="server,clvs"></application-r
ef>

10. One way to force the application to work on the virtual server is to make it a Default Module: go to cl-config, clvs virtual server and select hello under Default Web Module. Save.
11. Now we can access the app at http://<machine name>:85/hello.
12. Go to the application targets, Manage Virtual Servers again and remove clvs from the Selected Targets, save.
13. The reference is removed from:

<clusters>
<cluster gms-multicast-port="4932" gms-bind-interface-address="${GMS-BIND-INTERFACE-ADDRESS-cl}

" name="cl" gms-multicast-address="228.9.107.160" config-ref=
"cl-config">
<application-ref ref="hello" virtual-servers="server"></application-ref>

but not from the clustered instance:

<servers>
<server name="clin" node-ref="localhost-domain1" config-ref="cl-config">
<application-ref ref="hello" virtual-servers="server,clvs"></application-ref>

I'm attaching domain.xml at this point. One can still access the application via http://<machine name>:85/hello.



 Comments   
Comment by lidiam [ 01/Jul/11 ]

Attaching domain.xml after the virtual server is added as target to the application: cluster app reference is updated but clustered instance is not.

Comment by Anissa Lam [ 01/Jul/11 ]

I believe console is doing the right thing and domain.xml reflects what user done correctly.
Transferring to web container for evaluation.
Please reassign if needed.

I changed the affected version to b09 since b10 is not out yet.

Comment by Anissa Lam [ 01/Jul/11 ]

I can reproduce this following the same steps.
To summarize the bug, adding a VS to a cluster doesn't propagate the VS info to the cluster's instance.

I see that when adding the VS to the cluster, the application-ref of the cluster is updated correctly to include the newly added VS.

<cluster gms-multicast-port="26825" gms-bind-interface-address="${GMS-BIND-INTERFACE-ADDRESS-ABC-TEST}" name="ABC-TEST" gms-multicast-address="228.9.5.2" config-ref="ABC-TEST-config">
      <application-ref ref="hello" virtual-servers="server,TESTvs"></application-ref>
      <server-ref ref="TEST-1"></server-ref>
      <property name="GMS_LISTENER_PORT" value="${GMS_LISTENER_PORT-ABC-TEST}"></property>
    </cluster>

however, the instance itself doesn't have the VS added.

<server name="TEST-1" node-ref="localhost-domain1" config-ref="ABC-TEST-config">
      <application-ref ref="hello" virtual-servers="server"></application-ref>
    </server>

I believe whoever is listening to the addition of VS to application-ref of a cluster, should propagate this to ALL its instance. The target is the cluster for user to issue commands, not each of the instance. CLI user will have the same problem when using dotted name to set the VS of the cluster's application-ref.

I am not sure who should be responsible to this part of the code, whether it is admin or deployment.

Comment by Shing Wai Chan [ 01/Jul/11 ]

When I run
asadmin set servers.server.clin.application-ref.hello.virtual-servers=server,clvs

it works. This confirms that the observation above.

Comment by Hong Zhang [ 05/Jul/11 ]

Will check with Tom to see if there is anything at admin level which handles this kind of cluster/instance config update.
Anissa: I vaguely remembered in v2 we had similar issue, and console sends explict config update request for each cluster instance as well as the overall cluster? Maybe we need to do something similar here?

Comment by Anissa Lam [ 06/Jul/11 ]

Summary of the issue: If an application is deployed to a cluster, then adding newly created Virtual Servers to this target will not be reflected
in the <application-ref> of the cluster's instance.

Workaround: Remove the cluster target, and then add this cluster target back.

Maybe there should be a command similar to create-application-ref.
create-application-ref takes in a cluster as target, and propagating the info to all the instance of the cluster (ie, create the application-ref),
this new command should also take in a cluster as target, and propagate the VS info to all the <application-ref> of the instance of this cluster.

relying on user to call the 'set' command to set the VS of the <application-ref> of the cluster, and then run the set command again on all the instances of the cluster
so that the cluster and instances <application-ref> reflects the same VS attribute is very error-prone.

Comment by Hong Zhang [ 18/Oct/11 ]

We will look at the new command in the trunk.

Comment by Hong Zhang [ 12/Dec/12 ]

Scrubbing issues for GlassFish 4.0.





[GLASSFISH-16989] Glassfish RI is not conforming to the Corba 2.3.1 specification. Created: 07/Jul/11  Updated: 08/Feb/12

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: lancea Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-exclude

 Description   

Glassfish V3 is not conforming to the Corba 2.3.1 specification. This did not happen with Glassfish v2.x

From the GIOP stream (see the challenge text), we can see the GIOP stream version is 1.2, and this is a custom marshal of RMI valuetype.

According to
1. The section EE.7.2.2 "EJB interoperability protocol—The EJB interoperability protocol is based on IIOP (GIOP 1.2) and the CSIv2 CORBA Secure Interoperability specification. The EJB interoperability protocol is defined in the EJB specification."
2. The Common Object Request Broker: Architecture and Specification, version 2.3.1, 1999, "The chunked encoding is required for custom marshaling and truncation."

We expect chunked encoding for the custom marshal, however, the RI sent us the GIOP stream without chunking for implicit super class valuetype. When executing the test case , which does EJB corba call from our appserver to glassfish to get a user defined exception.
we get the failure as the separated failures log. After debugging into this failure, we get the GIOP stream that Glassfish sends to our appserver like following:

47 49 4f 50 01 02 02 01 00 00 03 f4 00 00 00 14 "GIOP............"
00 00 00 01 00 00 00 02 4e 45 4f 00 00 00 00 02 "........NEO....."
00 14 00 00 00 00 00 0f 00 00 00 18 00 00 00 01 "................"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
00 00 00 00 00 00 00 00 00 00 00 2d 49 44 4c 3a "...........-IDL:"
6f 72 67 2f 61 70 61 63 68 65 2f 67 65 72 6f 6e "org/apache/geron"
69 6d 6f 2f 63 6f 72 62 61 74 65 73 74 2f 55 73 "imo/corbatest/Us"
65 72 45 78 3a 31 2e 30 00 00 00 00 7f ff ff 0b "erEx:1.0........"
00 00 01 0e 66 69 6c 65 3a 2f 68 6f 6d 65 2f 66 "....file:/home/f"
6f 72 72 65 73 74 78 6d 2f 74 63 6b 64 61 74 61 "orrestxm/tckdata"
2f 72 69 2f 33 2e 30 2f 67 6c 61 73 73 66 69 73 "/ri/3.0/glassfis"
68 76 33 2f 67 6c 61 73 73 66 69 73 68 2f 64 6f "hv3/glassfish/do"
6d 61 69 6e 73 2f 64 6f 6d 61 69 6e 31 2f 61 70 "mains/domain1/ap"
70 6c 69 63 61 74 69 6f 6e 73 2f 63 6f 72 62 61 "plications/corba"
68 65 6c 6c 6f 62 65 61 6e 5f 65 6a 62 5f 65 61 "hellobean_ejb_ea"
72 32 2f 63 6f 72 62 61 68 65 6c 6c 6f 62 65 61 "r2/corbahellobea"
6e 5f 65 6a 62 5f 6a 61 72 2f 20 66 69 6c 65 3a "n_ejb_jar/ file:"
2f 68 6f 6d 65 2f 66 6f 72 72 65 73 74 78 6d 2f "/home/forrestxm/"
74 63 6b 64 61 74 61 2f 72 69 2f 33 2e 30 2f 67 "tckdata/ri/3.0/g"
6c 61 73 73 66 69 73 68 76 33 2f 67 6c 61 73 73 "lassfishv3/glass"
66 69 73 68 2f 64 6f 6d 61 69 6e 73 2f 64 6f 6d "fish/domains/dom"
61 69 6e 31 2f 67 65 6e 65 72 61 74 65 64 2f 65 "ain1/generated/e"
6a 62 2f 63 6f 72 62 61 68 65 6c 6c 6f 62 65 61 "jb/corbahellobea"
6e 5f 65 6a 62 5f 65 61 72 32 2f 63 6f 72 62 61 "n_ejb_ear2/corba"
68 65 6c 6c 6f 62 65 61 6e 5f 65 6a 62 5f 6a 61 "hellobean_ejb_ja"
72 00 00 00 00 00 00 52 52 4d 49 3a 6f 72 67 2e "r......RRMI:org."
61 70 61 63 68 65 2e 67 65 72 6f 6e 69 6d 6f 2e "apache.geronimo."
63 6f 72 62 61 74 65 73 74 2e 55 73 65 72 45 78 "corbatest.UserEx"
63 65 70 74 69 6f 6e 3a 30 43 45 38 43 45 45 38 "ception:0CE8CEE8"
36 39 46 31 39 30 32 45 3a 43 45 30 44 37 41 37 "69F1902E:CE0D7A7"
37 45 43 42 37 39 34 32 38 00 00 00 00 00 00 0c "7ECB79428......."
01 01 00 00 ff ff ff ff ff ff fe 84 7f ff ff 0a "................"
00 00 00 23 49 44 4c 3a 6f 6d 67 2e 6f 72 67 2f "...#IDL:omg.org/"
43 4f 52 42 41 2f 57 53 74 72 69 6e 67 56 61 6c "CORBA/WStringVal"
75 65 3a 31 2e 30 00 00 00 00 00 3e 00 00 00 3a "ue:1.0.....>...:"
fe ff 00 54 00 68 00 69 00 73 00 20 00 69 00 73 "...T.h.i.s. .i.s"
00 20 00 61 00 20 00 55 00 73 00 65 00 72 00 45 ". .a. .U.s.e.r.E"
00 78 00 63 00 65 00 70 00 74 00 69 00 6f 00 6e ".x.c.e.p.t.i.o.n"
00 20 00 74 00 65 00 73 00 74 00 00 ff ff ff fe ". .t.e.s.t......"
7f ff ff 0a 00 00 00 45 52 4d 49 3a 5b 4c 6a 61 ".......ERMI:[Lja"
76 61 2e 6c 61 6e 67 2e 53 74 61 63 6b 54 72 61 "va.lang.StackTra"
63 65 45 6c 65 6d 65 6e 74 3b 3a 43 44 33 38 46 "ceElement;:CD38F"
39 39 33 30 45 41 38 41 41 45 43 3a 36 31 30 39 "9930EA8AAEC:6109"
43 35 39 41 32 36 33 36 44 44 38 35 00 00 00 00 "C59A2636DD85...."
00 00 00 04 00 00 00 1f 7f ff ff 02 00 00 00 42 "...............B"
52 4d 49 3a 6a 61 76 61 2e 6c 61 6e 67 2e 53 74 "RMI:java.lang.St"
61 63 6b 54 72 61 63 65 45 6c 65 6d 65 6e 74 3a "ackTraceElement:"
43 44 33 38 46 39 39 33 30 45 41 38 41 41 45 43 "CD38F9930EA8AAEC"
3a 36 31 30 39 43 35 39 41 32 36 33 36 44 44 38 ":6109C59A2636DD8"
35 00 00 00 00 00 00 42 7f ff ff 02 ff ff ff ff "5......B........"
ff ff fe e0 00 00 00 5e fe ff 00 6f 00 72 00 67 ".......^...o.r.g"
00 2e 00 61 00 70 00 61 00 63 00 68 00 65 00 2e "...a.p.a.c.h.e.."
00 67 00 65 00 72 00 6f 00 6e 00 69 00 6d 00 6f ".g.e.r.o.n.i.m.o"
00 2e 00 63 00 6f 00 72 00 62 00 61 00 74 00 65 "...c.o.r.b.a.t.e"
00 73 00 74 00 2e 00 45 00 78 00 63 00 65 00 70 ".s.t...E.x.c.e.p"
00 74 00 69 00 6f 00 6e 00 42 00 65 00 61 00 6e ".t.i.o.n.B.e.a.n"
00 45 00 4a 00 42 00 00 7f ff ff 02 ff ff ff ff ".E.J.B.........."
ff ff fe 70 00 00 00 2c fe ff 00 45 00 78 00 63 "...p...,...E.x.c"
00 65 00 70 00 74 00 69 00 6f 00 6e 00 42 00 65 ".e.p.t.i.o.n.B.e"
00 61 00 6e 00 45 00 4a 00 42 00 2e 00 6a 00 61 ".a.n.E.J.B...j.a"
00 76 00 61 7f ff ff 02 ff ff ff ff ff ff fe 34 ".v.a...........4"
00 00 00 2e fe ff 00 74 00 68 00 72 00 6f 00 77 ".......t.h.r.o.w"
00 5f 00 61 00 5f 00 75 00 73 00 65 00 72 00 5f "..a..u.s.e.r._"
00 65 00 78 00 63 00 65 00 70 00 74 00 69 00 6f ".e.x.c.e.p.t.i.o"
00 6e 00 01 7f ff ff 02 ff ff ff ff ff ff fe c0 ".n.............."
ff ff ff fe 7f ff ff 02 ff ff ff ff ff ff fd e4 "................"
00 00 00 4a fe ff 00 73 00 75 00 6e 00 2e 00 72 "...J...s.u.n...r"
00 65 00 66 00 6c 00 65 00 63 00 74 00 2e 00 4e ".e.f.l.e.c.t...N"
00 61 00 74 00 69 00 76 00 65 00 4d 00 65 00 74 ".a.t.i.v.e.M.e.t"
00 68 00 6f 00 64 00 41 00 63 00 63 00 65 00 73 ".h.o.d.A.c.c.e.s"
00 73 00 6f 00 72 00 49 00 6d 00 70 00 6c ff 0b ".s.o.r.I.m.p.l.."
7f ff ff 02 ff ff ff ff ff ff fd 88 00 00 00 3c "...............<"
fe ff 00 4e 00 61 00 74 00 69 00 76 00 65 00 4d "...N.a.t.i.v.e.M"
00 65 00 74 00 68 00 6f 00 64 00 41 00 63 00 63 ".e.t.h.o.d.A.c.c"
00 65 00 73 00 73 00 6f 00 72 00 49 00 6d 00 70 ".e.s.s.o.r.I.m.p"
00 6c 00 2e 00 6a 00 61 00 76 00 61 7f ff ff 02 ".l...j.a.v.a...."
ff ff ff ff ff ff fd 3c 00 00 00 10 fe ff 00 69 ".......<.......i"
00 6e 00 76 00 6f 00 6b 00 65 00 30 7f ff ff 02 ".n.v.o.k.e.0...."
ff ff ff ff ff ff fd e8 00 00 00 27 ff ff ff ff "...........'...."
ff ff ff 24 ff ff ff ff ff ff ff 78 7f ff ff 02 "...$.......x...."
ff ff ff ff ff ff fc fc 00 00 00 0e fe ff 00 69 "...............i"
00 6e 00 76 00 6f 00 6b 00 65 2f 33 7f ff ff 02 ".n.v.o.k.e/3...."
ff ff ff ff ff ff fd a8 00 00 00 19 7f ff ff 02 "................"
ff ff ff ff ff ff fc cc 00 00 00 52 fe ff 00 73 "...........R...s"
00 75 00 6e 00 2e 00 72 00 65 00 66 00 6c 00 65 ".u.n...r.e.f.l.e"
00 63 00 74 00 2e 00 44 00 65 00 6c 00 65 00 67 ".c.t...D.e.l.e.g"
00 61 00 74 00 69 00 6e 00 67 00 4d 00 65 00 74 ".a.t.i.n.g.M.e.t"
00 68 00 6f 00 64 00 41 00 63 00 63 00 65 00 73 ".h.o.d.A.c.c.e.s"
00 73 00 6f 00 72 00 49 00 6d 00 70 00 6c 67 2e ".s.o.r.I.m.p.lg."
7f ff ff 02 ff ff ff ff ff ff fc 68 00 00 00 44 "...........h...D"
fe ff 00 44 00 65 00 6c 00 65 00 67 00 61 00 74 "...D.e.l.e.g.a.t"
00 69 00 6e 00 67 00 4d 00 65 00 74 00 68 00 6f ".i.n.g.M.e.t.h.o"
00 64 00 41 00 63 00 63 00 65 00 73 00 73 00 6f ".d.A.c.c.e.s.s.o"
00 72 00 49 00 6d 00 70 00 6c 00 2e 00 6a 00 61 ".r.I.m.p.l...j.a"
00 76 00 61 ff ff ff ff ff ff ff 14 7f ff ff 02 ".v.a............"
ff ff ff ff ff ff fc d8 00 00 02 55 7f ff ff 02 "...........U...."
ff ff ff ff ff ff fb fc 00 00 00 32 fe ff 00 6a "...........2...j"
00 61 00 76 00 61 00 2e 00 6c 00 61 00 6e 00 67 ".a.v.a...l.a.n.g"
00 2e 00 72 00 65 00 66 00 6c 00 65 00 63 00 74 "...r.e.f.l.e.c.t"
00 2e 00 4d 00 65 00 74 00 68 00 6f 00 64 00 45 "...M.e.t.h.o.d.E"
7f ff ff 02 ff ff ff ff ff ff fb b8 00 00 00 18 "................"
fe ff 00 4d 00 65 00 74 00 68 00 6f 00 64 00 2e "...M.e.t.h.o.d.."
00 6a 00 61 00 76 00 61 ff ff ff ff ff ff fe 90 ".j.a.v.a........"
7f ff ff 02 ff ff ff ff ff ff fc 54 00 00 04 1c "...........T...."
7f ff ff 02 ff ff ff ff ff ff fb 78 00 00 00 74 "...........x...t"
fe ff 00 6f 00 72 00 67 00 2e 00 67 00 6c 00 61 "...o.r.g...g.l.a"
00 73 00 73 00 66 00 69 00 73 00 68 00 2e 00 65 ".s.s.f.i.s.h...e"
00 6a 00 62 00 2e 00 73 00 65 00 63 00 75 00 72 ".j.b...s.e.c.u.r"
00 69 00 74 00 79 00 2e 00 61 00 70 00 70 00 6c ".i.t.y...a.p.p.l"
00 69 00 63 00 61 00 74 00 69 00 6f 00 6e 00 2e ".i.c.a.t.i.o.n.."
00 45 00 4a 00 42 00 53 00 65 00 63 00 75 00 72 ".E.J.B.S.e.c.u.r"
00 69 00 74 00 79 00 4d 00 61 00 6e 00 61 00 67 ".i.t.y.M.a.n.a.g"
00 65 00 72 7f ff ff 02 ff ff ff ff ff ff fa f4 ".e.r............"
00 00 00 30 fe ff 00 45 00 4a 00 42 00 53 00 65 "...0...E.J.B.S.e"
00 63 00 75 00 72 00 69 00 74 00 79 00 4d 00 61 ".c.u.r.i.t.y.M.a"
00 6e 00 61 00 67 00 65 00 72 00 2e 00 6a 00 61 ".n.a.g.e.r...j.a"
00 76 00 61 7f ff ff 02 ff ff ff ff ff ff fa b4 ".v.a............"
00 00 00 14 fe ff 00 72 00 75 00 6e 00 4d 00 65 ".......r.u.n.M.e"
00 74 00 68 00 6f 00 64 7f ff ff 02 ff ff ff ff ".t.h.o.d........"
ff ff fb 5c 00 00 04 64 ff ff ff ff ff ff ff 04 "...\...d........"
ff ff ff ff ff ff ff 80 ff ff ff ff ff ff fd 70 "...............p"
7f ff ff 02 ff ff ff ff ff ff fb 34 00 00 10 3b "...........4...;"
7f ff ff 02 ff ff ff ff ff ff fa 58 00 00 00 4a "...........X...J"
fe ff 00 63 00 6f 00 6d 00 2e 00 73 00 75 00 6e "...c.o.m...s.u.n"
00 2e 00 65 00 6a 00 62 00 2e 00 63 00 6f 00 6e "...e.j.b...c.o.n"
00 74 00 61 00 69 00 6e 00 65 00 72 00 73 00 2e ".t.a.i.n.e.r.s.."
00 42 00 61 00 73 00 65 00 43 00 6f 00 6e 00 74 ".B.a.s.e.C.o.n.t"
00 61 00 69 00 6e 00 65 00 72 ff ff 7f ff ff 02 ".a.i.n.e.r......"
ff ff ff ff ff ff f9 fc 00 00 00 26 fe ff 00 42 "...........&...B"
00 61 00 73 00 65 00 43 00 6f 00 6e 00 74 00 61 ".a.s.e.C.o.n.t.a"
00 69 00 6e 00 65 00 72 00 2e 00 6a 00 61 00 76 ".i.n.e.r...j.a.v"
00 61 00 74 7f ff ff 02 ff ff ff ff ff ff f9 c4 ".a.t............"
00 00 00 2e fe ff 00 69 00 6e 00 76 00 6f 00 6b ".......i.n.v.o.k"
00 65 00 54 00 61 00 72 00 67 00 65 00 74 00 42 ".e.T.a.r.g.e.t.B"
00 65 00 61 00 6e 00 4d 00 65 00 74 00 68 00 6f ".e.a.n.M.e.t.h.o"
00 64 00 4e 7f ff ff 02 ff ff ff ff ff ff fa 50 ".d.N...........P"
00 00 14 e3 ff ff ff ff ff ff ff 18 ff ff ff ff "................"
ff ff ff 6c 7f ff ff 02 ff ff ff ff ff ff f9 64 "...l...........d"
00 00 00 18 fe ff 00 5f 00 5f 00 69 00 6e 00 74 ".........i.n.t"
00 65 00 72 00 63 00 65 00 70 00 74 7f ff ff 02 ".e.r.c.e.p.t...."
ff ff ff ff ff ff fa 08 00 00 14 cf ff ff ff ff "................"
ff ff fe d0 ff ff ff ff ff ff ff 24 7f ff ff 02 "...........$...."
ff ff ff ff ff ff f9 1c 00 00 00 14 fe ff 00 69 "...............i"
00 6e 00 74 00 65 00 72 00 63 00 65 00 70 00 74 ".n.t.e.r.c.e.p.t"
7f ff ff 02 ff ff ff ff ff ff f9 c4 00 00 00 ce "................"
7f ff ff 02 ff ff ff ff ff ff f8 e8 00 00 00 64 "...............d"
fe ff 00 63 00 6f 00 6d 00 2e 00 73 00 75 00 6e "...c.o.m...s.u.n"
00 2e 00 65 00 6a 00 62 00 2e 00 63 00 6f 00 6e "...e.j.b...c.o.n"
00 74 00 61 00 69 00 6e 00 65 00 72 00 73 00 2e ".t.a.i.n.e.r.s.."
00 45 00 4a 00 42 00 4f 00 62 00 6a 00 65 00 63 ".E.J.B.O.b.j.e.c"
00 74 00 49 00 6e 00 76 00 6f 00 63 00 61 00 74 ".t.I.n.v.o.c.a.t"
00 69 00 6f 00 6e 00 48 00 61 00 6e 00 64 00 6c ".i.o.n.H.a.n.d.l"
00 65 00 72 7f ff ff 02 ff ff ff ff ff ff f8 74 ".e.r...........t"
00 00 00 40 fe ff 00 45 00 4a 00 42 00 4f 00 62 "...@...E.J.B.O.b"
00 6a 00 65 00 63 00 74 00 49 00 6e 00 76 00 6f ".j.e.c.t.I.n.v.o"
00 63 00 61 00 74 00 69 00 6f 00 6e 00 48 00 61 ".c.a.t.i.o.n.H.a"
00 6e 00 64 00 6c 00 65 00 72 00 2e 00 6a 00 61 ".n.d.l.e.r...j.a"
00 76 00 61 ff ff ff ff ff ff fb 24 7f ff ff 02 ".v.a.......$...."
ff ff ff ff ff ff f8 e8 00 00 00 7b ff ff ff ff "...........{...."
ff ff ff 20 ff ff ff ff ff ff ff 8c ff ff ff ff "... ............"
ff ff fa fc 7f ff ff 02 ff ff ff ff ff ff f8 c0 "................"
ff ff ff ff 7f ff ff 02 ff ff ff ff ff ff f7 e4 "................"
00 00 00 14 fe ff 00 24 00 50 00 72 00 6f 00 78 ".......$.P.r.o.x"
00 79 00 32 00 31 00 37 00 00 00 00 ff ff ff ff ".y.2.1.7........"
ff ff f9 84 7f ff ff 02 ff ff ff ff ff ff f8 80 "................"
ff ff ff fe ff ff ff ff ff ff f9 bc ff ff ff ff "................"
ff ff fa 10 ff ff ff ff ff ff fa 54 7f ff ff 02 "...........T...."
ff ff ff ff ff ff f8 58 00 00 00 27 ff ff ff ff ".......X...'...."
ff ff f9 94 ff ff ff ff ff ff f9 e8 ff ff ff ff "................"
ff ff fa 6c 7f ff ff 02 ff ff ff ff ff ff f8 30 "...l...........0"
00 00 00 19 ff ff ff ff ff ff fa 84 ff ff ff ff "................"
ff ff fa e0 ff ff ff ff ff ff fa 44 7f ff ff 02 "...........D...."
ff ff ff ff ff ff f8 08 00 00 02 55 ff ff ff ff "...........U...."
ff ff fb 2c ff ff ff ff ff ff fb 68 ff ff ff ff "...,.......h...."
ff ff fa 1c 7f ff ff 02 ff ff ff ff ff ff f7 e0 "................"
00 00 00 90 7f ff ff 02 ff ff ff ff ff ff f7 04 "................"
00 00 00 6a fe ff 00 63 00 6f 00 6d 00 2e 00 73 "...j...c.o.m...s"
00 75 00 6e 00 2e 00 63 00 6f 00 72 00 62 00 61 ".u.n...c.o.r.b.a"
00 2e 00 65 00 65 00 2e 00 69 00 6d 00 70 00 6c "...e.e...i.m.p.l"
00 2e 00 70 00 72 00 65 00 73 00 65 00 6e 00 74 "...p.r.e.s.e.n.t"
00 61 00 74 00 69 00 6f 00 6e 00 2e 00 72 00 6d ".a.t.i.o.n...r.m"
00 69 00 2e 00 52 00 65 00 66 00 6c 00 65 00 63 ".i...R.e.f.l.e.c"
00 74 00 69 00 76 00 65 00 54 00 69 00 65 ff 04 ".t.i.v.e.T.i.e.."
7f ff ff 02 ff ff ff ff ff ff f6 88 00 00 00 26 "...............&"
fe ff 00 52 00 65 00 66 00 6c 00 65 00 63 00 74 "...R.e.f.l.e.c.t"
00 69 00 76 00 65 00 54 00 69 00 65 00 2e 00 6a ".i.v.e.T.i.e...j"
00 61 00 76 00 61 00 6d 7f ff ff 02 ff ff ff ff ".a.v.a.m........"
ff ff f6 50 00 00 00 22 fe ff 00 64 00 69 00 73 "...P..."...d.i.s"
00 70 00 61 00 74 00 63 00 68 00 54 00 6f 00 4d ".p.a.t.c.h.T.o.M"
00 65 00 74 00 68 00 6f 00 64 00 6f 7f ff ff 02 ".e.t.h.o.d.o...."
ff ff ff ff ff ff f6 e8 00 00 00 ae ff ff ff ff "................"
ff ff ff 04 ff ff ff ff ff ff ff 78 7f ff ff 02 "...........x...."
ff ff ff ff ff ff f5 fc 00 00 00 10 fe ff 00 5f "..............._"
00 69 00 6e 00 76 00 6f 00 6b 00 65 7f ff ff 02 ".i.n.v.o.k.e...."
ff ff ff ff ff ff f6 a8 00 00 02 10 7f ff ff 02 "................"
ff ff ff ff ff ff f5 cc 00 00 00 80 fe ff 00 63 "...............c"
00 6f 00 6d 00 2e 00 73 00 75 00 6e 00 2e 00 63 ".o.m...s.u.n...c"
00 6f 00 72 00 62 00 61 00 2e 00 65 00 65 00 2e ".o.r.b.a...e.e.."
00 69 00 6d 00 70 00 6c 00 2e 00 70 00 72 00 6f ".i.m.p.l...p.r.o"
00 74 00 6f 00 63 00 6f 00 6c 00 2e 00 43 00 6f ".t.o.c.o.l...C.o"
00 72 00 62 00 61 00 53 00 65 00 72 00 76 00 65 ".r.b.a.S.e.r.v.e"
00 72 00 52 00 65 00 71 00 75 00 65 00 73 00 74 ".r.R.e.q.u.e.s.t"
00 44 00 69 00 73 00 70 00 61 00 74 00 63 00 68 ".D.i.s.p.a.t.c.h"
00 65 00 72 00 49 00 6d 00 70 00 6c 7f ff ff 02 ".e.r.I.m.p.l...."
ff ff ff ff ff ff f5 3c 00 00 00 4c fe ff 00 43 ".......<...L...C"
00 6f 00 72 00 62 00 61 00 53 00 65 00 72 00 76 ".o.r.b.a.S.e.r.v"
00 65 00 72 00 52 00 65 00 71 00 75 00 65 00 73 ".e.r.R.e.q.u.e.s"
00 74 00 44 00 69 00 73 00 70 00 61 00 74 00 63 ".t.D.i.s.p.a.t.c"
00 68 00 65 00 72 00 49 00 6d 00 70 00 6c 00 2e ".h.e.r.I.m.p.l.."
00 6a 00 61 00 76 00 61 7f ff ff 02 ff ff ff ff ".j.a.v.a........"
ff ff f4 e0 00 00 00 24 fe ff 00 64 00 69 00 73 ".......$...d.i.s"
00 70 00 61 00 74 00 63 00 68 00 54 00 6f 00 53 ".p.a.t.c.h.T.o.S"
00 65 00 72 00 76 00 61 00 6e 00 74 7f ff ff 02 ".e.r.v.a.n.t...."
ff ff ff ff ff ff f5 78 00 00 00 c7 ff ff ff ff ".......x........"
ff ff fe cc ff ff ff ff ff ff ff 54 7f ff ff 02 "...........T...."
ff ff ff ff ff ff f4 8c 00 00 00 12 fe ff 00 64 "...............d"
00 69 00 73 00 70 00 61 00 74 00 63 00 68 00 62 ".i.s.p.a.t.c.h.b"
7f ff ff 02 ff ff ff ff ff ff f5 34 00 00 06 58 "...........4...X"
7f ff ff 02 ff ff ff ff ff ff f4 58 00 00 00 70 "...........X...p"
fe ff 00 63 00 6f 00 6d 00 2e 00 73 00 75 00 6e "...c.o.m...s.u.n"
00 2e 00 63 00 6f 00 72 00 62 00 61 00 2e 00 65 "...c.o.r.b.a...e"
00 65 00 2e 00 69 00 6d 00 70 00 6c 00 2e 00 70 ".e...i.m.p.l...p"
00 72 00 6f 00 74 00 6f 00 63 00 6f 00 6c 00 2e ".r.o.t.o.c.o.l.."
00 43 00 6f 00 72 00 62 00 61 00 4d 00 65 00 73 ".C.o.r.b.a.M.e.s"
00 73 00 61 00 67 00 65 00 4d 00 65 00 64 00 69 ".s.a.g.e.M.e.d.i"
00 61 00 74 00 6f 00 72 00 49 00 6d 00 70 00 6c ".a.t.o.r.I.m.p.l"
7f ff ff 02 ff ff ff ff ff ff f3 d8 00 00 00 3c "...............<"
fe ff 00 43 00 6f 00 72 00 62 00 61 00 4d 00 65 "...C.o.r.b.a.M.e"
00 73 00 73 00 61 00 67 00 65 00 4d 00 65 00 64 ".s.s.a.g.e.M.e.d"
00 69 00 61 00 74 00 6f 00 72 00 49 00 6d 00 70 ".i.a.t.o.r.I.m.p"
00 6c 00 2e 00 6a 00 61 00 76 00 61 7f ff ff 02 ".l...j.a.v.a...."
ff ff ff ff ff ff f3 8c 00 00 00 2a fe ff 00 68 "...........*...h"
00 61 00 6e 00 64 00 6c 00 65 00 52 00 65 00 71 ".a.n.d.l.e.R.e.q"
00 75 00 65 00 73 00 74 00 52 00 65 00 71 00 75 ".u.e.s.t.R.e.q.u"
00 65 00 73 00 74 ff ff 7f ff ff 02 ff ff ff ff ".e.s.t.........."
ff ff f4 1c 00 00 05 ce ff ff ff ff ff ff fe e4 "................"
ff ff ff ff ff ff ff 5c 7f ff ff 02 ff ff ff ff ".......\........"
ff ff f3 30 00 00 00 1c fe ff 00 68 00 61 00 6e "...0.......h.a.n"
00 64 00 6c 00 65 00 52 00 65 00 71 00 75 00 65 ".d.l.e.R.e.q.u.e"
00 73 00 74 7f ff ff 02 ff ff ff ff ff ff f3 d0 ".s.t............"
00 00 03 de ff ff ff ff ff ff fe 98 ff ff ff ff "................"
ff ff ff 10 7f ff ff 02 ff ff ff ff ff ff f2 e4 "................"
00 00 00 18 fe ff 00 68 00 61 00 6e 00 64 00 6c ".......h.a.n.d.l"
00 65 00 49 00 6e 00 70 00 75 00 74 7f ff ff 02 ".e.I.n.p.u.t...."
ff ff ff ff ff ff f3 88 00 00 00 d6 7f ff ff 02 "................"
ff ff ff ff ff ff f2 ac 00 00 00 82 fe ff 00 63 "...............c"
00 6f 00 6d 00 2e 00 73 00 75 00 6e 00 2e 00 63 ".o.m...s.u.n...c"
00 6f 00 72 00 62 00 61 00 2e 00 65 00 65 00 2e ".o.r.b.a...e.e.."
00 69 00 6d 00 70 00 6c 00 2e 00 70 00 72 00 6f ".i.m.p.l...p.r.o"
00 74 00 6f 00 63 00 6f 00 6c 00 2e 00 67 00 69 ".t.o.c.o.l...g.i"
00 6f 00 70 00 6d 00 73 00 67 00 68 00 65 00 61 ".o.p.m.s.g.h.e.a"
00 64 00 65 00 72 00 73 00 2e 00 52 00 65 00 71 ".d.e.r.s...R.e.q"
00 75 00 65 00 73 00 74 00 4d 00 65 00 73 00 73 ".u.e.s.t.M.e.s.s"
00 61 00 67 00 65 00 5f 00 31 00 5f 00 32 ff ff ".a.g.e..1..2.."
7f ff ff 02 ff ff ff ff ff ff f2 18 00 00 00 30 "...............0"
fe ff 00 52 00 65 00 71 00 75 00 65 00 73 00 74 "...R.e.q.u.e.s.t"
00 4d 00 65 00 73 00 73 00 61 00 67 00 65 00 5f ".M.e.s.s.a.g.e._"
00 31 00 5f 00 32 00 2e 00 6a 00 61 00 76 00 61 ".1._.2...j.a.v.a"
7f ff ff 02 ff ff ff ff ff ff f1 d8 00 00 00 12 "................"
fe ff 00 63 00 61 00 6c 00 6c 00 62 00 61 00 63 "...c.a.l.l.b.a.c"
00 6b 00 72 7f ff ff 02 ff ff ff ff ff ff f2 80 ".k.r............"
00 00 02 e6 ff ff ff ff ff ff fd 48 ff ff ff ff "...........H...."
ff ff fd c0 ff ff ff ff ff ff fe 60 7f ff ff 02 "...........`...."
ff ff ff ff ff ff f2 58 00 00 02 1b ff ff ff ff ".......X........"
ff ff fd 20 ff ff ff ff ff ff fd 98 ff ff ff ff "... ............"
ff ff fc dc 7f ff ff 02 ff ff ff ff ff ff f2 30 "...............0"
00 00 01 57 7f ff ff 02 ff ff ff ff ff ff f1 54 "...W...........T"
00 00 00 7c fe ff 00 63 00 6f 00 6d 00 2e 00 73 "...|...c.o.m...s"
00 75 00 6e 00 2e 00 63 00 6f 00 72 00 62 00 61 ".u.n...c.o.r.b.a"
00 2e 00 65 00 65 00 2e 00 69 00 6d 00 70 00 6c "...e.e...i.m.p.l"
00 2e 00 74 00 72 00 61 00 6e 00 73 00 70 00 6f "...t.r.a.n.s.p.o"
00 72 00 74 00 2e 00 53 00 6f 00 63 00 6b 00 65 ".r.t...S.o.c.k.e"
00 74 00 4f 00 72 00 43 00 68 00 61 00 6e 00 6e ".t.O.r.C.h.a.n.n"
00 65 00 6c 00 43 00 6f 00 6e 00 6e 00 65 00 63 ".e.l.C.o.n.n.e.c"
00 74 00 69 00 6f 00 6e 00 49 00 6d 00 70 00 6c ".t.i.o.n.I.m.p.l"
7f ff ff 02 ff ff ff ff ff ff f0 c8 00 00 00 46 "...............F"
fe ff 00 53 00 6f 00 63 00 6b 00 65 00 74 00 4f "...S.o.c.k.e.t.O"
00 72 00 43 00 68 00 61 00 6e 00 6e 00 65 00 6c ".r.C.h.a.n.n.e.l"
00 43 00 6f 00 6e 00 6e 00 65 00 63 00 74 00 69 ".C.o.n.n.e.c.t.i"
00 6f 00 6e 00 49 00 6d 00 70 00 6c 00 2e 00 6a ".o.n.I.m.p.l...j"
00 61 00 76 00 61 ff ff 7f ff ff 02 ff ff ff ff ".a.v.a.........."
ff ff f0 70 00 00 00 0a fe ff 00 72 00 65 00 61 "...p.......r.e.a"
00 64 00 63 7f ff ff 02 ff ff ff ff ff ff f1 20 ".d.c........... "
00 00 00 70 7f ff ff 02 ff ff ff ff ff ff f0 44 "...p...........D"
00 00 00 62 fe ff 00 63 00 6f 00 6d 00 2e 00 73 "...b...c.o.m...s"
00 75 00 6e 00 2e 00 63 00 6f 00 72 00 62 00 61 ".u.n...c.o.r.b.a"
00 2e 00 65 00 65 00 2e 00 69 00 6d 00 70 00 6c "...e.e...i.m.p.l"
00 2e 00 74 00 72 00 61 00 6e 00 73 00 70 00 6f "...t.r.a.n.s.p.o"
00 72 00 74 00 2e 00 52 00 65 00 61 00 64 00 65 ".r.t...R.e.a.d.e"
00 72 00 54 00 68 00 72 00 65 00 61 00 64 00 49 ".r.T.h.r.e.a.d.I"
00 6d 00 70 00 6c 00 72 7f ff ff 02 ff ff ff ff ".m.p.l.r........"
ff ff ef d0 00 00 00 2c fe ff 00 52 00 65 00 61 ".......,...R.e.a"
00 64 00 65 00 72 00 54 00 68 00 72 00 65 00 61 ".d.e.r.T.h.r.e.a"
00 64 00 49 00 6d 00 70 00 6c 00 2e 00 6a 00 61 ".d.I.m.p.l...j.a"
00 76 00 61 7f ff ff 02 ff ff ff ff ff ff ef 94 ".v.a............"
00 00 00 0e fe ff 00 64 00 6f 00 57 00 6f 00 72 ".......d.o.W.o.r"
00 6b 00 65 7f ff ff 02 ff ff ff ff ff ff f0 40 ".k.e...........@"
00 00 01 f1 7f ff ff 02 ff ff ff ff ff ff ef 64 "...............d"
00 00 00 8a fe ff 00 63 00 6f 00 6d 00 2e 00 73 ".......c.o.m...s"
00 75 00 6e 00 2e 00 63 00 6f 00 72 00 62 00 61 ".u.n...c.o.r.b.a"
00 2e 00 65 00 65 00 2e 00 69 00 6d 00 70 00 6c "...e.e...i.m.p.l"
00 2e 00 6f 00 72 00 62 00 75 00 74 00 69 00 6c "...o.r.b.u.t.i.l"
00 2e 00 74 00 68 00 72 00 65 00 61 00 64 00 70 "...t.h.r.e.a.d.p"
00 6f 00 6f 00 6c 00 2e 00 54 00 68 00 72 00 65 ".o.o.l...T.h.r.e"
00 61 00 64 00 50 00 6f 00 6f 00 6c 00 49 00 6d ".a.d.P.o.o.l.I.m"
00 70 00 6c 00 24 00 57 00 6f 00 72 00 6b 00 65 ".p.l.$.W.o.r.k.e"
00 72 00 54 00 68 00 72 00 65 00 61 00 64 ff 02 ".r.T.h.r.e.a.d.."
7f ff ff 02 ff ff ff ff ff ff ee c8 00 00 00 28 "...............("
fe ff 00 54 00 68 00 72 00 65 00 61 00 64 00 50 "...T.h.r.e.a.d.P"
00 6f 00 6f 00 6c 00 49 00 6d 00 70 00 6c 00 2e ".o.o.l.I.m.p.l.."
00 6a 00 61 00 76 00 61 7f ff ff 02 ff ff ff ff ".j.a.v.a........"
ff ff ee 90 00 00 00 18 fe ff 00 70 00 65 00 72 "...........p.e.r"
00 66 00 6f 00 72 00 6d 00 57 00 6f 00 72 00 6b ".f.o.r.m.W.o.r.k"
7f ff ff 02 ff ff ff ff ff ff ef 34 00 00 02 1c "...........4...."
ff ff ff ff ff ff fe f0 ff ff ff ff ff ff ff 84 "................"
7f ff ff 02 ff ff ff ff ff ff ee 48 00 00 00 08 "...........H...."
fe ff 00 72 00 75 00 6e ff ff ff fe 00 00 00 08 "...r.u.n........"
ff ff ff ff ff ff ee 28 ff ff ff ff ".......(...."

From the dumped GIOP stream, we can see this GIOP stream version is 1.2, and this is a custom marshal of RMI valuetype.

We expect chunked encoding for the custom marshal, however, Glassfish sent us the GIOP stream without chunking for implicit super class valuetype.



 Comments   
Comment by Harshad Vilekar [ 15/Dec/11 ]

3_1_2-exclude: Not enough time to analyze/fix in 3.1.2.





[GLASSFISH-16999] Either PKG_CLIENT_READ_TIMEOUT is too small or Oracle's servers are too slow Created: 08/Jul/11  Updated: 06/Nov/12

Status: Reopened
Project: glassfish
Component/s: update_center
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: mkarg Assignee: Joe Di Pol
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Win7 Pro SP1 64 Bit de_DE


Issue Links:
Dependency
depends on UPDATECENTER2-2197 Increase PKG_CLIENT_READ_TIMEOUT in J... Closed
Tags: 3_1-next, 3_1-next_release-note, 3_1-next_release-note-added, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

Installation of update tool fails due to timeout (every time we tried it in the past seven days). Either the timeouts programmed into the installer are too small, or Oracle's servers providing the downloads are too slow.

Sometimes no connection at all is possible, but most of the time the download fails:

Proxy: Using system proxy settings.
Install image: C:\glassfish3
Installing updatetool packages.
Downloading 2 packages.
Downloading updatetool (564 files, 4.630.541 bytes).
File 564/564
Downloading wxpython2.8-minimal (346 files, 13.763.618 bytes).
File 46/346Input/output error: Read timed out

Could not download application packages. This could be because:

  • a proxy server is needed to access the internet. Please ensure that
    the system proxy server settings in your Internet Options control panel
    (under Connections:LAN Settings) are correct, or set the HTTP_PROXY
    environment variable to the full URL of the proxy server.
  • the package server is down or otherwise inaccessible or it is
    generating invalid data. Please contact the provider of the package
    server.

The negative side effect is that the graphical installer which internally tries to do this download will fail without clearly telling that actual cause of the problem (just says it cannot install the update tool), so people don't know what to do!

When increasing the timeout we could install without any problem, so this clearly proofs that either the default timeout is too small or Oracle's servers are just too slow. There is nothing wrong with our internet connection and while the download fails, a test drive proofs a FREE bandwith of 1,5 Mb/s (so it is not related to our infrastructure or net access).

C:\>set PKG_CLIENT_CONNECT_TIMEOUT=300
C:\>set PKG_CLIENT_READ_TIMEOUT=300

Proxy: Using system proxy settings.
Install image: C:\glassfish3
Installing updatetool packages.
Downloading 2 packages.
Downloading updatetool (564 files, 4.630.541 bytes).
File 564/564
Downloading wxpython2.8-minimal (346 files, 13.763.618 bytes).
File 346/346
Executing 1.095 install actions.
Registering notifier: Not able to register. Returned exit code 3.
Starting notifier.
Initialization complete.

Please either upgrade your download facilities or increase the default timeouts.

But in any case, please provide a clear message to the user that it is not HIS fault, particularly in the graphical installer.

We have rated this bug as CRITICAL since it prevents a successful complete default installation using the graphical installer.



 Comments   
Comment by Joe Di Pol [ 08/Jul/11 ]

This requires a change to the Update Center bootstrap Java client. I've created UPDATECENTER2-2197 to track that change.

Comment by Joe Di Pol [ 08/Jul/11 ]

This is too late to fix in 3.1.1. I've tagged for inclusion in the Release Notes. We should state that if the installation of update center fails in the installer (or if it fails when running 'pkg' or 'updatetool' from the command line the first time) the user should try the following from the command line:

C:\>set PKG_CLIENT_CONNECT_TIMEOUT=300
C:\>set PKG_CLIENT_READ_TIMEOUT=300
C:\>glassfish3\bin\updatetool

This will bootstrap updatetool using the increased timeouts.

Comment by mkarg [ 11/Jul/11 ]

Looking at the long timeout values needed, I would say this is not a problem of too small timouts, but more of too slow Oracle servers. And, it would be much better for Oracle's reputation to set up more machines instead of asking a user to try again with ridiculously large timeout values.

Comment by Joe Di Pol [ 11/Jul/11 ]

Actually both aspects need to be addressed. The default timeouts should be longer to handle transient network slowness, but I agree we do need to address the operational aspect of this as well.

mkarg, what is your geographic location? Are you located in Germany?

Comment by Rebecca Parks [ 11/Jul/11 ]

Added the following to the 3.1.1 Release Notes:

PKG_CLIENT_READ_TIMEOUT is too small (16999)

Description

Installation of the Update Center sometimes times out and fails.

Workaround

If Update Center installation fails in the installer or when running pkg or updatetool from the command line, enter the following from the command line:

> set PKG_CLIENT_CONNECT_TIMEOUT=300
> set PKG_CLIENT_READ_TIMEOUT=300
> glassfish3\bin\updatetool

Comment by mkarg [ 12/Jul/11 ]

Joe,

yes I am located in Germany. Our overall connectivity to US servers is great, but especially Oracle pages are getting served rather slow. Maybe Oracle Germany could set up some local mirror to overcome this issue?

Regards
Markus

Comment by mkarg [ 13/Jul/11 ]

Just tried out the graphical installer of 3.1.1_b11 having set the above environment variables. In fact, the installer runs well then, but it needs about half an hour to install. In all that time, the progress bar shows 41%. I expect most people to kill that process...

Comment by Joe Di Pol [ 16/Nov/11 ]

The update center bug to increase the client timeouts has been implemented, and we've increased the number of download threads in the client as well. This will mitigate the problem some, but we still have the issue that our IPS package servers are not mirrored geographically which means non-US locations will continue to see slower download speeds (the IPS repository protocol is sensitive to latency in addition to bandwidth).





[GLASSFISH-17004] firefox 5.0 : few icons in the promotion page doesn't display Created: 08/Jul/11  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: other
Affects Version/s: 3.1.1
Fix Version/s: not determined

Type: Bug Priority: Major
Reporter: shaline Assignee: Romain Grécourt
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: windows 2008 server
Browser : FireFox 5.0


Attachments: JPEG File ff5-winxp-aix.JPG     JPEG File ff5.jpg     JPEG File mac-ff5.jpg    
Tags: 3_1_1-scrubbed, 3_1_2-exclude

 Description   

GF 3.1.1 promoted build 10.

In the common tasks window right bottom frame, the icons for facebook, twitter, youtube etc under "Stay Connected" section are not displayed in firefox 5.0 browser. This is visible in IE, and ff 3.6.
Attached the screen shot for the common tasks window.



 Comments   
Comment by Anissa Lam [ 08/Jul/11 ]

Does this always reproducible ?
It shows up correctly for me on Firefox 5 on my Mac. (see attached mac-ff5.jpg

If you use your browser and go to "http://java.sun.com/glassfish/productmsg.html" directly, does it show up ?

This is not from GUI and there is nothing i can do if it doesn't show up.

Comment by Anissa Lam [ 08/Jul/11 ]

Jason mentioned that he is seeing the problem on FF5. No error in server.log nor firebug console.
I am running 5.0 on my Mac, I cleared cache and restart browser, it works for me though.

Transferring to John since he owns this promotion page.

Comment by lidiam [ 09/Jul/11 ]

I can see the icons fine on FF5 on Windows XP with build ogs-3.1.1-b11-07_07_2011-aix.zip (on AIX).

Comment by lidiam [ 09/Jul/11 ]

Icons displayed in FF5 on Windows XP, Glassfish on AIX.

Comment by shaline [ 12/Jul/11 ]

On the promoted b11, the issue still exists on windows 2008 server. The links like "http://java.sun.com/glassfish/productmsg.html when directly accessed works fine , but the icons in the bottom promotion page are not displayed, in the Common Tasks window.

Comment by scatari [ 02/Nov/11 ]

Look into to see if this is a browser/os specific issue.

Comment by scatari [ 18/Jan/12 ]

Romaine, Could you please look at this issue?

Comment by Joe Di Pol [ 21/Jan/12 ]

Another data point: I tried Firefox 9.0.1 on Windows Server 2008 with a 3.1.2 build and the icons showed up fine.

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-17044] [PERF] gmbal objects consuming large part of heap Created: 13/Jul/11  Updated: 03/Dec/12

Status: Open
Project: glassfish
Component/s: monitoring
Affects Version/s: 3.1, 3.1.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Scott Oaks Assignee: Scott Oaks
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File heap-dump-gmbal-api-only.jpg     JPEG File HeapDump-gmbal-classes.jpg     File MyEjb.ear    
Issue Links:
Dependency
depends on GLASSFISH_CORBA-5 [PERF] gmbal objects consuming large ... In Progress
depends on METRO-17 [PERF] gmbal objects consuming large ... Resolved
blocks GLASSFISH-16355 startup and footprint of larger size ... Open
Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude, PSRBUG

 Description   

The gmbal related classes added in 3.x have contributed significantly to the heap regression usage for larger apps between 2.x and 3.x. In fact, now that other issues (notably 16747) have been fixed, these classes constitute almost all of the remaining regression. In a standard domain with specj deployed, the gmbal classes retain some 33MB of heap space (and the entire consumed heap space after startup is only 130MB).



 Comments   
Comment by scatari [ 26/Jul/11 ]

Targeting to be fixed in the patch release post 3.1.1.

Comment by Tom Mueller [ 18/Aug/11 ]

Scott, can you please provide details on how to recreate this issue?

Is monitoring turned on during the test?
Do you see a relatively significant amount of memory consumed by gmbal objects with a smaller application?
How did you determine the values that are quoted in the description?

Comment by Scott Oaks [ 18/Aug/11 ]

The numbers I quoted come from examining the heap dump taken after the domain has started (but not accessed); the 33MB is the size of the memory retained by the 5,619 org.glassfish.gmbal.typelib.DeclarationFactory$EvaluatedClassDeclarationImpl objects.

Monitoring options are out-of-the box settings; the only changes to the domain are to add the necessary JDBC and JMS resources for the app (which in this case is specjappserver). My understanding from Ken is that although there is a way to disable gmbal monitoring, the necessary code is not implemented at the glassfish level (it means using a different gmbal factory to get a no-op gmbal manager). Allowing that might be a good option.

We have only observed this on ejb-related deployments, not on web-only deployments. I'll have to see if we can get measurements from other apps.

Comment by Jennifer Chou [ 14/Oct/11 ]
  • If monitoring is disabled - setting mbean-enabled=false will make no difference.
  • If it is the ManagedObjectManagerFactory that is causing problems, there is only 2 places it is referenced - monitoring and web services. Since the monitoring is disabled it will not go through the code path that references ManagedObjectManagerFactory.

I tried to reproduce the issue, but was unsuccessful.

1. Download glassfish 3.1.1 open source edition
2. asadmin start-domain
3. jconsole <gf pid>
4. MBeans > com.sun.management > Operations
a. enter 'heap.dump.out' in p0
b. clicked on dumpHeap
5. Open 'heap.dump.out' in NetBeans.

I couldn't find any gmbal classes listed under Classes. I searched for 'DeclarationFactory' and 'gmbal'.

What am I missing? Do I need to have specj deployed?

Comment by Scott Oaks [ 14/Oct/11 ]

You don't need specj per se, but you need some application with EJBs deployed.

Comment by Jennifer Chou [ 14/Oct/11 ]

After deploying attached simple EJB app (with a stateless session bean), the gmbal classes can be seen in the screenshot of the heap dump list.

Comment by Jennifer Chou [ 14/Oct/11 ]

After replacing gmbal.jar with gmbal-api-only.jar, the size and number of instances is greatly reduced. See attached screenshot - heap-dump-gmbal-api-only.

gmbal-api-only.jar is downloaded from http://download.java.net/maven/2/org/glassfish/gmbal/gmbal-api-only/3.1.0-b001/gmbal-api-only-3.1.0-b001.jar

Comment by Jennifer Chou [ 14/Oct/11 ]

From Scott:

The gmbal instances are all held by the org.glassfish.gmbal.impl.ManagedObjectManagerImpl object that is held in the ORB.

There is a factory that produces a "null" maanged object manager impl instead of that ManagedObjectManagerImpl, so if we could arrange for the ORB to use that factory when we don't want the overhead of gmbal, that would solve the issue.

Comment by Jennifer Chou [ 28/Oct/11 ]

The fix should be in ORB to defer the gmbal API calls until there is a JMX client connection.

http://java.net/jira/browse/GLASSFISH_CORBA-5

Comment by Jennifer Chou [ 28/Oct/11 ]

The fix should be in metro and WebServicesContainer to defer the gmbal API call until there is a JMX client connection.

http://java.net/jira/browse/METRO-17

Comment by Jennifer Chou [ 28/Dec/11 ]

Transfer to Scott Oaks. This is an umbrella bug to track the 2 issues in ORB and Metro.

Comment by Joe Di Pol [ 18/Jan/12 ]

We've done all we plan on doing for 3.1.2 (See linked Metro bug). The ORB fix will have to wait for a subsequent release.





[GLASSFISH-17046] Deployment with precompile of jsp of a portable J2EE 6 EAR on a cluster using admin interface doesn't work Created: 14/Jul/11  Updated: 21/Oct/11

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 3.1, 3.1.1_b11
Fix Version/s: None

Type: Bug Priority: Major
Reporter: cistox Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows XP
Java 1.6.0_24
J2EE 6.0 portable and distributable EAR application (no dependancy injection)
Note that the EAR has all referenced JARs on manifests as required for portable applications.


Attachments: Zip Archive CSIPortal-J2EE6.zip    
Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-exclude

 Description   

By testing Glassfish 3.1 (b48) and Glassfish 3.1.1 (b11) I found that the deployment with precompile option doesn't work as expected.

I tried two different packaging:
1) providing utility JARs under EAR/lib
2) providing all utility JARs references on META-INF/MANIFEST.mf for all interested modules.
In both cases the deployment raises the following error that is asserting the JSP cannot resolve many class libraries that are actually visible and correctly packaged in the EAR.

The same packaged EARs are correctly deployed with Netbeans 7.0 in a GF 3.1 (developer profile)

ERROR RAISED:
Error occurred during deployment: Exception while preparing the app : JSP Compilation Error: org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP PWC6199: Generated servlet error: string:///download_jsp.java:8: package com.portal.util does not exist PWC6199: Generated servlet error: string:///download_jsp.java:9: package com.portal.util does not exist PWC6199: Generated servlet error: string:///download_jsp.java:12: package com.contshipitalia.broker does not exist PWC6199: Generated servlet error: string:///download_jsp.java:13: package com.contshipitalia.persistence does not exist PWC6199: Generated servlet error: string:///download_jsp.java:14: package com.contshipitalia.persistence does not exist PWC6199: Generated servlet error: string:///download_jsp.java:15: package com.contshipitalia.util does not exist PWC6199: Generated servlet error: string:///download_jsp.java:16: package com.contshipitalia.net does not exist PWC6197: An error occurred at li .... msg.seeServerLog

Using GF 3.1.1 errors are thousand and I do not list them here but I just can say the deployment is completely corrupted in this version using the admin GUI.
I had no time to test the asadmin command-line yet.

Using GF 3.1 I tried a deployement always using the asadmin GUI but without precompile option and I found that the EAR is deployed with no errors apparently.
Anyway the Application it doesn't work as I obtain always HTTP 404 when a jsp or servlet is requested.
The 404 is raised because pages are searched in the docroot location which is empty after deployment:

[#|2011-07-14T10:53:34.500+0200|SEVERE|glassfish3.1|org.apache.jasper.servlet.JspServlet|_ThreadID=23;_ThreadName=Thread-1;|PWC6117: File "D%3A%5Cglassfish3%5Cglassfish%5Cnodes%5Clocalhost-domain1%5Cinstance1%5Cdocroot%5Cnews%5Clatest_news.jsp" not found|#]

By inspecting the GF directories I found that under /domain1/applications/... the EAR has been deployed, and docroot is empty.
A request to a jsp or servlet do not trigger its compilation bacause it is not resolved under /docroot.

It is not clear the role of /docroot that should be optional (see when static pages in the root are installed on a web server)



 Comments   
Comment by cistox [ 14/Jul/11 ]

Please read

Glassfish 3.1 (b48)

as

Glassfish 3.1 (b43)

Comment by Anissa Lam [ 14/Jul/11 ]

>> I had no time to test the asadmin command-line yet.
It will be nice if you can try this using CLI.
It is just one single command:
%asadmin deploy --precompilejsp=true myApplication.war

If you can attach the application, that will definitely help too.

I have double checked that when user checks the "Precompile JSP" checkbox, console passes in "precompilejsp" as "true".
I am going to assign to "deployment" for evaluation.

Comment by cistox [ 15/Jul/11 ]

I tried the deployment using the command-line.

I provided the EAR separately as attachment.

These are the details:

D:\glassfish3\bin>asadmin deploy --precompilejsp=true --target CSIPortal-cluster
CSIPortal-J2EE6.ear
remote failure: Unknown plain text format. A properly formatted response from a
PlainTextActionReporter
always starts with one of these 2 strings: PlainTextActionReporterSUCCESS or Pla
inTextActionReporterFAILURE. The response we received from the server was not u
nderstood: Signature-Version: 1.0
message: Error occurred during deployment: Exception while preparing t
he app : JSP Compilation Error: org.apache.jasper.JasperException: PW
C6033: Error in Javac compilation for JSP

PWC6199: G
enerated servlet error:
string:///download_jsp.java:8: packag
e com.portal.util does not exist

PWC6199: Generated
servlet error:
string:///download_jsp.java:9: package com.por
tal.util does not exist

PWC6199: Generated servlet e
rror:
string:///download_jsp.java:12: package com.contshipita
lia.broker does not exist

PWC6199: Generated servlet
error:
string:///download_jsp.java:13: package com.contshipi
talia.persistence does not exist

PWC6199: Generated
servlet error:
string:///download_jsp.java:14: package com.co
ntshipitalia.persistence does not exist

PWC6199: Gen
erated servlet error:
string:///download_jsp.java:15: package
com.contshipitalia.util does not exist

PWC6199: Gen
erated servlet error:
string:///download_jsp.java:16: package
com.contshipitalia.net does not exist

PWC6197: An e
rror occurred at line: 13 in the jsp file: /resources/download.jsp%%%
EOL%%%PWC6199: Generated servlet error:
string:///download_js
p.java:21: cannot find symbol
symbol : class GenericServiceB
roker
location: class org.apache.jsp.resources.download_jsp%%
%EOL%%%
PWC6197: An error occurred at line: 13 in the jsp fil
e: /resources/download.jsp
PWC6199: Generated servlet error:%
%%EOL%%%string:///download_jsp.java:21: cannot find symbol
sy
mbol : class GenericServiceBroker
location: class org.apache
.jsp.resources.download_jsp

PWC6197: An error occurr
ed at line: 13 in the jsp file: /resources/download.jsp
PWC61
99: Generated servlet error:
string:///download_jsp.java:58:
package com.contshipitalia.net does not exist

PWC619
7: An error occurred at line: 13 in the jsp file: /resources/download
.jsp
PWC6199: Generated servlet error:
string:///down
load_jsp.java:60: package com.contshipitalia.net does not exist%%%EOL
%%%
PWC6197: An error occurred at line: 13 in the jsp file: /
resources/download.jsp
PWC6199: Generated servlet error:%%%EO
L%%%string:///download_jsp.java:63: package com.contshipitalia.net do
es not exist

PWC6197: An error occurred at line: 14
in the jsp file: /resources/download.jsp
PWC6199: Generated s
ervlet error:
string:///download_jsp.java:76: cannot find sym
bol
symbol : variable Form
location: class org.apach
e.jsp.resources.download_jsp

PWC6197: An error occur
red at line: 14 in the jsp file: /resources/download.jsp
PWC6
199: Generated servlet error:
string:///download_jsp.java:89:
cannot find symbol
symbol : class Download
location
: class org.apache.jsp.resources.download_jsp

PWC619
7: An error occurred at line: 14 in the jsp file: /resources/download
.jsp
PWC6199: Generated servlet error:
string:///down
load_jsp.java:95: cannot find symbol
symbol : variable Form%
%%EOL%%%location: class org.apache.jsp.resources.download_jsp%%%EOL%%
%
PWC6197: An error occurred at line: 14 in the jsp file: /re
sources/download.jsp
PWC6199: Generated servlet error:%%%EOL%
%%string:///download_jsp.java:101: cannot find symbol
symbol
: variable Environment
location: class org.apache.jsp.resour
ces.download_jsp

PWC6197: An error occurred at line:
14 in the jsp file: /resources/download.jsp
PWC6199: Generat
ed servlet error:
string:///download_jsp.java:109: cannot fin
d symbol
symbol : class GenericData
location: class
org.apache.jsp.resources.download_jsp

PWC6197: An er
ror occurred at line: 14 in the jsp file: /resources/download.jsp%%%E
OL%%%PWC6199: Generated servlet error:
string:///download_jsp
.java:136: cannot find symbol
symbol : class Download%%%EOL%
%%location: class org.apache.jsp.resources.download_jsp
%%%EO
L%%%PWC6197: An error occurred at line: 14 in the jsp file: /resource
s/download.jsp
PWC6199: Generated servlet error:
stri
ng:///download_jsp.java:165: cannot find symbol
symbol : cla
ss Download
location: class org.apache.jsp.resources.download
_jsp

PWC6197: An error occurred at line: 14 in the j
sp file: /resources/download.jsp
PWC6199: Generated servlet e
rror:
string:///download_jsp.java:167: cannot find symbol%%%E
OL%%%symbol : class Download
location: class org.apache.jsp.
resources.download_jsp

PWC6197: An error occurred at
line: 14 in the jsp file: /resources/download.jsp
PWC6199: G
enerated servlet error:
string:///download_jsp.java:184: cann
ot find symbol
symbol : class Download
location: cla
ss org.apache.jsp.resources.download_jsp

PWC6197: An
error occurred at line: 14 in the jsp file: /resources/download.jsp%
%%EOL%%%PWC6199: Generated servlet error:
string:///download_
jsp.java:205: cannot find symbol
symbol : class Download%%%E
OL%%%location: class org.apache.jsp.resources.download_jsp
%%
%EOL%%%PWC6197: An error occurred at line: 14 in the jsp file: /resou
rces/download.jsp
PWC6199: Generated servlet error:
s
tring:///download_jsp.java:218: cannot find symbol
symbol :
class StringInputStream
location: class org.apache.jsp.resour
ces.download_jsp

PWC6197: An error occurred at line:
14 in the jsp file: /resources/download.jsp
PWC6199: Generat
ed servlet error:
string:///download_jsp.java:243: cannot fin
d symbol
symbol : variable JMail
location: class org
.apache.jsp.resources.download_jsp

PWC6197: An error
occurred at line: 14 in the jsp file: /resources/download.jsp%%%EOL%
%%PWC6199: Generated servlet error:
string:///download_jsp.ja
va:247: cannot find symbol
symbol : variable JMail
l
ocation: class org.apache.jsp.resources.download_jsp
%%%EOL%%
% – PWC6033: Error in Javac compilation for JSP

PWC
6199: Generated servlet error:
string:///download_jsp.java:8:
package com.portal.util does not exist

PWC6199: Gen
erated servlet error:
string:///download_jsp.java:9: package
com.portal.util does not exist

PWC6199: Generated se
rvlet error:
string:///download_jsp.java:12: package com.cont
shipitalia.broker does not exist

PWC6199: Generated
servlet error:
string:///download_jsp.java:13: package com.co
ntshipitalia.persistence does not exist

PWC6199: Gen
erated servlet error:
string:///download_jsp.java:14: package
com.contshipitalia.persistence does not exist

PWC61
99: Generated servlet error:
string:///download_jsp.java:15:
package com.contshipitalia.util does not exist

PWC61
99: Generated servlet error:
string:///download_jsp.java:16:
package com.contshipitalia.net does not exist

PWC619
7: An error occurred at line: 13 in the jsp file: /resources/download
.jsp
PWC6199: Generated servlet error:
string:///down
load_jsp.java:21: cannot find symbol
symbol : class GenericS
erviceBroker
location: class org.apache.jsp.resources.downloa
d_jsp

PWC6197: An error occurred at line: 13 in the
jsp file: /resources/download.jsp
PWC6199: Generated servlet
error:
string:///download_jsp.java:21: cannot find symbol%%%E
OL%%%symbol : class GenericServiceBroker
location: class org
.apache.jsp.resources.download_jsp

PWC6197: An error
occurred at line: 13 in the jsp file: /resources/download.jsp%%%EOL%
%%PWC6199: Generated servlet error:
string:///download_jsp.ja
va:58: package com.contshipitalia.net does not exist
%%%EOL%%
%PWC6197: An error occurred at line: 13 in the jsp file: /resources/d
ownload.jsp
PWC6199: Generated servlet error:
string:
///download_jsp.java:60: package com.contshipitalia.net does not exis
t

PWC6197: An error occurred at line: 13 in the jsp
file: /resources/download.jsp
PWC6199: Generated servlet erro
r:
string:///download_jsp.java:63: package com.contshipitalia
.net does not exist

PWC6197: An error occurred at li
ne: 14 in the jsp file: /resources/download.jsp
PWC6199: Gene
rated servlet error:
string:///download_jsp.java:76: cannot f
ind symbol
symbol : variable Form
location: class or
g.apache.jsp.resources.download_jsp

PWC6197: An erro
r occurred at line: 14 in the jsp file: /resources/download.jsp%%%EOL
%%%PWC6199: Generated servlet error:
string:///download_jsp.j
ava:89: cannot find symbol
symbol : class Download
l
ocation: class org.apache.jsp.resources.download_jsp
%%%EOL%%
%PWC6197: An error occurred at line: 14 in the jsp file: /resources/d
ownload.jsp
PWC6199: Generated servlet error:
string:
///download_jsp.java:95: cannot find symbol
symbol : variabl
e Form
location: class org.apache.jsp.resources.download_jsp%
%%EOL%%%
PWC6197: An error occurred at line: 14 in the jsp fi
le: /resources/download.jsp
PWC6199: Generated servlet error:

string:///download_jsp.java:101: cannot find symbol

symbol : variable Environment
location: class org.apache.jsp
.resources.download_jsp

PWC6197: An error occurred a
t line: 14 in the jsp file: /resources/download.jsp
PWC6199:
Generated servlet error:
string:///download_jsp.java:109: can
not find symbol
symbol : class GenericData
location:
class org.apache.jsp.resources.download_jsp

PWC6197
: An error occurred at line: 14 in the jsp file: /resources/download.
jsp
PWC6199: Generated servlet error:
string:///downl
oad_jsp.java:136: cannot find symbol
symbol : class Download

location: class org.apache.jsp.resources.download_jsp%%%EOL%
%%
PWC6197: An error occurred at line: 14 in the jsp file: /r
esources/download.jsp
PWC6199: Generated servlet error:%%%EOL
%%%string:///download_jsp.java:165: cannot find symbol
symbol
: class Download
location: class org.apache.jsp.resources.d
ownload_jsp

PWC6197: An error occurred at line: 14 i
n the jsp file: /resources/download.jsp
PWC6199: Generated se
rvlet error:
string:///download_jsp.java:167: cannot find sym
bol
symbol : class Download
location: class org.apac
he.jsp.resources.download_jsp

PWC6197: An error occu
rred at line: 14 in the jsp file: /resources/download.jsp
PWC
6199: Generated servlet error:
string:///download_jsp.java:18
4: cannot find symbol
symbol : class Download
locati
on: class org.apache.jsp.resources.download_jsp

PWC6
197: An error occurred at line: 14 in the jsp file: /resources/downlo
ad.jsp
PWC6199: Generated servlet error:
string:///do
wnload_jsp.java:205: cannot find symbol
symbol : class Downl
oad
location: class org.apache.jsp.resources.download_jsp%%%E
OL%%%
PWC6197: An error occurred at line: 14 in the jsp file:
/resources/download.jsp
PWC6199: Generated servlet error:%%%
EOL%%%string:///download_jsp.java:218: cannot find symbol
sym
bol : class StringInputStream
location: class org.apache.jsp
.resources.download_jsp

PWC6197: An error occurred a
t line: 14 in the jsp file: /resources/download.jsp
PWC6199:
Generated servlet error:
string:///download_jsp.java:243: can
not find symbol
symbol : variable JMail
location: cl
ass org.apache.jsp.resources.download_jsp

PWC6197: A
n error occurred at line: 14 in the jsp file: /resources/download.jsp

PWC6199: Generated servlet error:
string:///download
_jsp.java:247: cannot find symbol
symbol : variable JMail%%%
EOL%%%location: class org.apache.jsp.resources.download_jsp
%
%%EOL%%%. Please see server.log for more details.
Exception w
hile invoking class com.sun.enterprise.web.WebDeployer prepare method
: java.lang.RuntimeException: JSP Compilation Error: org.apache.jasp
er.JasperException: PWC6033: Error in Javac compilation for JSP%%%EOL
%%%
PWC6199: Generated servlet error:
string:///downl
oad_jsp.java:8: package com.portal.util does not exist
%%%EOL
%%%PWC6199: Generated servlet error:
string:///download_jsp.j
ava:9: package com.portal.util does not exist

PWC619
9: Generated servlet error:
string:///download_jsp.java:12: p
ackage com.contshipitalia.broker does not exist

PWC6
199: Generated servlet error:
string:///download_jsp.java:13:
package com.contshipitalia.persistence does not exist
%%%EOL
%%%PWC6199: Generated servlet error:
string:///download_jsp.j
ava:14: package com.contshipitalia.persistence does not exist%%%EOL%%
%
PWC6199: Generated servlet error:
string:///downloa
d_jsp.java:15: package com.contshipitalia.util does not exist%%%EOL%%
%
PWC6199: Generated servlet error:
string:///downloa
d_jsp.java:16: package com.contshipitalia.net does not exist

PWC6197: An error occurred at line: 13 in the jsp file: /res
ources/download.jsp
PWC6199: Generated servlet error:%%%EOL%%
%string:///download_jsp.java:21: cannot find symbol
symbol :
class GenericServiceBroker
location: class org.apache.jsp.re
sources.download_jsp

PWC6197: An error occurred at l
ine: 13 in the jsp file: /resources/download.jsp
PWC6199: Gen
erated servlet error:
string:///download_jsp.java:21: cannot
find symbol
symbol : class GenericServiceBroker
loca
tion: class org.apache.jsp.resources.download_jsp

PW
C6197: An error occurred at line: 13 in the jsp file: /resources/down
load.jsp
PWC6199: Generated servlet error:
string:///
download_jsp.java:58: package com.contshipitalia.net does not exist%%
%EOL%%%
PWC6197: An error occurred at line: 13 in the jsp fil
e: /resources/download.jsp
PWC6199: Generated servlet error:%
%%EOL%%%string:///download_jsp.java:60: package com.contshipitalia.ne
t does not exist

PWC6197: An error occurred at line:
13 in the jsp file: /resources/download.jsp
PWC6199: Generat
ed servlet error:
string:///download_jsp.java:63: package com
.contshipitalia.net does not exist

PWC6197: An error
occurred at line: 14 in the jsp file: /resources/download.jsp%%%EOL%
%%PWC6199: Generated servlet error:
string:///download_jsp.ja
va:76: cannot find symbol
symbol : variable Form
loc
ation: class org.apache.jsp.resources.download_jsp

P
WC6197: An error occurred at line: 14 in the jsp file: /resources/dow
nload.jsp
PWC6199: Generated servlet error:
string://
/download_jsp.java:89: cannot find symbol
symbol : class Dow
nload
location: class org.apache.jsp.resources.download_jsp%%
%EOL%%%
PWC6197: An error occurred at line: 14 in the jsp fil
e: /resources/download.jsp
PWC6199: Generated servlet error:%
%%EOL%%%string:///download_jsp.java:95: cannot find symbol
sy
mbol : variable Form
location: class org.apache.jsp.resource
s.download_jsp

PWC6197: An error occurred at line: 1
4 in the jsp file: /resources/download.jsp
PWC6199: Generated
servlet error:
string:///download_jsp.java:101: cannot find
symbol
symbol : variable Environment
location: class
org.apache.jsp.resources.download_jsp

PWC6197: An e
rror occurred at line: 14 in the jsp file: /resources/download.jsp%%%
EOL%%%PWC6199: Generated servlet error:
string:///download_js
p.java:109: cannot find symbol
symbol : class GenericData%%%
EOL%%%location: class org.apache.jsp.resources.download_jsp
%
%%EOL%%%PWC6197: An error occurred at line: 14 in the jsp file: /reso
urces/download.jsp
PWC6199: Generated servlet error:

string:///download_jsp.java:136: cannot find symbol
symbol :
class Download
location: class org.apache.jsp.resources.down
load_jsp

PWC6197: An error occurred at line: 14 in t
he jsp file: /resources/download.jsp
PWC6199: Generated servl
et error:
string:///download_jsp.java:165: cannot find symbol

symbol : class Download
location: class org.apache.
jsp.resources.download_jsp

PWC6197: An error occurre
d at line: 14 in the jsp file: /resources/download.jsp
PWC619
9: Generated servlet error:
string:///download_jsp.java:167:
cannot find symbol
symbol : class Download
location:
class org.apache.jsp.resources.download_jsp

PWC6197
: An error occurred at line: 14 in the jsp file: /resources/download.
jsp
PWC6199: Generated servlet error:
string:///downl
oad_jsp.java:184: cannot find symbol
symbol : class Download

location: class org.apache.jsp.resources.download_jsp%%%EOL%
%%
PWC6197: An error occurred at line: 14 in the jsp file: /r
esources/download.jsp
PWC6199: Generated servlet error:%%%EOL
%%%string:///download_jsp.java:205: cannot find symbol
symbol
: class Download
location: class org.apache.jsp.resources.d
ownload_jsp

PWC6197: An error occurred at line: 14 i
n the jsp file: /resources/download.jsp
PWC6199: Generated se
rvlet error:
string:///download_jsp.java:218: cannot find sym
bol
symbol : class StringInputStream
location: class
org.apache.jsp.resources.download_jsp

PWC6197: An e
rror occurred at line: 14 in the jsp file: /resources/download.jsp%%%
EOL%%%PWC6199: Generated servlet error:
string:///download_js
p.java:243: cannot find symbol
symbol : variable JMail%%%EOL
%%%location: class org.apache.jsp.resources.download_jsp
%%%E
OL%%%PWC6197: An error occurred at line: 14 in the jsp file: /resourc
es/download.jsp
PWC6199: Generated servlet error:
str
ing:///download_jsp.java:247: cannot find symbol
symbol : va
riable JMail
location: class org.apache.jsp.resources.downloa
d_jsp

– PWC6033: Error in Javac compilation for JS
P

PWC6199: Generated servlet error:
string:/
//download_jsp.java:8: package com.portal.util does not exist%%%EOL%%
%
PWC6199: Generated servlet error:
string:///downloa
d_jsp.java:9: package com.portal.util does not exist
%%%EOL%%
%PWC6199: Generated servlet error:
string:///download_jsp.jav
a:12: package com.contshipitalia.broker does not exist
%%%EOL
%%%PWC6199: Generated servlet error:
string:///download_jsp.j
ava:13: package com.contshipitalia.persistence does not exist%%%EOL%%
%
PWC6199: Generated servlet error:
string:///downloa
d_jsp.java:14: package com.contshipitalia.persistence does not exist%
%%EOL%%%
PWC6199: Generated servlet error:
string:///
download_jsp.java:15: package com.contshipitalia.util does not exist%
%%EOL%%%
PWC6199: Generated servlet error:
string:///
download_jsp.java:16: package com.contshipitalia.net does not exist%%
%EOL%%%
PWC6197: An error occurred at line: 13 in the jsp fil
e: /resources/download.jsp
PWC6199: Generated servlet error:%
%%EOL%%%string:///download_jsp.java:21: cannot find symbol
sy
mbol : class GenericServiceBroker
location: class org.apache
.jsp.resources.download_jsp

PWC6197: An error occurr
ed at line: 13 in the jsp file: /resources/download.jsp
PWC61
99: Generated servlet error:
string:///download_jsp.java:21:
cannot find symbol
symbol : class GenericServiceBroker%%%EOL
%%%location: class org.apache.jsp.resources.download_jsp
%%%E
OL%%%PWC6197: An error occurred at line: 13 in the jsp file: /resourc
es/download.jsp
PWC6199: Generated servlet error:
str
ing:///download_jsp.java:58: package com.contshipitalia.net does not
exist

PWC6197: An error occurred at line: 13 in the
jsp file: /resources/download.jsp
PWC6199: Generated servlet
error:
string:///download_jsp.java:60: package com.contshipit
alia.net does not exist

PWC6197: An error occurred a
t line: 13 in the jsp file: /resources/download.jsp
PWC6199:
Generated servlet error:
string:///download_jsp.java:63: pack
age com.contshipitalia.net does not exist

PWC6197: A
n error occurred at line: 14 in the jsp file: /resources/download.jsp

PWC6199: Generated servlet error:
string:///download
_jsp.java:76: cannot find symbol
symbol : variable Form%%%EO
L%%%location: class org.apache.jsp.resources.download_jsp
%%%
EOL%%%PWC6197: An error occurred at line: 14 in the jsp file: /resour
ces/download.jsp
PWC6199: Generated servlet error:
st
ring:///download_jsp.java:89: cannot find symbol
symbol : cl
ass Download
location: class org.apache.jsp.resources.downloa
d_jsp

PWC6197: An error occurred at line: 14 in the
jsp file: /resources/download.jsp
PWC6199: Generated servlet
error:
string:///download_jsp.java:95: cannot find symbol%%%E
OL%%%symbol : variable Form
location: class org.apache.jsp.r
esources.download_jsp

PWC6197: An error occurred at
line: 14 in the jsp file: /resources/download.jsp
PWC6199: Ge
nerated servlet error:
string:///download_jsp.java:101: canno
t find symbol
symbol : variable Environment
location
: class org.apache.jsp.resources.download_jsp

PWC619
7: An error occurred at line: 14 in the jsp file: /resources/download
.jsp
PWC6199: Generated servlet error:
string:///down
load_jsp.java:109: cannot find symbol
symbol : class Generic
Data
location: class org.apache.jsp.resources.download_jsp%%%
EOL%%%
PWC6197: An error occurred at line: 14 in the jsp file
: /resources/download.jsp
PWC6199: Generated servlet error:%%
%EOL%%%string:///download_jsp.java:136: cannot find symbol
sy
mbol : class Download
location: class org.apache.jsp.resourc
es.download_jsp

PWC6197: An error occurred at line:
14 in the jsp file: /resources/download.jsp
PWC6199: Generate
d servlet error:
string:///download_jsp.java:165: cannot find
symbol
symbol : class Download
location: class org.
apache.jsp.resources.download_jsp

PWC6197: An error
occurred at line: 14 in the jsp file: /resources/download.jsp%%%EOL%%
%PWC6199: Generated servlet error:
string:///download_jsp.jav
a:167: cannot find symbol
symbol : class Download
lo
cation: class org.apache.jsp.resources.download_jsp

PWC6197: An error occurred at line: 14 in the jsp file: /resources/do
wnload.jsp
PWC6199: Generated servlet error:
string:/
//download_jsp.java:184: cannot find symbol
symbol : class D
ownload
location: class org.apache.jsp.resources.download_jsp

PWC6197: An error occurred at line: 14 in the jsp f
ile: /resources/download.jsp
PWC6199: Generated servlet error
:
string:///download_jsp.java:205: cannot find symbol%%%EOL%%
%symbol : class Download
location: class org.apache.jsp.reso
urces.download_jsp

PWC6197: An error occurred at lin
e: 14 in the jsp file: /resources/download.jsp
PWC6199: Gener
ated servlet error:
string:///download_jsp.java:218: cannot f
ind symbol
symbol : class StringInputStream
location
: class org.apache.jsp.resources.download_jsp

PWC619
7: An error occurred at line: 14 in the jsp file: /resources/download
.jsp
PWC6199: Generated servlet error:
string:///down
load_jsp.java:243: cannot find symbol
symbol : variable JMai
l
location: class org.apache.jsp.resources.download_jsp%%%EOL
%%%
PWC6197: An error occurred at line: 14 in the jsp file: /
resources/download.jsp
PWC6199: Generated servlet error:%%%EO
L%%%string:///download_jsp.java:247: cannot find symbol
symbo
l : variable JMail
location: class org.apache.jsp.resources.
download_jsp

JSP Compilation Error: org.apa
che.jasper.JasperException: PWC6033: Error in Javac compilation for J
SP

PWC6199: Generated servlet error:
string:///download_jsp.java:8:
package com.portal.util does not exist

PWC6199: Generated servlet er
ror:
string:///download_jsp.java:9: package com.portal.util does not
exist

PWC6199: Generated servlet error:
string:///download_jsp.java:
12: package com.contshipitalia.broker does not exist

PWC6199: Genera
ted servlet error:
string:///download_jsp.java:13: package com.contsh
ipitalia.persistence does not exist

PWC6199: Generated servlet error
:
string:///download_jsp.java:14: package com.contshipitalia.persiste
nce does not exist

PWC6199: Generated servlet error:
string:///downl
oad_jsp.java:15: package com.contshipitalia.util does not exist

PWC6
199: Generated servlet error:
string:///download_jsp.java:16: package
com.contshipitalia.net does not exist

PWC6197: An error occurred at
line: 13 in the jsp file: /resources/download.jsp
PWC6199: Generated
servlet error:
string:///download_jsp.java:21: cannot find symbol
sy
mbol : class GenericServiceBroker
location: class org.apache.jsp.res
ources.download_jsp

PWC6197: An error occurred at line: 13 in the js
p file: /resources/download.jsp
PWC6199: Generated servlet error:
str
ing:///download_jsp.java:21: cannot find symbol
symbol : class Gener
icServiceBroker
location: class org.apache.jsp.resources.download_jsp

PWC6197: An error occurred at line: 13 in the jsp file: /resources/
download.jsp
PWC6199: Generated servlet error:
string:///download_jsp
.java:58: package com.contshipitalia.net does not exist

PWC6197: An
error occurred at line: 13 in the jsp file: /resources/download.jsp
P
WC6199: Generated servlet error:
string:///download_jsp.java:60: pack
age com.contshipitalia.net does not exist

PWC6197: An error occurred
at line: 13 in the jsp file: /resources/download.jsp
PWC6199: Genera
ted servlet error:
string:///download_jsp.java:63: package com.contsh
ipitalia.net does not exist

PWC6197: An error occurred at line: 14 i
n the jsp file: /resources/download.jsp
PWC6199: Generated servlet er
ror:
string:///download_jsp.java:76: cannot find symbol
symbol : var
iable Form
location: class org.apache.jsp.resources.download_jsp

PWC
6197: An error occurred at line: 14 in the jsp file: /resources/downl
oad.jsp
PWC6199: Generated servlet error:
string:///download_jsp.java
:89: cannot find symbol
symbol : class Download
location: class org.
apache.jsp.resources.download_jsp

PWC6197: An error occurred at line
: 14 in the jsp file: /resources/download.jsp
PWC6199: Generated serv
let error:
string:///download_jsp.java:95: cannot find symbol
symbol
: variable Form
location: class org.apache.jsp.resources.download_js
p

PWC6197: An error occurred at line: 14 in the jsp file: /resources
/download.jsp
PWC6199: Generated servlet error:
string:///download_js
p.java:101: cannot find symbol
symbol : variable Environment
locatio
n: class org.apache.jsp.resources.download_jsp

PWC6197: An error occ
urred at line: 14 in the jsp file: /resources/download.jsp
PWC6199: G
enerated servlet error:
string:///download_jsp.java:109: cannot find
symbol
symbol : class GenericData
location: class org.apache.jsp.res
ources.download_jsp

PWC6197: An error occurred at line: 14 in the js
p file: /resources/download.jsp
PWC6199: Generated servlet error:
str
ing:///download_jsp.java:136: cannot find symbol
symbol : class Down
load
location: class org.apache.jsp.resources.download_jsp

PWC6197:
An error occurred at line: 14 in the jsp file: /resources/download.js
p
PWC6199: Generated servlet error:
string:///download_jsp.java:165:
cannot find symbol
symbol : class Download
location: class org.apach
e.jsp.resources.download_jsp

PWC6197: An error occurred at line: 14
in the jsp file: /resources/download.jsp
PWC6199: Generated servlet e
rror:
string:///download_jsp.java:167: cannot find symbol
symbol : c
lass Download
location: class org.apache.jsp.resources.download_jsp

PWC6197: An error occurred at line: 14 in the jsp file: /resources/do
wnload.jsp
PWC6199: Generated servlet error:
string:///download_jsp.j
ava:184: cannot find symbol
symbol : class Download
location: class
org.apache.jsp.resources.download_jsp

PWC6197: An error occurred at
line: 14 in the jsp file: /resources/download.jsp
PWC6199: Generated
servlet error:
string:///download_jsp.java:205: cannot find symbol
sy
mbol : class Download
location: class org.apache.jsp.resources.downl
oad_jsp

PWC6197: An error occurred at line: 14 in the jsp file: /res
ources/download.jsp
PWC6199: Generated servlet error:
string:///downl
oad_jsp.java:218: cannot find symbol
symbol : class StringInputStrea
m
location: class org.apache.jsp.resources.download_jsp

PWC6197: An
error occurred at line: 14 in the jsp file: /resources/download.jsp
P
WC6199: Generated servlet error:
string:///download_jsp.java:243: can
not find symbol
symbol : variable JMail
location: class org.apache.j
sp.resources.download_jsp

PWC6197: An error occurred at line: 14 in
the jsp file: /resources/download.jsp
PWC6199: Generated servlet erro
r:
string:///download_jsp.java:247: cannot find symbol
symbol : vari
able JMail
location: class org.apache.jsp.resources.download_jsp


PWC6033: Error in Javac compilation for JSP

PWC6199: Generated serv
let error:
string:///download_jsp.java:8: package com.portal.util doe
s not exist

PWC6199: Generated servlet error:
string:///download_jsp
.java:9: package com.portal.util does not exist

PWC6199: Generated s
ervlet error:
string:///download_jsp.java:12: package com.contshipita
lia.broker does not exist

PWC6199: Generated servlet error:
string:/
//download_jsp.java:13: package com.contshipitalia.persistence does n
ot exist

PWC6199: Generated servlet error:
string:///download_jsp.ja
va:14: package com.contshipitalia.persistence does not exist

PWC6199
: Generated servlet error:
string:///download_jsp.java:15: package co
m.contshipitalia.util does not exist

PWC6199: Generated servlet erro
r:
string:///download_jsp.java:16: package com.contshipitalia.net doe
s not exist

PWC6197: An error occurred at line: 13 in the jsp file:
/resources/download.jsp
PWC6199: Generated servlet error:
string:///d
ownload_jsp.java:21: cannot find symbol
symbol : class GenericServic
eBroker
location: class org.apache.jsp.resources.download_jsp

PWC619
7: An error occurred at line: 13 in the jsp file: /resources/download
.jsp
PWC6199: Generated servlet error:
string:///download_jsp.java:21
: cannot find symbol
symbol : class GenericServiceBroker
location: c
lass org.apache.jsp.resources.download_jsp

PWC6197: An error occurre
d at line: 13 in the jsp file: /resources/download.jsp
PWC6199: Gener
ated servlet error:
string:///download_jsp.java:58: package com.conts
hipitalia.net does not exist

PWC6197: An error occurred at line: 13
in the jsp file: /resources/download.jsp
PWC6199: Generated servlet e
rror:
string:///download_jsp.java:60: package com.contshipitalia.net
does not exist

PWC6197: An error occurred at line: 13 in the jsp fil
e: /resources/download.jsp
PWC6199: Generated servlet error:
string:/
//download_jsp.java:63: package com.contshipitalia.net does not exist

PWC6197: An error occurred at line: 14 in the jsp file: /resources/
download.jsp
PWC6199: Generated servlet error:
string:///download_jsp
.java:76: cannot find symbol
symbol : variable Form
location: class
org.apache.jsp.resources.download_jsp

PWC6197: An error occurred at
line: 14 in the jsp file: /resources/download.jsp
PWC6199: Generated
servlet error:
string:///download_jsp.java:89: cannot find symbol
sym
bol : class Download
location: class org.apache.jsp.resources.downlo
ad_jsp

PWC6197: An error occurred at line: 14 in the jsp file: /reso
urces/download.jsp
PWC6199: Generated servlet error:
string:///downlo
ad_jsp.java:95: cannot find symbol
symbol : variable Form
location:
class org.apache.jsp.resources.download_jsp

PWC6197: An error occurr
ed at line: 14 in the jsp file: /resources/download.jsp
PWC6199: Gene
rated servlet error:
string:///download_jsp.java:101: cannot find sym
bol
symbol : variable Environment
location: class org.apache.jsp.res
ources.download_jsp

PWC6197: An error occurred at line: 14 in the js
p file: /resources/download.jsp
PWC6199: Generated servlet error:
str
ing:///download_jsp.java:109: cannot find symbol
symbol : class Gene
ricData
location: class org.apache.jsp.resources.download_jsp

PWC619
7: An error occurred at line: 14 in the jsp file: /resources/download
.jsp
PWC6199: Generated servlet error:
string:///download_jsp.java:13
6: cannot find symbol
symbol : class Download
location: class org.ap
ache.jsp.resources.download_jsp

PWC6197: An error occurred at line:
14 in the jsp file: /resources/download.jsp
PWC6199: Generated servle
t error:
string:///download_jsp.java:165: cannot find symbol
symbol
: class Download
location: class org.apache.jsp.resources.download_js
p

PWC6197: An error occurred at line: 14 in the jsp file: /resources
/download.jsp
PWC6199: Generated servlet error:
string:///download_js
p.java:167: cannot find symbol
symbol : class Download
location: cla
ss org.apache.jsp.resources.download_jsp

PWC6197: An error occurred
at line: 14 in the jsp file: /resources/download.jsp
PWC6199: Generat
ed servlet error:
string:///download_jsp.java:184: cannot find symbol

symbol : class Download
location: class org.apache.jsp.resources.do
wnload_jsp

PWC6197: An error occurred at line: 14 in the jsp file: /
resources/download.jsp
PWC6199: Generated servlet error:
string:///do
wnload_jsp.java:205: cannot find symbol
symbol : class Download
loca
tion: class org.apache.jsp.resources.download_jsp

PWC6197: An error
occurred at line: 14 in the jsp file: /resources/download.jsp
PWC6199
: Generated servlet error:
string:///download_jsp.java:218: cannot fi
nd symbol
symbol : class StringInputStream
location: class org.apach
e.jsp.resources.download_jsp

PWC6197: An error occurred at line: 14
in the jsp file: /resources/download.jsp
PWC6199: Generated servlet e
rror:
string:///download_jsp.java:243: cannot find symbol
symbol : v
ariable JMail
location: class org.apache.jsp.resources.download_jsp

PWC6197: An error occurred at line: 14 in the jsp file: /resources/do
wnload.jsp
PWC6199: Generated servlet error:
string:///download_jsp.j
ava:247: cannot find symbol
symbol : variable JMail
location: class
org.apache.jsp.resources.download_jsp

name_value: CSIPortal-J2EE6
name_name: name
keys: name
use-main-children-attribute: false
exit-code: FAILURE

Command deploy failed.

Comment by Hong Zhang [ 15/Jul/11 ]

From the error message, the precompilejsp flag is passed to the web container, but there are some issues in compiling the jsps. Assign to kinman for further evaluation.

Comment by cistox [ 18/Jul/11 ]

Hello,
I extend the issue to servlets.

If I do not precompile JSPs but I just deploy the EAR, then I found that I cannot access either JSPs and Servlets.

a) JSPs are not accessible as they are not compiled even dynamically on request.

b) Servlets are not reachable... thus this seems the servlet container is not able to read the web.xml

We have a distributable WAR inside the EAR along with some EJB modules and JPA entities.

The same EAR is working fine when deployed on a Glassfish 3.1 installed for development (default install option)

Hope this helps, but I please ask you if you could provide a workaround.

I mean a manual way to fix the deployment on a cluster.

Thank you in advance

Roberto Cisternino

Comment by kchung [ 20/Jul/11 ]

When try deploying the ear file, I got the following error:

./asadmin deploy --precompilejsp=true ~/d/CSIPortal-J2EE6.ear
remote failure: Error occurred during deployment: Exception while preparing the app : Invalid resource : jdbc/AS400_MCT__pm. Please see server.log for more details.
Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method : java.lang.RuntimeException: Invalid resource : jdbc/AS400_MCT__pm
Invalid resource : jdbc/AS400_MCT__pm
Command deploy failed.

Comment by cistox [ 20/Jul/11 ]

Well,
I have not mentioned that this is an enterprise application that is using 13 databases, so for a test I would suggest to install the following glassfish-resources.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
<jdbc-resource enabled="true" jndi-name="jdbc/WEBCDB" object-type="user" pool-name="DB2-UDB_WEBCDB">
<description>CSI Portal Central Index DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/WEBDBLSCT" object-type="user" pool-name="SQLServer_LSCT">
<description>CSI Portal LSCT Remote DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/WEBDBCICT" object-type="user" pool-name="SQLServer_CICT">
<description>CSI Portal CICT Remote DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/WEBDBTCR" object-type="user" pool-name="SQLServer_TCR">
<description>CSI Portal TCR Remote DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/WEBDBEGATE" object-type="user" pool-name="SQLServer_EGT">
<description>CSI Portal EGT Remote DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/WEBDBMCT" object-type="user" pool-name="SQLServer_MCT">
<description>CSI Portal MCT Remote DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/WEBDBSOGEMAR" object-type="user" pool-name="ORACLE_SOGEMAR">
<description>CSI Portal SOGEMAR Remote DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/MCTSTAPDB" object-type="user" pool-name="SQLServer_Stap_MCT">
<description>MCT Stap DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/MCTSrvAcc" object-type="user" pool-name="SQLServer_AccServ_MCT">
<description>MCT Accessorial Services DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/MCT_LASHING" object-type="user" pool-name="SQLServer_Lashing_MCT">
<description>MCT Lashing DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/AS400_LSCT" object-type="user" pool-name="DB2-AS400_LSCT">
<description>LSCT AS400 DB</description>
</jdbc-resource>
<jdbc-resource enabled="true" jndi-name="jdbc/AS400_MCT" object-type="user" pool-name="DB2-AS400_MCT">
<description>MCT AS400 DB</description>
</jdbc-resource>
<mail-resource debug="false" enabled="true" from="CSIPortal@contshipitalia.com" host="w2kspeexc2.contship.net" jndi-name="mail/mailer" object-type="user" store-protocol="imap" store-protocol-class="com.sun.mail.imap.IMAPStore" transport-protocol="smtp" transport-protocol-class="com.sun.mail.smtp.SMTPTransport" user="CSIPortal">
<description/>
<property name="mail.password" value="SuPerpippox.68"/>
</mail-resource>
<jdbc-connection-pool allow-non-component-callers="true" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="table" datasource-classname="com.ibm.db2.jcc.DB2ConnectionPoolDataSource" fail-all-connections="true" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="50" max-wait-time-in-millis="60000" name="DB2-UDB_WEBCDB" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="5" validate-atmost-once-period-in-seconds="0" validation-table-name="DUMMY" wrap-jdbc-objects="true">
<description>WEBCDB - DB2 8.2 Universal JDBC Driver Provider</description>
<property name="serverName" value="10.5.1.77"/>
<property name="portNumber" value="50004"/>
<property name="databaseName" value="WEBCDB"/>
<property name="driverType" value="4"/>
<property name="User" value="addb2"/>
<property name="Password" value="addb2"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.ibm.as400.access.AS400JDBCConnectionPoolDataSource" fail-all-connections="true" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="15" max-wait-time-in-millis="60000" name="DB2-AS400_LSCT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="2" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="true">
<description>LSCT - AS400 Toolbox JDBC Driver</description>
<property name="User" value="EDI"/>
<property name="Password" value="vermentino"/>
<property name="serverName" value="10.5.1.21"/>
<property name="databaseName" value="S650514C"/>
<property name="dateFormat" value="ISO"/>
<property name="driver" value="toolbox"/>
<property name="access" value="all"/>
<property name="blockSize" value="32"/>
<property name="blockCriteria" value="2"/>
<property name="dataTruncation" value="true"/>
<property name="dataCompression" value="true"/>
<property name="lazyClose" value="false"/>
<property name="fullOpen" value="false"/>
<property name="extendedMetaData" value="false"/>
<property name="extendedDynamic" value="false"/>
<property name="bigDecimal" value="true"/>
<property name="cursorHold" value="false"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.ibm.as400.access.AS400JDBCConnectionPoolDataSource" fail-all-connections="true" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="20" max-wait-time-in-millis="60000" name="DB2-AS400_MCT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="2" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="true">
<description>MCT - AS400 Toolbox JDBC Driver</description>
<property name="User" value="LSCT_WEB"/>
<property name="Password" value="WEB_LSCT"/>
<property name="serverName" value="10.20.1.5"/>
<property name="databaseName" value="TESTDB"/>
<property name="libraries" value="BLOCCOAB"/>
<property name="dateFormat" value="ISO"/>
<property name="driver" value="toolbox"/>
<property name="access" value="all"/>
<property name="blockSize" value="32"/>
<property name="blockCriteria" value="2"/>
<property name="dataTruncation" value="true"/>
<property name="dataCompression" value="true"/>
<property name="lazyClose" value="false"/>
<property name="fullOpen" value="false"/>
<property name="extendedMetaData" value="false"/>
<property name="extendedDynamic" value="false"/>
<property name="bigDecimal" value="true"/>
<property name="cursorHold" value="false"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="table" datasource-classname="com.inet.tds.PDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="35" max-wait-time-in-millis="60000" name="SQLServer_LSCT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="5" validate-atmost-once-period-in-seconds="0" validation-table-name="TERMINAL" wrap-jdbc-objects="true">
<description>WEBDB LSCT - Merlia I-NET JDBC Driver for MS SQLServer</description>
<property name="serverName" value="w2kspesql01"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="WEBDB_LSCT"/>
<property name="User" value="nodo"/>
<property name="Password" value="nodo"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="table" datasource-classname="com.inet.tds.PDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="30" max-wait-time-in-millis="60000" name="SQLServer_MCT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="5" validate-atmost-once-period-in-seconds="0" validation-table-name="TERMINAL" wrap-jdbc-objects="true">
<description>WEBDB MCT - Merlia I-NET JDBC Driver for MS SQLServer</description>
<property name="serverName" value="10.20.1.38"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="WEBDB"/>
<property name="User" value="lsct"/>
<property name="Password" value="lsct"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="table" datasource-classname="com.inet.tds.PDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="15" max-wait-time-in-millis="60000" name="SQLServer_CICT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="3" validate-atmost-once-period-in-seconds="0" validation-table-name="TERMINAL" wrap-jdbc-objects="true">
<description>WEBDB CICT - Merlia I-NET JDBC Driver for MS SQLServer</description>
<property name="serverName" value="10.80.1.84"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="WEBDB_CICT"/>
<property name="User" value="nodo"/>
<property name="Password" value="nodo"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="table" datasource-classname="com.inet.tds.PDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="15" max-wait-time-in-millis="60000" name="SQLServer_TCR" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="3" validate-atmost-once-period-in-seconds="0" validation-table-name="TERMINAL" wrap-jdbc-objects="true">
<description>WEBDB TCR - Merlia I-NET JDBC Driver for MS SQLServer</description>
<property name="serverName" value="10.0.2.46"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="WEBDB_TCR"/>
<property name="User" value="nodo"/>
<property name="Password" value="nodo"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="table" datasource-classname="com.inet.tds.PDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="15" max-wait-time-in-millis="60000" name="SQLServer_EGT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="3" validate-atmost-once-period-in-seconds="0" validation-table-name="TERMINAL" wrap-jdbc-objects="true">
<description>WEBDB EGT - Merlia I-NET JDBC Driver for MS SQLServer</description>
<property name="serverName" value="10.60.1.33"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="WEBDB_EGT"/>
<property name="User" value="nodo"/>
<property name="Password" value="nodo"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="table" datasource-classname="oracle.jdbc.pool.OracleConnectionPoolDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="15" max-wait-time-in-millis="60000" name="ORACLE_SOGEMAR" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="3" validate-atmost-once-period-in-seconds="0" validation-table-name="TERMINAL" wrap-jdbc-objects="true">
<description>WEBDB SOGEMAR - ORACLE JDBC Driver</description>
<property name="User" value="dbaportale"/>
<property name="Password" value="sogemar"/>
<property name="url" value="jdbc:oracle:thin:@//10.10.5.14:1521/POS10"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.inet.tds.PDataSource" fail-all-connections="true" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="10" max-wait-time-in-millis="60000" name="SQLServer_Lashing_MCT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="3" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="true">
<description>LASHING MCT - Merlia I-NET JDBC Driver for MS SQLServer</description>
<property name="serverName" value="10.20.1.36"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="TerminalMonitor"/>
<property name="User" value="lsct"/>
<property name="Password" value="lashing"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.inet.tds.PDataSource" fail-all-connections="true" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="10" max-wait-time-in-millis="60000" name="SQLServer_Stap_MCT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="2" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="true">
<description>STAP MCT - Merlia I-NET JDBC Driver for MS SQLServer</description>
<property name="serverName" value="10.20.1.37"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="STAP"/>
<property name="User" value="webstap"/>
<property name="Password" value="lsct"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.inet.tds.PDataSource" fail-all-connections="true" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="10" max-wait-time-in-millis="60000" name="SQLServer_AccServ_MCT" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="2" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="true">
<description>Accessorial Services MCT - Merlia I-NET JDBC Driver for MS SQLServer</description>
<property name="serverName" value="10.20.1.14"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="ServiziAccessori"/>
<property name="User" value="lsct2"/>
<property name="Password" value="lsct2"/>
</jdbc-connection-pool>
</resources>

Comment by kchung [ 21/Jul/11 ]

I added your glassfish-resources.xml to META-INF but still have the same error when deployed. Please attach another ear file with this file added. Thanks.

Comment by cistox [ 25/Jul/11 ]

Sorry I do not understand why you put glassfish resources under META-INF as I think you cannot have jndi resources automatically installed on the cluster.

I used this command to install all JNDI and references:

asadmin add-resources --target CSIPortal-cluster glassfish-resources.xml





[GLASSFISH-17112] CORBA connection broken by PC suspend mode Created: 27/Jul/11  Updated: 10/Jul/12

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: 3.1.1_b11
Fix Version/s: None

Type: Bug Priority: Major
Reporter: mkarg Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Win7 Pro SP1 64 Bit de_DE


Tags: 3_1_2-exclude

 Description   

I am running GFv3.1.1_b11 on a Win7 workstation for development. On the same workstation I have started ACC to run my Swing based client. It works fine. Then I have told the PC to go to suspend mode. After I woke it up again, the client was still useable, but the client's console contained this message:

SCHWERWIEGEND: Exception in ExplorerApplication.ping: java.rmi.MarshalException: CORBA COMM_FAILURE 1330446344 Maybe; nested exception is:
org.omg.CORBA.COMM_FAILURE: FEIN: IOP00410008: Connection abort vmcid: OMG minor code: 8 completed: Maybe

I was able to reproduce this two times.

As suspend mode is nothing particular new or extraordinary, there should be no such message but instead the client should silently reconnect after waking up. In fact, I think that there is nothing broken at all but CORBA just assumes a lost connection since the time since the last network packet is longer than expected (since the workstation was sleeping). So a solution could be as simple as: Trying another attempt before complaining!



 Comments   
Comment by mkarg [ 07/Oct/11 ]

Can reproduce frequently by just going into hibernation mode and waking up again after some time. Really nasty as end users will see that and call the help desk each time.

Comment by mkarg [ 10/Jul/12 ]

Any comments?





[GLASSFISH-17123] Parsing verifier options failed Created: 28/Jul/11  Updated: 13/Feb/13

Status: Open
Project: glassfish
Component/s: verifier
Affects Version/s: 4.0
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: ito_m Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows 7(64bit)


Tags: 3_1_x-exclude

 Description   

I can execute verifier.bat normally if I don't specify any options.
verifier $

{archiveName}

However verifier with any options always seems to fail except for --version and --help.
(Note that I translated some labels such as "Fatal" of command results into the corresponding English words when I wrote the following description because they were originally output as Japanese.)
I show the Case1 - Case 4 to explain this.

Case1) This is the same command as described in help description (--help).
verifier -v -ra -d ${absolutePathToResultDir} ${archiveName}

2011/07/28 16:56:30 com.sun.enterprise.tools.verifier.Initializer parseArgs
Detailed Level (Low): Setting verbose flag to TRUE.
2011/07/28 16:56:30 com.sun.enterprise.tools.verifier.Initializer parseArgs
Fatal: verifier: option [ - ] is not valid.
2011/07/28 16:56:30 com.sun.enterprise.tools.verifier.Initializer usage
Info:
usage: verifier [optional_params] <jarFile>

Case2) This command also returns the same results as Case 1. Parsing "-ra" doesn't work normally.
verifier -v -ra

Case3) This command seems to return collect result because I didn't specify any archives,
but I cannot find this usage in help description (--help).
verifier -vra

2011/07/28 17:08:54 com.sun.enterprise.tools.verifier.Initializer parseArgs
Detailed Level (Low): Setting verbose flag to TRUE.
2011/07/28 17:08:54 com.sun.enterprise.tools.verifier.Initializer setReportingLevel
Detailed Level (Low): Setting output report level to display all results.
2011/07/28 17:08:54 com.sun.enterprise.tools.verifier.Initializer parseArgs
Fatal: verifier: no <jarfilename> specified on command line.
2011/07/28 17:08:54 com.sun.enterprise.tools.verifier.Initializer usage
Info:
usage: verifier [optional_params] <jarFile>

Case4) In this case, the string of "a $

{archiveName}" was parsed as the reporting level wrongly.
verifier -vra ${archiveName}

2011/07/28 17:13:48 com.sun.enterprise.tools.verifier.Initializer parseArgs
Detailed Level (Low): Setting verbose flag to TRUE.
2011/07/28 17:13:48 com.sun.enterprise.tools.verifier.Initializer parseArgs
Fatal: verifier: missing argument for -r or unknown reporting level [ a $

{archiveName}

].
2011/07/28 17:13:48 com.sun.enterprise.tools.verifier.Initializer usage
Info:
usage: verifier [optional_params] <jarFile>

Note that I set up verifier on GFv3.2(r47843) in the following order to use verifier functionality.
1. unzip trunk/v3/packager/glassfish-verifier/target/glassfish-verifier.zip and copy it to glassfish3 dir.
2. get glassfish-javahelp-3.2-SNAPSHOT.zip from maven repo and copy javahelp.jar to glassfish3/glassfish/lib



 Comments   
Comment by Sanjeeb Sahoo [ 20/Oct/11 ]

Will fix it in 4.0 where the bug is reported.





[GLASSFISH-17142] ClassLoader / memory leak in ConnectorTimerProxy Created: 01/Aug/11  Updated: 14/Nov/11

Status: Open
Project: glassfish
Component/s: jca
Affects Version/s: 3.1.1_b12
Fix Version/s: None

Type: Bug Priority: Major
Reporter: rwruck Assignee: Jagadish
Resolution: Unresolved Votes: 6
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-exclude

 Description   

The ConnectorTimerProxy is used to lazily initialize a Timer object. There once was an issue where usage of this proxy caused the proxied timer thread to be bound to the WebApp's ClassLoader, thus preventing it from being discarded when undeploying the application (see GLASSFISH-7074).

Unfortunately, there is another way to create a memory leak: ConnectorTimerProxy extends java.util.Timer and thus it has a TimerThread of its own that's never used since all methods delegate to the proxy timer.
BUT this means that the very first call to getProxy() will create a TimerThread that inherits the calling thread's context class loader and it seems I just came across this case.

jhat says:

Static reference from com.sun.enterprise.connectors.util.ConnectorTimerProxy.connectorTimer
(from class com.sun.enterprise.connectors.util.ConnectorTimerProxy) :
--> com.sun.enterprise.connectors.util.ConnectorTimerProxy@0x9c036b8 (28 bytes) (field thread:)
--> java.util.TimerThread@0x9bf1e58 (113 bytes) (field contextClassLoader:)
--> org.glassfish.web.loader.WebappClassLoader@0x97d9630 (164 bytes) 

Since the ConnectorTimerProxy's own TimerThread is not used at all, I'd suggest to add a call to super.cancel() in the constructor.



 Comments   
Comment by Hong Zhang [ 02/Aug/11 ]

assign to jagadish for evaluation

Comment by rwruck [ 02/Aug/11 ]

Update: While it may be a good idea to stop the unneccesary timer thread, it does not solve the issue, because the TimerThread object which holds the reference to the WebApp's ClassLoader is not set to null in the JDK's cancel() implementation.
A patched glassfish where the getProxy() method uses the same workaround as the getTimer() method, i.e. use the ConnectorClassLoader for creating the ConnectorTimerProxy instance itself, does not expose the described issue anymore.

Comment by rwruck [ 02/Aug/11 ]

Update 2: It seems that the current workaround is not enough to eliminate references to the WebApp ClassLoader. While the contextClassLoader of the timer threads is now set to the connectorClassLoader, they still inherit the caller thread's AccessControlContext - which in turn refers to the thread's ClassLoader.

jhat says:

Static reference from com.sun.enterprise.connectors.util.ConnectorTimerProxy.connectorTimer
(from class com.sun.enterprise.connectors.util.ConnectorTimerProxy) :
--> com.sun.enterprise.connectors.util.ConnectorTimerProxy@0x9b66f00 (32 bytes) (field timer:)
--> java.util.Timer@0x9b746e0 (20 bytes) (field thread:)
--> java.util.TimerThread@0x9b55748 (113 bytes) (field inheritedAccessControlContext:)
--> java.security.AccessControlContext@0x9b72308 (21 bytes) (field context:)
--> [Ljava.security.ProtectionDomain;@0x9b7c358 (80 bytes) (Element 6 of [Ljava.security.ProtectionDomain;@0x9b7c358:)
--> java.security.ProtectionDomain@0x983e028 (30 bytes) (field classloader:)
--> org.glassfish.web.loader.WebappClassLoader@0x9762c30 (164 bytes)

I don't know of any way to specify a newly created thread's AccessControlContext - in fact, being able to do so would break the whole security model.

Maybe I'm missing something but to me it seems that the ConnectorTimerProxy should NEVER be used by a thread whose AccessControlContext might refer to a WebApp's ProtectionDomain - or at least getProxy() and getTimer() need to be called once before any WebApp has a chance to do so. That would reduce the problem to cases where handleTimerException is involved.





[GLASSFISH-17154] Unable to access role-protected remote bean using maven-embedded-glassfish-plugin Created: 05/Aug/11  Updated: 08/Mar/12

Status: Open
Project: glassfish
Component/s: embedded
Affects Version/s: 3.1.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: ljnelson Assignee: sakshi.jain
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Zip Archive remote-authentication.zip    
Tags: 3_1_2-exclude, community, embedded, security

 Description   

I'm using the maven-embedded-glassfish-plugin to do some integration testing.

I have an .ear file with an ejb.jar file in it. The ejb.jar file contains a single, remote, role-protected EJB in it. This .ear file deploys fine to embedded Glassfish v3.1.1.

Prior to deployment, I use the plugin to set up a user named "scott" with a password "tiger" and assign him to the group "superuser". I get the password in there by using the (recently added, as of Glassfish embedded 3.1.1) --passwordfile option (see http://java.net/jira/browse/GLASSFISH-16277). It is my understanding from looking at the domain.xml that ships as part of embedded-all that default Principal-to-role mapping is turned on. These setup commands, using the AdminMojo, complete normally with an odd-to-decipher but presumably OK SUCCESS message.

In my .ear file Maven project, I have a single unit test that attempts to look up this bean from an embedded Glassfish instance that has been started by the maven-embedded-glassfish-plugin. This lookup fails. The lookup string is correct, as the lookup succeeds if I unprotect the bean by removing the @RolesAllowed annotation.

To perform the lookup, I first do a ProgrammaticLogin. I take care to make sure that the login configuration file is passed as a system property, containing the proper configuration for the default realm. The ProgrammaticLogin of course doesn't actually log anyone in at this point; it just stashes the credentials. This completes normally.

But the lookup fails with a CORBA NO_PERMISSION error.

I'm going to attach a Maven project that demonstrates the issue.



 Comments   
Comment by Bhavanishankar [ 08/Mar/12 ]

assigning to Sakshi.





[GLASSFISH-17155] CDI Events don't work when fired by a OSGi ServiceListener. Created: 06/Aug/11  Updated: 25/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi-JavaEE
Affects Version/s: 3.1.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: ranophoenix Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 (64 bits)
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)


Attachments: Zip Archive osgijee.zip     Zip Archive osgijee_tangyong.zip    
Status Whiteboard:

Workaround: Set TCL before raising CDI event inside serviceChanged()

Tags: 3_1_x-exclude, osgi-javaee

 Description   

Steps to reproduce the problem:

1) Download Glassfish

http://download.java.net/glassfish/3.1.1/release/glassfish-3.1.1.zip

2) Unzip and enable remote shell (item 10.4.1 from GF-OSGI-Features.pdf)

3) Download and unzip the file in attachment

4) Open a shell (cmd in Windows)

$>cd osgijee
$>mvn package

5) Run Glassfish

asadmin start-database
asadmin start-domain -v

6) Start gogo shell

$>telnet localhost 6666
g! install file:/F:/tmp/osgijee/core/target/core.jar
Bundle ID: 253
g! start 253
g! install file:/F:/tmp/osgijee/webclient/target/webclient.war
Bundle ID: 254
g! start 254

7) Access in your browser: http://localhost:8080/webclient/faces/home.xhtml. You must see a page with text: "No modules available."

8) Go back to gogo shell
g! install file:/F:/Users/ranophoenix_2/Documents/Pos-ESAB/Experimentos/tmp/osgijee/module1/target/module1.war
Bundle ID: 255
g! start 255
ERROR: Bundle ranophoenix.osgijee.webclient [254]: EventDispatcher: Error during dispatch. (java.lang.IllegalStateExcept
ion: Singleton not set for sun.misc.Launcher$AppClassLoader@1f7182c1)
java.lang.IllegalStateException: Singleton not set for sun.misc.Launcher$AppClassLoader@1f7182c1
at org.glassfish.weld.ACLSingletonProvider$ACLSingleton.get(ACLSingletonProvider.java:110)
at org.jboss.weld.Container.instance(Container.java:58)
at org.jboss.weld.resolution.ResolvableBuilder.checkQualifier(ResolvableBuilder.java:209)
at org.jboss.weld.resolution.ResolvableBuilder.addQualifier(ResolvableBuilder.java:174)
at org.jboss.weld.resolution.ResolvableBuilder.addQualifiers(ResolvableBuilder.java:202)
at org.jboss.weld.manager.BeanManagerImpl.resolveObserverMethods(BeanManagerImpl.java:474)
at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:625)
at org.jboss.weld.event.EventImpl.fire(EventImpl.java:75)
at ranophoenix.osgijee.webclient.impl.cdi.ModuleExtensionListener.serviceChanged(ModuleExtensionListener.java:45
)
at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871)
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)
at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3769)
at org.apache.felix.framework.Felix.access$000(Felix.java:80)
at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:722)
at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
at org.apache.felix.framework.Felix.registerService(Felix.java:2854)
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251)
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:229)
at ranophoenix.osgijee.module1.impl.Activator.start(Activator.java:17)
at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:629)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:1835)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1752)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:922)
at org.apache.felix.gogo.command.Basic.start(Basic.java:758)
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 org.apache.felix.gogo.runtime.Reflective.method(Reflective.java:136)
at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:469)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:395)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
at org.apache.felix.gogo.shell.Console.run(Console.java:62)
at org.apache.felix.gogo.shell.Shell.console(Shell.java:203)
at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128)
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 org.apache.felix.gogo.runtime.Reflective.method(Reflective.java:136)
at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:469)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:395)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
at org.apache.felix.shell.remote.Shell.startGogoShell(Shell.java:108)
at org.apache.felix.shell.remote.Shell.run(Shell.java:81)
at java.lang.Thread.run(Thread.java:662)
Module1 started



 Comments   
Comment by ranophoenix [ 06/Aug/11 ]

Correcting the path in step 8:

8) Go back to gogo shell
g! install file:/F:/tmp/osgijee/module1/target/module1.war
...

Comment by ranophoenix [ 25/Aug/11 ]

The same problem occurs with Windows 7,JVM 1.6.0_27 64 bits and Glassfish 3.1.1 all of them installed from scratch.

Comment by Sanjeeb Sahoo [ 20/Oct/11 ]

I wish you had reminded me about this bug. I hope you didn't get stuck. As a simple work around, just set the context class loader inside the serviceChanged method like this:

public class ModuleExtensionListener implements ServiceListener {
...
public void serviceChanged(ServiceEvent event) {
ClassLoader origCl = Thread.currentThread().getContextClassLoader();
try

{ Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); ... raise your CDI event here }

finally

{ Thread.currentThread().setContextClassLoader(origCl); }

}
}

Comment by Sanjeeb Sahoo [ 20/Oct/11 ]

Since there is a simple workaround available, we will defer fixing this bug till 4.0.

Comment by TangYong [ 10/Aug/12 ]

1) About ACLSingleton.getClassLoader()
If store hashtable does not contain Thread.currentThread().getContextClassLoader(),
the exception on GLASSFISH-17155 must happen. So, sahoo gave a solution. However, I have
confirmed that even if user set the current thread context classload on serviceChanged method,
the exception still existed. Why? Becasue the key put in store hashtable is WebappClassLoader
(for the WAB app) and the WebappClassLoader is set on WAB deploying, so, for the user, he/she can
not have chance to set the current thread context classload into the WebappClassLoader.

2) About CDI/OSGi Event
I have found that real problem on GLASSFISH-17155 is that currently,GF has not implemented the CDI/OSGi Event Integration.

I made a confirmation that even if I made the exception on GLASSFISH-17155 disappeared using a temp revise way, the sample can not still work. Why? When a new service is registered, although cdi event has been fired and WAB @observers method is also triggered, but on the WAB, there are two @Observes, one is to add the service and the other is to delete the service. When cdi event is fired, both the two @Observes are triggered.So, the service is not still added finally. That is to say, the @Observes can not judge the type of current OSGi Event.

Comment by TangYong [ 10/Aug/12 ]

Sahoo Said:

>1) About ACLSingleton.getClassLoader()
>...
So, are you saying that the suggested work around does not work any longer? I think your analysis is correct as well. I think a proper way to solve would be to set the class loader as an attribute in ServletContext during WAB deployment so that an application programmer can retrieve it inside serviceChanged() method and set it as the TCL
temporarily.

>2) About CDI/OSGi Event
>...
I think this is because the test application attached to the issue is not firing events correctly. It needs to fire events using BeanManager and use proper qualifiers such that methods will receive events they are interested in. See ServletContextBridgeListener.java in the test app for more details.

Comment by TangYong [ 10/Aug/12 ]

Yeah, I also think the way indeed can resolve the problem. However because the problem happened on cdi event case, I suggest that during resolving cdi/osgi event integration, finding a better way to resolve the problem. After all, I felt the problem is not simple.

Thanks your suggestion and I will see ServletContextBridgeListener.java. In addition, about how to firing events correctly(etc. when a osgi service has been registered...) and related using way, wishing siva can give some ideas, then we will launch another thread to discuss it.

Comment by TangYong [ 10/Aug/12 ]

Currently, a prototype is plan to implement the cdi/osgi event integraton.

https://github.com/tangyong/gf-cdi-osgi-integration

Comment by TangYong [ 19/Nov/12 ]

Waiting for GLASSFISH-15365 and I will modify the sample and make it available.

Comment by TangYong [ 22/Nov/12 ]

Waiting for finishing GLASSFISH-15365 test , then starting to resolve the bug.

Comment by TangYong [ 26/Nov/12 ]

Hi ranophoenix, sahoo, siva,

Based my event integration patch and ranophoenix's original sample, I re-made a new sample(osgijee_tangyong.zip) using osgi/cdi event annotation. Now, osgijee_tangyong.zip can work normally.

However, while executing the last step(module1's about.xhtml), there is a issue happening as following:

[#|2012-11-26T17:49:16.015+0900|WARNING|44.0|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=15;_ThreadName=http-listener-1(2);_TimeMillis=1353919756015;_LevelValue=900;|//about.xhtml @13,61 value="#

{aboutBean.message}": Target Unreachable, identifier 'aboutBean' resolved to null
javax.el.PropertyNotFoundException: //about.xhtml @13,61 value="#{aboutBean.message}

": Target Unreachable, identifier 'aboutBean' resolved to null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1031)
at javax.faces.component.UIInput.validate(UIInput.java:961)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1234)
at javax.faces.component.UIInput.processValidators(UIInput.java:697)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1263)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1263)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1169)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:181)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:641)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1593)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:285)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:665)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:604)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:337)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:240)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:172)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:175)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:781)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:578)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:558)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'aboutBean' resolved to null
at com.sun.el.parser.AstValue.getTarget(AstValue.java:153)
at com.sun.el.parser.AstValue.getType(AstValue.java:84)
at com.sun.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:200)
at org.jboss.weld.el.WeldValueExpression.getType(WeldValueExpression.java:93)
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
... 38 more

#]

ranophoenix's mean is that he/she wants to make CDI Bean in module1's context root can work in webclient's context root. So, I wish that sahoo and siva can see the sample and confirm whether this behavior is right or not? And this is also related to register a cdi bean on runtime. On JBoss's JIRA, there is such a requirement[1]:
[1]: https://issues.jboss.org/browse/CDI-114

In addition, I think that combining cdi beans in two different context roots should be user's behavior, and osgi-cdi should not handle the scene because osgi-cdi's responsibility only triggers osgi events, as to how to handle these events, has been out of event integration's scope.

Thanks
--Tang

Comment by TangYong [ 25/Mar/13 ]

The bug is related to OSGi/CDI RFC 193. Currently, we have not enough time to implement it.So, we have a plan to fix the issue after v4 is released.





[GLASSFISH-17179] Security configuration files are not copied when embedded container is started using EJBContainer#createEJBContainer Created: 10/Aug/11  Updated: 01/Dec/11

Status: Open
Project: glassfish
Component/s: embedded
Affects Version/s: 3.1.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: atomicknight Assignee: sakshi.jain
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

JDK 6u26, Windows 7 Professional 64-bit, glassfish-embedded-all 3.1.1 Maven artifact


Tags: 3_1_2-exclude, ejb, embedded

 Description   

When the embedded container is started using javax.ejb.embeddable.EJBContainer#createEJBContainer, security files like the keystores (e.g. cacerts.jks) are not being copied. This appears to be a regression from 3.1, as these files are copied correctly by the 3.1 version of the glassfish-embedded-all artifact.

The problem seems to be caused by revision 47307, which introduced the use of com.sun.enterprise.security.EmbeddedSecurity when determining whether to copy the files. The root cause of the problem is that the org.glassfish.server.ServerEnvironmentImpl that is constructed and checked by com.sun.enterprise.security.embedded.EmbeddedSecurityUtil has a RuntimeType of "DAS" rather than "EMBEDDED."

In my particular case, there is an additional CA certificate that needs to be added to the CA certificate keystore. Attempting to override the javax.net.ssl.trustStore property from outside the container (whether setting it as a JVM property or passing it as an entry in the Properties object passed to createEJBContainer) doesn't work because the property is being set programmatically from within the embedded container runtime.

I'm starting the container with the following properties set:

org.glassfish.ejb.embedded.glassfish.installation.root=/path/to/install/root
org.glassfish.ejb.embedded.glassfish.instance.root=/path/to/install/root/domains/domain1
org.glassfish.ejb.embedded.glassfish.configuration.file=/path/to/install/root/domains/domain1/config/domain.xml
org.glassfish.ejb.embedded.glassfish.keep-temporary-files=true

My modified version of cacerts.jks lives in /path/to/install/root/domains/domain1/config/. However, the version of cacerts.jks actually being used (i.e. in the temporary folder) is the version included with the glassfish-embedded-all artifact.



 Comments   
Comment by Cheng Fang [ 10/Aug/11 ]

assign to security team to check why EmbeddedSecurityUtil has a RuntimeType of "DAS" rather than "EMBEDDED."

Comment by Nithya Ramakrishnan [ 24/Aug/11 ]

This seems to happen because type argument is not being passed as an argument when the Embedded EJB container is created. In ServerEnvironmentImpl, the serverType seems to default to DAS, since the typeString argument is null. Transferring this issue to the Embedded team for fixing this.

Comment by Bhavanishankar [ 14/Nov/11 ]

It is the correct behaviour of embedded GlassFish to return the serverType as DAS. Internal code should never depend on whether the server is running in EMBEDDED mode or standalone mode.

Comment by Bhavanishankar [ 01/Dec/11 ]

assigning.





[GLASSFISH-17188] MDB calls to setRollbackOnly without a XAResource given to the MessageEndpoint does no more thow a Exception Created: 11/Aug/11  Updated: 28/Nov/11

Status: Open
Project: glassfish
Component/s: jca
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: juergenschmied Assignee: Jagadish
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

glassfish 3.1 with java 1.6.0_26-b03 on windows


Tags: 3_1_2-exclude, JCA, MDB, MessageDrivenContext, RA, setRollbackOnly

 Description   

Szenario:
1.) isDeliveryTransacted of the used endpoint is true (checked)
2.) RA calls MessageEndpointFactory.createEndpoint with xaResource = null
3.) RA calls the endpoint method
4.) MDB gets the Message and calls setRollbackOnly() on the injected MessageDrivenContext
5.) the endpoint method returns without a exception (This is the Bug !)

In Version 3.0.1 a Exception was throw in step (5) to inform the RA of the failed transaction. I could do a rollback in a simple exception handler.

in Version 3.1 no Exception is thrown. The RA is not informed of the failed transaction.

If I give a XA Resource to createEndpoint the rollback method on the XAResource is called so the setRollbackOnly() is processed by the AS orderly.



 Comments   
Comment by Jagadish [ 14/Nov/11 ]

Can you provide a sample application with RAR to reproduce the issue ?





[GLASSFISH-17217] GlassFish 3.1.1 and Spring: TransactionRequiredException when application is redeployed Created: 22/Aug/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: entity-persistence
Affects Version/s: 3.1.1
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: Stephan Vollmer Assignee: Mitesh Meswani
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

GlassFish 3.1.1 Full Edition with default configuration
Oracle JDK 1.6.0_26
Windows 7 or SuSE Enterprise Linux 11


Attachments: File glassfish-spring-0.0.1-SNAPSHOT.war     Zip Archive glassfish-spring-source.zip    
Tags: 3_1_2-exclude, redeploy, spring

 Description   

Hi,

I have a simple Spring application that works fine with GlassFish 3.1 and 3.0.1. When I initially deploy this application to GlassFish 3.1.1, then it is still working fine. But when I redeploy the application, an error occors:

When I try to write something to the database, the following exception appears:

[#|2011-08-11T17:58:50.364+0200|SEVERE|glassfish3.1.1|org.springframework.scheduling.support.MethodInvokingRunnable|_ThreadID=28;_ThreadName=Thread-2;
|Invocation of method 'markNewRequestsAsInProcess' on target class [class $Proxy205] failed
javax.persistence.TransactionRequiredException: 
Exception Description: No transaction is currently active
 at org.eclipse.persistence.internal.jpa.transaction.EntityTransactionWrapper.throwCheckTransactionFailedException(EntityTransactionWrapper.java:113)
 at org.eclipse.persistence.internal.jpa.transaction.EntityTransactionWrapper.checkForTransaction(EntityTransactionWrapper.java:50)
 at org.eclipse.persistence.internal.jpa.EntityManagerImpl.checkForTransaction(EntityManagerImpl.java:1776)
 at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeUpdate(EJBQueryImpl.java:533)
 at de.burdaciscom.mb.ap.dispatcher.dao.ApolloRequestDaoImpl.markNewRequestsAsInProcess(ApolloRequestDaoImpl.java:27)
 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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
 at $Proxy205.markNewRequestsAsInProcess(Unknown Source)
 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 org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
 at org.springframework.scheduling.support.MethodInvokingRunnable.run(MethodInvokingRunnable.java:65)
 at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:51)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
 at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
|#]

The problem can be solved, when the application is disabled and enabled afterwards. A complete undeploy and deploy works as well.

Did anything change the way how redeployments are executed in GlassFish 3.1.1?

Steps to reproduce the problem:

  1. Start a default domain from a fresh GlassFish installation
  2. Start the embedded Derby database with asadmin start-database
  3. Deploy the attached war file. Now the log file should display a message about a database update every 5 seconds.
  4. Redeploy the war file. Now the database update fails and the "TransactionRequiredException" occurs.


 Comments   
Comment by Hong Zhang [ 22/Aug/11 ]

Assign to Mitesh for initial evaluation as it seems related to persistence.

Comment by Mitesh Meswani [ 22/Aug/11 ]

I tried following and could not reproduce the issue. How are you redeploying?

asadmin start-database
asadmin start-domain
asadmin delpoy glassfish-spring-0.0.1-SNAPSHOT.war
#I can see the database update messages as described in the bug
asadmin deploy --force glassfish-spring-0.0.1-SNAPSHOT.war
#I can see redeployment going through and the database update messages as described in the bug. No error message
asadmin redeploy --name glassfish-spring-0.0.1-SNAPSHOT glassfish-spring-0.0.1-SNAPSHOT.war
#I can see redeployment going through and the database update messages as described in the bug. No error message

Comment by Stephan Vollmer [ 23/Aug/11 ]

I tried to redeploy the application with your commands, and indeed it works fine (never used the CLI for deployments).

The problem only appears when I redeploy the application with the "Application --> Redeploy" link in the GlassFish Admin Webinterface. The redeployment is successful, but then the "TransactionRequiredException" occurs.

Comment by Stephan Vollmer [ 30/Aug/11 ]

Hi Mitesh,

could you reproduce the problem with the steps that I described in the previous comment?

Comment by Mitesh Meswani [ 15/Dec/11 ]

Starting analysis to fix this. If required changes are elaborate then the fix will need to be deferred for next release.

Comment by Mitesh Meswani [ 09/Feb/13 ]

Not targeting RI





[GLASSFISH-17220] Remote clients cannot list global JNDI "jdbc" subcontext due to java.io.OptionalDataException Created: 22/Aug/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: naming
Affects Version/s: 3.1.1
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: al130959 Assignee: lemon_zhang
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_x-exclude, 4_0_1-reviewed

 Description   

With GF 3.1.1 default setup, i.e. global JNDI "jdbc" subcontext containing the following entries:

jdbc/__TimerPool
jdbc/__default
jdbc/sample

trying to do the following from a remote client:

Context ctx = new InitialContext(env);
ctx.list("jdbc");

or

Context ctx = new InitialContext(env);
ctx.listBindings("jdbc");

produces the following fatal result:

Aug 22, 2011 7:57:12 PM com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator handleFullLogging
WARNING: IOP00810011: Exception from readValue on ValueHandler in CDRInputStream
org.omg.CORBA.MARSHAL: WARNING: IOP00810011: Exception from readValue on ValueHandler in CDRInputStream vmcid: OMG minor code: 11 completed: Maybe
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
at $Proxy24.valuehandlerReadException(Unknown Source)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1022)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:531)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2162)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2404)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:308)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:274)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1015)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:935)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:525)
at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:289)
at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:605)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:775)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_any(CDRInputObject.java:482)
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:452)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$10.read(DynamicMethodMarshallerImpl.java:299)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:483)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:203)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
at com.sun.enterprise.naming.impl._SerialContextProvider_DynamicStub.lookup(com/sun/enterprise/naming/impl/_SerialContextProvider_DynamicStub.java)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:505)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
at com.sun.enterprise.naming.impl.SerialContext.listBindings(SerialContext.java:866)
at javax.naming.InitialContext.listBindings(InitialContext.java:447)
at remotejndilookuptest.RemoteJNDILookupTest.main(RemoteJNDILookupTest.java:24)
Caused by: java.io.OptionalDataException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.impl.io.IIOPInputStream.createOptionalDataException(IIOPInputStream.java:245)
at com.sun.corba.ee.impl.io.IIOPInputStream.handleOptionalDataMarshalException(IIOPInputStream.java:944)
at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:393)
at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:544)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:344)
at java.util.HashMap.readObject(HashMap.java:1030)
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.corba.ee.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1832)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1214)
at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:308)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:274)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1015)
... 28 more
Caused by: org.omg.CORBA.MARSHAL: FINE: IOP00800008: Not enough optional data available vmcid: SUN minor code: 8 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
at $Proxy27.rmiiiopOptionalDataIncompatible3(Unknown Source)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.checkBlockLength(CDRInputStream_1_0.java:377)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_2.alignAndCheck(CDRInputStream_1_2.java:105)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_long(CDRInputStream_1_0.java:496)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readValueTag(CDRInputStream_1_0.java:1810)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1040)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:935)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:928)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:918)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_abstract_interface(CDRInputObject.java:557)
at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:391)
... 41 more
Exception in thread "main" javax.naming.CommunicationException: Communication exception for SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.corba.orb=com.sun.corba.ee.impl.orb.ORBImpl@17a906e, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.appserv.iiop.loadbalancingpolicy=ic-based, com.sun.appserv.ee.iiop.endpointslist=corbaloc:iiop:1.2@localhost:3700, com.sun.appserv.iiop.endpoints=localhost:3700}

[Root exception is java.rmi.MarshalException: CORBA MARSHAL 1330446347 Maybe; nested exception is:
org.omg.CORBA.MARSHAL: WARNING: IOP00810011: Exception from readValue on ValueHandler in CDRInputStream vmcid: OMG minor code: 11 completed: Maybe]
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:542)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
at com.sun.enterprise.naming.impl.SerialContext.listBindings(SerialContext.java:866)
at javax.naming.InitialContext.listBindings(InitialContext.java:447)
at remotejndilookuptest.RemoteJNDILookupTest.main(RemoteJNDILookupTest.java:24)
Caused by: java.rmi.MarshalException: CORBA MARSHAL 1330446347 Maybe; nested exception is:
org.omg.CORBA.MARSHAL: WARNING: IOP00810011: Exception from readValue on ValueHandler in CDRInputStream vmcid: OMG minor code: 11 completed: Maybe
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:267)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:213)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
at com.sun.enterprise.naming.impl._SerialContextProvider_DynamicStub.lookup(com/sun/enterprise/naming/impl/_SerialContextProvider_DynamicStub.java)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:505)
... 4 more
Caused by: org.omg.CORBA.MARSHAL: WARNING: IOP00810011: Exception from readValue on ValueHandler in CDRInputStream vmcid: OMG minor code: 11 completed: Maybe
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
at $Proxy24.valuehandlerReadException(Unknown Source)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1022)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:531)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2162)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2404)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:308)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:274)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1015)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:935)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:525)
at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:289)
at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:605)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:775)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_any(CDRInputObject.java:482)
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:452)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$10.read(DynamicMethodMarshallerImpl.java:299)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:483)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:203)
... 8 more
Caused by: java.io.OptionalDataException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.impl.io.IIOPInputStream.createOptionalDataException(IIOPInputStream.java:245)
at com.sun.corba.ee.impl.io.IIOPInputStream.handleOptionalDataMarshalException(IIOPInputStream.java:944)
at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:393)
at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:544)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:344)
at java.util.HashMap.readObject(HashMap.java:1030)
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.corba.ee.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1832)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1214)
at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:308)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:274)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1015)
... 28 more
Caused by: org.omg.CORBA.MARSHAL: FINE: IOP00800008: Not enough optional data available vmcid: SUN minor code: 8 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
at $Proxy27.rmiiiopOptionalDataIncompatible3(Unknown Source)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.checkBlockLength(CDRInputStream_1_0.java:377)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_2.alignAndCheck(CDRInputStream_1_2.java:105)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_long(CDRInputStream_1_0.java:496)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readValueTag(CDRInputStream_1_0.java:1810)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1040)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:935)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:928)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:918)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_abstract_interface(CDRInputObject.java:557)
at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:391)
... 41 more

Expected outcome: The listing of the "jdbc" subcontext should complete successfully without OptionalDataException.

Many thanks & best regards,

Andreas



 Comments   
Comment by Harshad Vilekar [ 01/Nov/11 ]

Assign to JDBC team for initial evaluation.

Comment by Shalini [ 14/Nov/11 ]

Assigning this issue to Naming module as jdbc module does not do anything special to list the jndi entries.

Comment by Cheng Fang [ 15/Nov/11 ]

Related issue http://java.net/jira/browse/GLASSFISH-17219 (Remote clients cannot list global JNDI root context due to non-Serializable objects in the context)

Comment by Cheng Fang [ 15/Nov/11 ]

The values of jndi entries are not required to be serializable. Requiring them to be so would put too much burden on the implementation. In the current implementation, when the remote client calls list or listBindings, it first tries to look up the param subcontext from remote context provider, and calls list(empty) on the subcontext. The subcontext from the first pass lookup may contain non-serializable content, hence the serialization failure.

Comment by Cheng Fang [ 12/Dec/11 ]

One option is to fully resolve jndi bindings (include leaf objects and all levels of subcontexts) for remote list* operations. So everything returned to the remote client is serializable. Exclude it from 3.1.2.

Comment by guojun.shan [ 29/May/13 ]

still exist on v4.0.
Caused by: org.omg.CORBA.BAD_PARAM: ---------BEGIN server-side stack trace---------
org.omg.CORBA.BAD_PARAM: WARNING: 00100006: Class org.glassfish.resourcebase.resources.api.ResourceProxy is not Serializable vmcid: SUN minor code: 6 completed: Maybe
at $Proxy318.notSerializable(Unknown Source)
at com.sun.corba.ee.impl.misc.ORBUtility.throwNotSerializableForCorba(ORBUtility.java:783)
at com.sun.corba.ee.impl.encoding.CDROutputStream_1_0.write_abstract_interface(CDROutputStream_1_0.java:556)
at com.sun.corba.ee.impl.encoding.CDROutputObject.write_abstract_interface(CDROutputObject.java:523)
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.writeAbstractObject(Util.java:492)
at com.sun.corba.ee.impl.io.IIOPOutputStream.writeObjectOverride(IIOPOutputStream.java:177)





[GLASSFISH-17222] Remote EJB / SerialInitContextFactory "Cannot modify frozen instance for org.omg.CORBA.portable.InputStream" Created: 22/Aug/11  Updated: 02/Jul/13

Status: Open
Project: glassfish
Component/s: orb
Affects Version/s: 3.1, 3.1.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: aldrinleal Assignee: Harshad Vilekar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Win32, JDK 6, Windows 7


Tags: 3_1_2-exclude, ejb, orb, remoting

 Description   

I get this exception when I lookup an object deployed as an EAR containing an EJB jar:

20/08/2011 05:38:15 org.glassfish.enterprise.iiop.impl.GlassFishORBManager initORB
GRAVE: enterprise_util.excep_in_createorb
java.lang.IllegalStateException: Cannot modify frozen instance for org.omg.CORBA.portable.InputStream
at org.glassfi