[GLASSFISH-20712] Session Replication (Possibly CNF error in web container?) Created: 19/Jul/13  Updated: 13/Aug/13

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

Type: Bug Priority: Blocker
Reporter: alev50 Assignee: Rajiv Mordani
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

1 node, 1 cluster, 2 instances


Attachments: Zip Archive logs_180713_1612.zip    

 Description   

Here is the scenario I played :

1 - Start cluster
2 - Deploy web app
3 - Connect through load balancer -> instance 2
4 - Log on
5 - Stop instance 2
6 - Refresh browser -> instance 1
7 - Session lost + StreamCorruptedException
8 - Stop cluster

Logs are attached.

Thanks for help.

Regards,

Anthony

-----------------------------------------------------------------------------------------------------------------
Fialli Joe joe.fialli@oracle.com via shoal.java.net

Thanks for providing a full set of server logs just containing the test scenario that is failing for you.

I just want to make an overall statement that we are trying to track down class loading issues in the web container.
So you might want to post this issue to glassfish alias instead of the shoal alias.
So it is overkill to turn on the shoal logging to FINEST since that subsystem could not even be responsible
for corrupted stream (grizzly is the transport for messages between cluster members and the web container passes a
byte of serialized content into Shoal messaging system and when trying to reconstitute replicated session,
the byte array is taken out of shoal messaging subsystem and deserialized should be deserialized using web container class path.
While the failure is stating corrupted stream, the failure is always exactly the same type code of "00". If it truely was a corrupted stream,
we would see different values all the time. The best bet for Type Code 00 in stream is a class not being found.
The ClassNotFoundException is getting consumed and not reported.

Possible reason for the ClassNotFoundException is the following.

My observations when looking at the server log you sent yesterday was that it was incorrect
for there not to be a Web Container classloader context to deserialize the session context
(after all, the class is the app loaded in the container, the default ObjectInputStream is not going
to be able to deserialize that.)

So this failure is significant and needs interpretation by someone who works on web container. It happens quite a bit in the server logs that you sent in.
I am not aware why this would happen. The following might explain trying to deserialize replicated content in web container without using a web container
class path.

[#|2013-07-18T16:00:02.639+0200|FINEST|glassfish3.1.2|org.apache.catalina.loader.WebappLoader|_ThreadID=10;_ThreadName=Thread-2;ClassName=null;MethodName=null;|getClasspath
java.lang.NoSuchMethodException: com.sun.enterprise.v3.server.APIClassLoaderServiceImpl$APIClassLoader.getClasspath()
at java.lang.Class.getMethod(Class.java:1607)
at org.apache.catalina.loader.WebappLoader.getClasspath(WebappLoader.java:1196)
at org.apache.catalina.loader.WebappLoader.setClassPath(WebappLoader.java:1145)
at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:692)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5298)
at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
at org.apache.catalina.core.ContainerBase.startChildren(ContainerBase.java:1518)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1184)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:995)
at org.apache.catalina.core.ContainerBase.startChildren(ContainerBase.java:1518)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1184)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:529)
at org.apache.catalina.startup.Embedded.start(Embedded.java:942)
at com.sun.enterprise.web.WebContainer.postConstruct(WebContainer.java:604)
at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131)
at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:78)
at org.glassfish.internal.data.EngineInfo.getContainer(EngineInfo.java:93)
at com.sun.enterprise.v3.services.impl.WebContainerStarter.startWebContainer(WebContainerStarter.java:202)
at com.sun.enterprise.v3.services.impl.WebContainerStarter.postConstruct(WebContainerStarter.java:134)
at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131)
at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:78)
at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:253)
at com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartup.java:145)
at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:136)
at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishImpl.java:79)
at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(GlassFishDecorator.java:63)
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(OSGiGlassFishImpl.java:69)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)

#]

*************

Here is time of first stream corrupted warning log message.
#|2013-07-18T16:06:35.588+0200|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.ha.session.management|_ThreadID=75;_ThreadName=Thread-2;|Exception occurred in getSession

java.io.StreamCorruptedException: invalid type code: 00

Here is ClassNotFoundException that was probably related to that failure. (Note that this is a nested anonymous class. Typically difficult to serialize correctly.)
So the class below is probably one to look at.

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(com.transat.ga2010.service.BanqueServiceImpl$$EnhancerByCGLIB$$fedb0661)|#]

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| --> Passing on ClassNotFoundException|#]

Here are a large number classes that are being looked for just before this ClassNotFoundException log message.
[#|2013-07-18T16:06:34.749+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| --> Passing on ClassNotFoundException|#]

Note that the classes are mostly UI classes related to ajax, java faces.

[#|2013-07-18T16:06:37.493+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(com.transat.ga2010.web.messages)|#]
[#|2013-07-18T16:06:37.508+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(com.transat.ga2010.web.messages_fr)|#]
[#|2013-07-18T16:06:37.514+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(com.transat.ga2010.web.messages_fr_FR)|#]

[#|2013-07-18T16:06:38.123+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.ajax4jsf.xml.serializer.XMLEntities)|#]
[#|2013-07-18T16:06:38.129+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.ajax4jsf.xml.serializer.XMLEntities_fr)|#]

[#|2013-07-18T16:06:38.137+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.ajax4jsf.xml.serializer.XMLEntities_fr_FR)|#]

[#|2013-07-18T16:06:35.921+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.ajax4jsf.component.AjaxViewRootBeanInfo)|#]

[#|2013-07-18T16:06:35.925+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.UIViewRootBeanInfo)|#]

[#|2013-07-18T16:06:35.926+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.UIComponentBaseBeanInfo)|#]

[#|2013-07-18T16:06:36.012+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.ajax4jsf.messages_fr)|#]

[#|2013-07-18T16:06:36.019+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.ajax4jsf.messages_fr_FR)|#]

[#|2013-07-18T16:06:37.178+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(com.sun.facelets.compiler.UIInstructionsBeanInfo)|#]

[#|2013-07-18T16:06:37.183+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(com.sun.facelets.compiler.UILeafBeanInfo)|#]

[#|2013-07-18T16:06:37.190+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(login)|#]
[#|2013-07-18T16:06:37.198+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(login_fr_FR)|#]

[#|2013-07-18T16:06:37.205+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.html.HtmlFormBeanInfo)|#]
[#|2013-07-18T16:06:37.207+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.UIFormBeanInfo)|#]

[#|2013-07-18T16:06:37.253+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.html.HtmlMessagesBeanInfo)|#]
[#|2013-07-18T16:06:37.255+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.UIMessagesBeanInfo)|#]
[#|2013-07-18T16:06:37.265+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.richfaces.component.html.HtmlInputTextBeanInfo)|#]
[#|2013-07-18T16:06:37.273+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.UIInputBeanInfo)|#]

[#|2013-07-18T16:06:37.277+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.UIOutputBeanInfo)|#]
[#|2013-07-18T16:06:37.326+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.richfaces.component.html.HtmlInputSecretBeanInfo)|#]

[#|2013-07-18T16:06:37.328+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(org.richfaces.component.html.HtmlInputSecretBeanInfo)|#]

[#|2013-07-18T16:06:37.341+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.html.HtmlCommandButtonBeanInfo)|#]
[#|2013-07-18T16:06:37.344+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.UICommandBeanInfo)|#]
[#|2013-07-18T16:06:37.392+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(javax.faces.component.html.HtmlSelectBooleanCheckboxBeanInfo)|#]

[#|2013-07-18T16:06:37.195+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=76;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(login_fr)|#]

[#|2013-07-18T16:06:35.582+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=loadClass;|loadClass(com.transat.ga2010.service.BanqueServiceImpl$$EnhancerByCGLIB$$fedb0661)|#]

[#|2013-07-18T16:06:35.582+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=loadClass;| Delegating to classloader1 org.glassfish.internal.api.DelegatingClassLoader@7a8f9805|#]

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=loadClass;| Searching local repositories|#]

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClass(com.transat.ga2010.service.BanqueServiceImpl$$EnhancerByCGLIB$$fedb0661)|#]

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(com.transat.ga2010.service.BanqueServiceImpl$$EnhancerByCGLIB$$fedb0661)|#]

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| --> Passing on ClassNotFoundException|#]

[#|2013-07-18T16:06:35.582+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=loadClass;|loadClass(com.transat.ga2010.service.BanqueServiceImpl$$EnhancerByCGLIB$$fedb0661)|#]

[#|2013-07-18T16:06:35.582+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=loadClass;| Delegating to classloader1 org.glassfish.internal.api.DelegatingClassLoader@7a8f9805|#]

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=loadClass;| Searching local repositories|#]

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClass(com.transat.ga2010.service.BanqueServiceImpl$$EnhancerByCGLIB$$fedb0661)|#]

[#|2013-07-18T16:06:35.584+0200|FINER|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=75;_ThreadName=Thread-2;ClassName=org.glassfish.web.loader.WebappClassLoader;MethodName=findClass;| findClassInternal(com.transat.ga2010.service.BanqueServiceImpl$$EnhancerByCGLIB$$fedb0661)|#]



 Comments   
Comment by Ed Bratt [ 19/Jul/13 ]

Posting for Reporter. Clear virus scan.

Comment by Sanjeeb Sahoo [ 22/Jul/13 ]

The following exception happens because WebappLoader is reflectively calling getClasspath method in all class loaders in the class loader chain and APIClassLoader does not have such a method. From what I see WebappLoader does not consider this to be an issue, as it logs the exception in FINEST level. So, I am assigning the issue to web container folks to figure out why session replication does not happen.

"[#|2013-07-18T16:00:02.639+0200|FINEST|glassfish3.1.2|org.apache.catalina.loader.WebappLoader|_ThreadID=10;_ThreadName=Thread-2;ClassName=null;MethodName=null;|getClasspath
java.lang.NoSuchMethodException: com.sun.enterprise.v3.server.APIClassLoaderServiceImpl$APIClassLoader.getClasspath()

Thanks,
Sahoo

Comment by Shing Wai Chan [ 06/Aug/13 ]

Can you attach a test case for this?

Comment by alev50 [ 12/Aug/13 ]

Not really, I deploy my production web app on a cluster, I stop the current instance and replication fails on a StreamCorruptedException. How could I write a simple test case for this ?

Thanks,

Anthony

Comment by Shing Wai Chan [ 12/Aug/13 ]

We have a unit test for session replication. It is working fine. So, we need more information to debug this. Can you try to construct a unit test case?

Comment by Shing Wai Chan [ 13/Aug/13 ]

Assign to Rajiv for session replication issue.





[GLASSFISH-21073] GlassFish Fails to Deploy WAR With JodaTime Library Dependency Created: 27/May/14  Updated: 15/Oct/14

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

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


 Description   

I discovered that GlassFish fails to deploy WAR with JodaTime Library Dependency. It results in a ClassNotFoundException. I suspect that this is classloader hierarchy issue.

Here is the stacktrace:

[2014-05-27T10:10:04.696+0100] [glassfish 4.0] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=44 _ThreadName=admin-listener(4)] [timeMillis: 1401181804696] [levelValue: 1000] [[
Exception while loading the app : javax.ejb.CreateException: Initialization failed for Singleton PopulateDataService
javax.ejb.CreateException: Initialization failed for Singleton PopulateDataService
at com.sun.ejb.containers.AbstractSingletonContainer.createSingletonEJB(AbstractSingletonContainer.java:476)
at com.sun.ejb.containers.AbstractSingletonContainer.access$000(AbstractSingletonContainer.java:74)
at com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:647)
at com.sun.ejb.containers.AbstractSingletonContainer.instantiateSingletonInstance(AbstractSingletonContainer.java:389)
at org.glassfish.ejb.startup.SingletonLifeCycleManager.initializeSingleton(SingletonLifeCycleManager.java:219)
at org.glassfish.ejb.startup.SingletonLifeCycleManager.initializeSingleton(SingletonLifeCycleManager.java:180)
at org.glassfish.ejb.startup.SingletonLifeCycleManager.doStartup(SingletonLifeCycleManager.java:158)
at org.glassfish.ejb.startup.EjbApplication.start(EjbApplication.java:166)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:352)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:500)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:215)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:291)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:209)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:137)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:115)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:550)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.Exception: java.lang.NoClassDefFoundError: org/joda/time/DateTime
at com.sun.ejb.containers.interceptors.CallbackInvocationContext.proceed(CallbackInvocationContext.java:209)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:55)
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:606)
at com.sun.ejb.containers.interceptors.CallbackInterceptor.intercept(InterceptorManager.java:986)
at com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
at com.sun.ejb.containers.interceptors.CallbackInvocationContext.proceed(CallbackInvocationContext.java:205)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.init(SystemInterceptorProxy.java:125)
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:606)
at com.sun.ejb.containers.interceptors.CallbackInterceptor.intercept(InterceptorManager.java:986)
at com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:412)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:375)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:2014)
at com.sun.ejb.containers.AbstractSingletonContainer.createSingletonEJB(AbstractSingletonContainer.java:468)
... 49 more
Caused by: java.lang.NoClassDefFoundError: org/joda/time/DateTime
at uk.co.xenonique.digital.PopulateDataService.populate(PopulateDataService.java:50)
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:606)
at com.sun.ejb.containers.interceptors.BeanCallbackInterceptor.intercept(InterceptorManager.java:1035)
at com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
at com.sun.ejb.containers.interceptors.CallbackInvocationContext.proceed(CallbackInvocationContext.java:205)
... 69 more
Caused by: java.lang.ClassNotFoundException: org.joda.time.DateTime
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1783)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633)
... 77 more
]]

This is serious blocker to any application that prefers to use JodaTime.

The Gradle dependency is this:

dependencies {
compile 'org.glassfish.main.extras:glassfish-embedded-all:4.0.1-b01'
providedCompile 'javax:javaee-api:7.0'

// WARNING: Joda time is broken with Glassfish 4
compile 'joda-time:joda-time:2.2'
compile 'org.slf4j:slf4j-simple:1.6.4'
compile 'com.javaeehandbook.book1:glassfish-embedded-runner:1.0'
compile 'org.jboss.shrinkwrap:shrinkwrap-api:1.0.1'
compile 'org.jboss.shrinkwrap:shrinkwrap-impl-base:1.0.1'

testCompile 'junit:junit:4.11'
}

And the test EJB class looks like this:

package uk.co.xenonique.digital;

import org.joda.time.DateTime;

import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;
import java.util.Calendar;

/**

  • The type PopulateDataService
    *
  • @author Peter Pilgrim
    */
    @Singleton
    @Startup
    public class PopulateDataService {

@Inject
ContactDetailService contactDetailService;

@PostConstruct
public void populate()

{ Calendar cal = Calendar.getInstance(); ContactDetail contact2 = new ContactDetail(); contact2.setAllowEmails(false); contact2.setTitle("Ms"); contact2.setEmail("oprah.winfrey@harpo.com"); contact2.setFirstName("Oprah"); contact2.setMiddleName("Gail"); contact2.setLastName("Winfrey"); cal.set(1954,1,29); contact2.setDob(cal.getTime()); contactDetailService.add(contact2); DateTime dt = new DateTime(); System.out.printf("dt=%s",dt); }

}

The WAR file extracted looks like this:

0 Sun May 25 10:44:46 BST 2014 WEB-INF/lib/
573912 Wed Dec 11 20:13:10 GMT 2013 WEB-INF/lib/joda-time-2.2.jar
7662 Wed Dec 11 20:15:52 GMT 2013 WEB-INF/lib/slf4j-simple-1.6.4.jar
62589 Tue Dec 10 07:59:06 GMT 2013 WEB-INF/lib/shrinkwrap-api-1.0.1.jar
146419 Tue Dec 10 07:59:06 GMT 2013 WEB-INF/lib/shrinkwrap-impl-base-1.0.1.jar
25962 Wed Dec 11 20:15:52 GMT 2013 WEB-INF/lib/slf4j-api-1.6.4.jar
3648 Tue Dec 10 07:59:06 GMT 2013 WEB-INF/lib/shrinkwrap-spi-1.0.1.jar



 Comments   
Comment by Sanjeeb Sahoo [ 11/Aug/14 ]

Assigning to web container team to analyse why webapp class loader is not able to load org.joda.time.DateTime.class. May be this is specific to embedded glassfish in which case web container team can assign to embedded team.

Comment by Shing Wai Chan [ 15/Oct/14 ]

Can you provide a test war for this?





[GLASSFISH-21228] glassfish web IO hangs on html5 video requests(mp4) from client Created: 09/Oct/14  Updated: 15/Oct/14

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 3.1.2_b22
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: pradyut Assignee: oleksiys
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Glassfish running on any envirenment, Client is Google Chrome



 Description   

This is related to Grizzly.

Caused by: java.io.IOException: Client is busy or timed out
at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:129)
at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:76)


 Comments   
Comment by pradyut [ 09/Oct/14 ]

Any further requests to the server fails and the proxy server shows that the server failed to respond to the GET request.
Shutting down the client browser(chrome) resumes the services from the server.

The logs show -

org.apache.catalina.connector.ClientAbortException: java.io.IOException: Client is busy or timed out
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:430)
at com.sun.grizzly.util.buf.ByteChunk.flushBuffer(ByteChunk.java:458)
at com.sun.grizzly.util.buf.ByteChunk.append(ByteChunk.java:380)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:455)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:442)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:160)
at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:2365)
at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:2100)
at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1090)
at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:466)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at newa.StoreImage.doFilter(StoreImage.java:100)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at newa.CEFilter.doFilter(CEFilter.java:193)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
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 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)
Caused by: java.io.IOException: Client is busy or timed out
at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:129)
at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:76)
at com.sun.grizzly.http.SocketChannelOutputBuffer.flushChannel(SocketChannelOutputBuffer.java:426)
at com.sun.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:498)
at com.sun.grizzly.http.SocketChannelOutputBuffer.realWriteBytes0(SocketChannelOutputBuffer.java:382)
at com.sun.grizzly.http.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:364)
at com.sun.grizzly.tcp.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite

(InternalOutputBuffer.java:894)
at com.sun.grizzly.tcp.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:159)
at com.sun.grizzly.tcp.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:661)
at com.sun.grizzly.tcp.Response.doWrite(Response.java:685)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:425)
... 43 more

#]

at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:430)|#]

at com.sun.grizzly.util.buf.ByteChunk.flushBuffer(ByteChunk.java:458)|#]

at com.sun.grizzly.util.buf.ByteChunk.append(ByteChunk.java:380)|#]

at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:455)|#]

at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:442)|#]

at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:160)|#]

at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:2365)|#]

at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:2100)|#]

at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1090)|#]

at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:466)|#]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)|#]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)|#]

at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)|#]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)|#]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)|#]

at newa.StoreImage.doFilter(StoreImage.java:100)|#]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)|#]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)|#]

at newa.CEFilter.doFilter(CEFilter.java:193)|#]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)|#]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)|#]

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)|#]

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 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)|#]

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)|#]

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)|#]

at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)|#]

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)|#]

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)|#]

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)|#]

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)|#]

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)|#]

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:745)|#]

Caused by: java.io.IOException: Client is busy or timed out|#]

at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:129)|#]

at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:76)|#]

at com.sun.grizzly.http.SocketChannelOutputBuffer.flushChannel(SocketChannelOutputBuffer.java:426)|#]

at com.sun.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:498)|#]

at com.sun.grizzly.http.SocketChannelOutputBuffer.realWriteBytes0(SocketChannelOutputBuffer.java:382)|#]

at com.sun.grizzly.http.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:364)|#]

at com.sun.grizzly.tcp.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite

(InternalOutputBuffer.java:894)|#]

at com.sun.grizzly.tcp.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:159)|#]

at com.sun.grizzly.tcp.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:661)|#]

at com.sun.grizzly.tcp.Response.doWrite(Response.java:685)|#]

at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:425)|#]

... 43 more|#]

Comment by oleksiys [ 15/Oct/14 ]

Can you pls. clarify, after hitting the problem the server is not able to respond to a simple GET from the same browser? What about other browsers/clients are they still ok?
And everything comes to normal after you restart the client/browser, not the server, right?





[GLASSFISH-21278] SessionScoped object sharing between different sessions when Async Servlet 3.0 involved in execution path Created: 22/Dec/14  Updated: 10/Feb/15

Status: Open
Project: glassfish
Component/s: web_container, web_socket
Affects Version/s: 3.1.2.2
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: moonysun Assignee: oleksiys
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

JDK 1.7.0_62



 Description   

We've noticed a bug related to Session "sharing" between threads when using the Servlet 3.0 Async implementation in Glassfish.
If few users log in to the application, use an Async Servlet and logout, there is a reuse of a @javax.enterprise.context.SessionScoped object between the frontend threads.

Find attached a test case that easely reproduces the errors, with the following configuration at the application server domain:

server-config -> Web Container -> (Tab) Manager Properties -> Max Sessions: 2
server-config -> Thread Pools -> http-thread-pool -> Max Thread Pool Size : 6, Min Thread Pool Size: 6
server-config -> Network Config -> Network Listeners -> http-listener-1 -> (Tab) HTTP -> Comet Support: true, Websocket support: true

The code is commented to enable easy change, and STOP the problem from happening by setting asyncSupported=false in both the AuditFilter and the AsyncDownloadProxy servlet (the AsyncDownloadProxy servlet has comments to indicate where to change the code to support synchronous mode only - marked by "//COMMENT FOR SYNC TESTING")...

The problem shows in the domain's server.log file in the following forms:

1.Looking for the String "REUSING INSTANCES", as by this example:

[#|2014-11-17T17:16:19.624+0000|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=108;_ThreadName=Thread-2;|AuditFilter: ************** REUSING INSTANCES!!!!!|#]

2. Checking for this exception in the logs:
[#|2014-11-17T17:16:21.059+0000|SEVERE|glassfish3.1.2|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=108;_ThreadName=Thread-2;|java.lang.NullPointerException
at com.sun.grizzly.arp.AsyncProcessorTask.obtainAndSetThreadAttachment(AsyncProcessorTask.java:233)
at com.sun.grizzly.arp.AsyncProcessorTask.enableTimeout(AsyncProcessorTask.java:227)
at com.sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:131)
at com.sun.grizzly.http.TaskBase.run(TaskBase.java:193)
at com.sun.grizzly.http.TaskBase.execute(TaskBase.java:175)
at com.sun.grizzly.arp.DefaultAsyncHandler.handle(DefaultAsyncHandler.java:145)
at com.sun.grizzly.arp.AsyncProtocolFilter.execute(AsyncProtocolFilter.java:210)
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:745)

#]

[#|2014-11-17T17:16:21.060+0000|INFO|glassfish3.1.2|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=108;_ThreadName=Thread-2;|Processor exception
java.lang.RuntimeException: java.lang.NullPointerException
at com.sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:144)
at com.sun.grizzly.http.TaskBase.run(TaskBase.java:193)
at com.sun.grizzly.http.TaskBase.execute(TaskBase.java:175)
at com.sun.grizzly.arp.DefaultAsyncHandler.handle(DefaultAsyncHandler.java:145)
at com.sun.grizzly.arp.AsyncProtocolFilter.execute(AsyncProtocolFilter.java:210)
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:745)
Caused by: java.lang.NullPointerException
at com.sun.grizzly.arp.AsyncProcessorTask.obtainAndSetThreadAttachment(AsyncProcessorTask.java:233)
at com.sun.grizzly.arp.AsyncProcessorTask.enableTimeout(AsyncProcessorTask.java:227)
at com.sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:131)
... 14 more

#]

We've allready tried to use the following strategies:
1. Update the grizzly-*.jar from the "modules" directory (don't forget to clean the osgi-cache from the domain dir after this process) to the latest minor released version 1.9.60
2. Update only the grizzly-websockets.jar with the fix indicated at the https://java.net/jira/browse/GRIZZLY-1289

None of them resolved the problem efectively.

Moreover, the NullPointerException is confirmed on this line:

case AsyncTask.FINISH:
enableTimeout();

asyncExecutor.finishExecute();
asyncExecutor.getAsyncHandler().returnTask(this);
return;

caused by the highlighted code returning "null".

final SelectionKey selectionKey = asyncExecutor.getProcessorTask().getSelectionKey();

And I think that on NPE, the code

asyncExecutor.finishExecute();

is not allowed to run, and so the "session" is left associated with the thread, which will come to cause trouble later on following requests.

The most similar report we found is on StackOverflow:
http://stackoverflow.com/questions/25017334/weld-gf4-sessionscoped-sometimes-wrong-bean
which states the same problem very accurately, although with Glassfish 4 instead.



 Comments   
Comment by moonysun [ 22/Dec/14 ]

I also have example code to show this (the code that is referenced by my initial comment) but I can't seem to find any way to upload it to the issue...

Comment by oleksiys [ 22/Dec/14 ]

can you pls. try to apply this patch first
https://dl.dropboxusercontent.com/u/7319744/grizzly-gf3122-patch.zip
?

If you still can reproduce the problem - then we'll need a testcase. Unfortunately you can't upload it here

Comment by moonysun [ 23/Dec/14 ]

Bug is still very much reproducible even with the patch provided.

During this last test, some exceptions showed up in the logs:

[#|2014-12-23T01:49:13.524+0000|SEVERE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=83;_ThreadName=Thread-2;|WebModule[/session-share-bug]PWC1322: Error invoking requestDestroyed method on ServletRequestListener org.jboss.weld.servlet.WeldListener
java.lang.IllegalArgumentException: null source
at java.util.EventObject.<init>(EventObject.java:56)
at javax.servlet.ServletRequestEvent.<init>(ServletRequestEvent.java:77)
at javax.servlet.ServletRequestAttributeEvent.<init>(ServletRequestAttributeEvent.java:83)
at org.apache.catalina.connector.Request.removeAttribute(Request.java:1625)
at org.apache.catalina.connector.RequestFacade.removeAttribute(RequestFacade.java:581)
at org.jboss.weld.context.http.HttpConversationContextImpl.removeRequestAttribute(HttpConversationContextImpl.java:32)
at org.jboss.weld.context.http.HttpConversationContextImpl.removeRequestAttribute(HttpConversationContextImpl.java:12)
at org.jboss.weld.context.AbstractConversationContext.dissociate(AbstractConversationContext.java:163)
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:117)
at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4648)
at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:242)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)

#]

and

[#|2014-12-23T01:49:14.772+0000|SEVERE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=85;_ThreadName=Thread-2;|WebModule[/session-share-bug]PWC1322: Error invoking requestDestroyed method on ServletRequestListener org.jboss.weld.servlet.WeldListener
java.lang.NullPointerException
at org.apache.catalina.connector.Request.doGetSession(Request.java:2845)
at org.apache.catalina.connector.Request.getSession(Request.java:2583)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920)
at org.jboss.weld.context.http.HttpConversationContextImpl.setSessionAttribute(HttpConversationContextImpl.java:16)
at org.jboss.weld.context.http.HttpConversationContextImpl.setSessionAttribute(HttpConversationContextImpl.java:12)
at org.jboss.weld.context.AbstractConversationContext.dissociate(AbstractConversationContext.java:157)
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:117)
at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4648)
at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:242)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)
14566,15-22 72%

and even more:

[#|2014-12-23T01:49:13.973+0000|SEVERE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=82;_ThreadName=Thread-2;|WebModule[/session-share-bug]PWC1322: Error invoking requestDestroyed method on ServletRequestListener org.jboss.weld.servlet.WeldListener
java.lang.NullPointerException
at org.apache.catalina.connector.Request.removeAttribute(Request.java:1621)
at org.apache.catalina.connector.RequestFacade.removeAttribute(RequestFacade.java:581)
at org.jboss.weld.context.http.HttpConversationContextImpl.removeRequestAttribute(HttpConversationContextImpl.java:32)
at org.jboss.weld.context.http.HttpConversationContextImpl.removeRequestAttribute(HttpConversationContextImpl.java:12)
at org.jboss.weld.context.AbstractConversationContext.dissociate(AbstractConversationContext.java:163)
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:117)
at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4648)
at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:242)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)

#]

Relative to the test, at this web addres:

https://www.dropbox.com/sh/stk0cgehvch4ecd/AABI-mPTo9722U5PiIxMNFfCa?dl=0

You will find three files:
session-share-bug.war (deploy to glassfish)
session-share-bug.zip (maven project source code)
TestCDILogout.jmx (jmeter test plan to show the problem)

To reproduce the issue:
Use apache-jmeter to run the TestCDILogout.jmx

and loof for messages in the server.log as:

REUSING

Comment by oleksiys [ 24/Dec/14 ]

Just wanted to confirm, you are able to reproduce the problem with only one jmeter user thread?
How long you normally wait?

Comment by jpereira@linkare.com [ 24/Dec/14 ]

I am able to reproduce it with 2 user threads. But with 10 users it takes about 1 min (sometimes less) to get a few errors like the one i mentioned (finding in the logs REUSING is considered an error as you might understand from the code for obvious reasons).

I can also do it using two browsers each with two tabs/windows and hitting refresh in a quick but random order on the two servlet urls... so you don't actually need too much load to run into it...

Comment by oleksiys [ 25/Dec/14 ]

Pls. try this patch

https://dl.dropboxusercontent.com/u/7319744/grizzly-gf3122-patch.zip

Comment by moonysun [ 25/Dec/14 ]

Nope. Still nothing changes... It even looks like the problem repeated faster... (but that might be my new laptop being faster).

Oh, and by the way, I tested again with a single thread on jmeter and the problem also shows.

Comment by oleksiys [ 25/Dec/14 ]

can you pls. attach the stacktrace?

Comment by moonysun [ 25/Dec/14 ]

The problem shows up even in the event of no StackTrace.
I hope you understand the severity of the problem of sharing session objects in between sessions from different users.

Sometimes, this NPE also shows up, but it is quite rare:

[#|2014-12-25T20:06:08.337+0000|SEVERE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=94;_ThreadName=Thread-2;|WebModule[/session-share-bug]PWC1322: Error invoking requestDestroyed method on ServletRequestListener org.jboss.weld.servlet.WeldListener
java.lang.NullPointerException
at org.apache.catalina.connector.Request.doGetSession(Request.java:2845)
at org.apache.catalina.connector.Request.getSession(Request.java:2583)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920)
at org.jboss.weld.context.http.HttpConversationContextImpl.getSessionAttribute(HttpConversationContextImpl.java:23)
at org.jboss.weld.context.http.HttpConversationContextImpl.getSessionAttribute(HttpConversationContextImpl.java:12)
at org.jboss.weld.context.AbstractConversationContext.dissociate(AbstractConversationContext.java:156)
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:117)
at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4648)
at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:242)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)

#]
Comment by oleksiys [ 25/Dec/14 ]

Do you see NPE similar to the one you reported earlier:

_ThreadName=Thread-2;|java.lang.NullPointerException
at com.sun.grizzly.arp.AsyncProcessorTask.obtainAndSetThreadAttachment(AsyncProcessorTask.java:233)
at com.sun.grizzly.arp.AsyncProcessorTask.enableTimeout(AsyncProcessorTask.java:227)
at com.sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:131)
.....

?

Comment by jpereira@linkare.com [ 25/Dec/14 ]

This time I didn't. But before it only showed up sometimes so there is an amount of uncertainty on tthe observation

even so the main issue of session sharing is still present

Comment by oleksiys [ 26/Dec/14 ]

I think Grizzly part is fixed, the rest IMO is related to webcontainer.
It (webcontainer) must not executes chain postInvoke in the service() thread, if Servlet request was suspended.

Comment by jpereira@linkare.com [ 26/Dec/14 ]

Ok. So I will test your last patch more throughly and report if I can find the NPE or some other bugs related to grizzly... meanwhile have you seen my initial comment stating that an error at the enableTimeout() method call would never allow the finishExecute to be reached?

One other thing... what were the code changes related to your last patch?

Comment by oleksiys [ 26/Dec/14 ]

Right, enableTimeout() race is fixed
https://java.net/jira/browse/GRIZZLY-1729

Comment by moonysun [ 26/Dec/14 ]

So now, as far as I can tell, the only exceptions that remained are:

[#|2014-12-26T22:13:28.230+0000|SEVERE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=75;_ThreadName=Thread-2;|WebModule[/session-share-bug]PWC1322: Error invoking requestDestroyed method on ServletRequestListener org.jboss.weld.servlet.WeldListener
java.lang.NullPointerException
at org.apache.catalina.connector.Request.removeAttribute(Request.java:1621)
at org.apache.catalina.connector.RequestFacade.removeAttribute(RequestFacade.java:581)
at org.jboss.weld.context.http.HttpConversationContextImpl.removeRequestAttribute(HttpConversationContextImpl.java:32)
at org.jboss.weld.context.http.HttpConversationContextImpl.removeRequestAttribute(HttpConversationContextImpl.java:12)
at org.jboss.weld.context.AbstractConversationContext.dissociate(AbstractConversationContext.java:163)
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:117)
at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4648)
at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:242)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)

#]

-------------------------

[#|2014-12-26T22:13:28.235+0000|SEVERE|glassfish3.1.2|org.apache.catalina.connector.CoyoteAdapter|_ThreadID=75;_ThreadName=Thread-2;|PWC3989: An exception or error occurred in the container during the request processing
java.lang.NullPointerException
at org.apache.catalina.connector.Request.setAttribute(Request.java:1689)
at org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:570)
at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4654)
at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:242)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)

#]

------------------------------------

[#|2014-12-26T22:13:32.325+0000|SEVERE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=79;_ThreadName=Thread-2;|WebModule[/session-share-bug]PWC1322: Error invoking requestDestroyed method on ServletRequestListener org.jboss.weld.servlet.WeldListener
java.lang.NullPointerException
at org.jboss.weld.context.http.HttpConversationContextImpl.getSessionAttribute(HttpConversationContextImpl.java:24)
at org.jboss.weld.context.http.HttpConversationContextImpl.getSessionAttribute(HttpConversationContextImpl.java:12)
at org.jboss.weld.context.AbstractConversationContext.dissociate(AbstractConversationContext.java:159)
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:117)
at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4648)
at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:242)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)

#]

--------------------------------------------

[#|2014-12-26T22:13:39.775+0000|SEVERE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=77;_ThreadName=Thread-2;|WebModule[/session-share-bug]PWC1322: Error invoking requestDestroyed method on ServletRequestListener org.jboss.weld.servlet.WeldListener
java.lang.NullPointerException
at org.apache.catalina.connector.Request.doGetSession(Request.java:2845)
at org.apache.catalina.connector.Request.getSession(Request.java:2583)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920)
at org.jboss.weld.context.http.HttpConversationContextImpl.getSessionAttribute(HttpConversationContextImpl.java:23)
at org.jboss.weld.context.http.HttpConversationContextImpl.getSessionAttribute(HttpConversationContextImpl.java:12)
at org.jboss.weld.context.AbstractConversationContext.dissociate(AbstractConversationContext.java:156)
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:117)
at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4648)
at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:242)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)

#]

------------------------------------------

[#|2014-12-26T22:13:46.649+0000|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=78;_ThreadName=Thread-2;|StandardWrapperValve[AsyncDownloadProxy]: PWC1406: Servlet.service() for servlet AsyncDownloadProxy threw exception
java.lang.IllegalStateException: Missing wrapper
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:226)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at pt.segsocial.ii.session.AuditFilter.doFilter(AuditFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
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 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1042)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:745)

#]

---------------------------------------------------------

And the main problem still remains, as reported in the initial statement.

Comment by moonysun [ 26/Dec/14 ]

Meanwhile, sorry for bothering, but the error still seems to be present, just by inspection of the code... I'll explain my reasoning:

in the following lines, at method doTask of class AsyncProcessor Task:

case AsyncTask.FINISH:
enableTimeout(); //If this method fails for some reason, the "finishExecute" will never get called...

asyncExecutor.finishExecute(); //this might never get called at all, if enableTimeout() above fails
asyncExecutor.getAsyncHandler().returnTask(this);
return;

on the other hand, at the method enableTimeout(), we have:

private void enableTimeout()

{ final ThreadAttachment attachment = obtainAndSetThreadAttachment();//check this method for possible exceptions... attachment.setIdleTimeoutDelay(SelectionKeyAttachment.UNSET_TIMEOUT); //this is not prone to exceptions unless "attachment" is null attachment.setTimeout(System.currentTimeMillis()); //this is not prone to exceptions unless "attachment" is null }

and on the method obtainAndSetThreadAttachment() we have:

private ThreadAttachment obtainAndSetThreadAttachment() {
final ProcessorTask processorTask = asyncExecutor.getProcessorTask();//
final SelectionKey selectionKey = processorTask.getSelectionKey();

//those two previous lines were previously written
//final SelectionKey selectionKey = asyncExecutor.getProcessorTask().getSelectionKey();
//so the NPE at asyncExecutor.getProcessorTask() might still occur nonetheless...

Object attachment = selectionKey.attachment();
if (attachment == null || !(attachment instanceof ThreadAttachment))

{ attachment = obtainThreadAttachment(); selectionKey.attach(attachment); }

return (ThreadAttachment) attachment;
}

(check my comments in the code snippets above)...

-------------------------

Nonetheless, I made a more comprehensive run (100 virtual users, download -> logout) and I didn't find the original NPE in the logs anymore...

Comment by jpereira@linkare.com [ 10/Feb/15 ]

Bump





[GLASSFISH-4306] GUI needs help in placing a 'stand by' msg. Created: 28/Feb/08  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

Type: Improvement Priority: Critical
Reporter: Anissa Lam Assignee: jluehe
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Dependency
blocks GLASSFISH-4305 standby msg when app is down for main... Open
Issuezilla Id: 4,306

 Description   

This is AdminConsole-015 in
http://wiki.glassfish.java.net/Wiki.jsp?page=V3AdminConsoleImprovements

Placement of a configurable (with default) "stand by" message when an
application is down for maintenance or is in the process of being re-deployed

An admin_gui enhancement is opened, and now opening this as GUI depends on web
container for this.
GUI teams need web container to provide a way for achieving this.



 Comments   
Comment by harpreet [ 04/Mar/08 ]

changing target release from 9.1.1 to v3.

Comment by jluehe [ 18/Mar/08 ]

This is a request for an enhancement, not a bug.

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-6971] Check for <distributable/> when deploying with Availability enabled Created: 24/Dec/08  Updated: 24/Sep/12

Status: In Progress
Project: glassfish
Component/s: web_container
Affects Version/s: v2.1
Fix Version/s: not determined

Type: Improvement Priority: Critical
Reporter: Alexis MP Assignee: Rajiv Mordani
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 6,971

 Description   

I believe it doesn't make sense to deploy an application on a GlassFish cluster with availability enabled
(checkbox in web console or --availabilityenabled=true using asadmin) when the <distributable/> tag is
not present in the web.xml descriptor.

GlassFish should log the event as an explicit warning and provide feedback to the user upon deployment.



 Comments   
Comment by kumara [ 01/Sep/09 ]

Changing version from 9.1.1 to v2.1 to reflect new name/version.

Comment by Hong Zhang [ 23/Mar/11 ]

Assign to web team for initial evaluation to see if it's applicable to the current release and what we could do for it

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-13134] Allow to override javax.* packages on the web application level Created: 26/Aug/10  Updated: 23/Aug/11

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: v3.0.1
Fix Version/s: None

Type: Improvement Priority: Critical
Reporter: Jakub Podlesak Assignee: Shing Wai Chan
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Linux


Attachments: Text File overrideablePackages.patch    
Issuezilla Id: 13,134

 Description   

While there is a good reason to disallow applications to override e.g. the
standard Servlet API implementation in GlassFish, it could make perfect sense
for other Java EE APIs. For instance there is already a custom tag in
sun-web.xml to allow using custom JSF API classes bundled with a web application
to override the default version bundled with GlassFish. I would like to make
this possible also for JAX-RS API, and also at the application level.

Currently, one could use the following command:
asadmin create-jvm-options
-Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext

together with <class-loader delegate="false"> in the sun-web.xml

This, however, works only at the application server level and does not allow
control at the application level as in the JSF case. The drawbacks are obvious:
if you do not control the whole container, you are out of luck. Also to change
this just for one application, you would need to restart the whole server
and interrupt also the other running applications.

I am going to attach a patch to allow to specify a list of overriden
Java packages in the GlassFish specific web application descriptor,
sun-web.xml or glassfish-web.xml, so that the application could
configure use of it's own bundled Java packages belonging to the protected
javax.* space.

Following is an excerpt of how the web application bundling it's own
JAX-RS implementation should look like after the patch is applied:

<class-loader delegate="false">
<property name="overrideablePackages"
value="javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext"/>
</class-loader>



 Comments   
Comment by Jakub Podlesak [ 26/Aug/10 ]

Created an attachment (id=4745)
patch

Comment by survivant [ 02/Feb/11 ]

please check the Issue http://java.net/jira/browse/GLASSFISH-15741

for a sample that doesn't work.

Comment by gfuser9999 [ 23/Aug/11 ]

user comment
------------
1) This issues is for http://java.net/jira/browse/GLASSFISH-15741
is not differently related to this issue.
The testcase in http://java.net/jira/browse/GLASSFISH-15741
is due to classloading but this fix enhancement
is neccesary to provide per-webapp isolation
of Jersey and others.

2) For example with adding "-Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext" and where the sun-web.xml have
delegate="false", the above same app will fail after
a deploy <app>, undeploy <app>, deploy <app> cycle.
and you will hit http://java.net/jira/browse/JERSEY-660

3) The reason w/o the override seems to be that the JAXRS
Single RuntimeDelegate will point to the undeployed
WebappClassLoader. And By default GF31
WebappClassLoader will clear internal references.

If the above system property exists, then it should
be working fine. In fact as the system property
is global, it is not fine grain. It seems to me
that the request to have the overridePackages in
sun-web.xml would be Good as it is the same
trick as useBundledJsf or useMyFaces switch tries
to achieve.

So +1 for this.


Note:


WebappClassLoader seem to have a coding bug:
On GF311, Line 1886->1903, the "If statement" is
wrongly done – triggering wrong condition to
clear-reference. (It also does not check loadedByThisOrChild()).





[GLASSFISH-17416] Add configurable delay to servlet container shutdown process. Created: 12/Oct/11  Updated: 07/Mar/12

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

Type: New Feature Priority: Critical
Reporter: psprague Assignee: Shing Wai Chan
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The version of tomcat GlassFish's servlet container is based on doesn't allow us to configure a delay before unloading the servlets. Since the threads are set as daemon threads the JVM simply stops them. This means when we try and do a graceful shutdown (asadmin stop-domain --force=false) in-flight requests are killed before they complete.

org.apache.catalina.core.StandardWrapper

public synchronized void unload() throws ServletException {

        // Nothing to do if we have never loaded the instance
        if (!singleThreadModel && (instance == null))
            return;
        unloading = true;

        // Loaf a while if the current instance is allocated
        // (possibly more than once if non-STM)
        if (countAllocated > 0) {
            int nRetries = 0;
            while ((nRetries < 21) && (countAllocated > 0)) {
                if ((nRetries % 10) == 0) {
                    if (log.isLoggable(Level.FINE)) {
                        log.fine(sm.getString("standardWrapper.waiting",
                                              countAllocated,
                                              instance.getClass().getName()));
                    }
                }
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    // Ignore
                }
                nRetries++;
            }
        }

    ...
}

In Tomcat 6 this method has been changed to support a configurable unload delay.

I would also like to point out that the documentation for asadmin stop-domain states that --force=false waits for threads to complete; while this appears to be true for the EJB container it is not true for the servlet container.

     --force

         Specifies whether the domain is forcibly stopped immedi-
         ately.

         Possible values are as follows:

         true
             The   domain   is   forcibly   stopped   immediately
             (default).

         false
             The subcommand waits  until  all  threads  that  are
             associated  with  the domain are exited before stop-
             ping the domain.

Thanks,
Paul



 Comments   
Comment by Shing Wai Chan [ 06/Jan/12 ]

Port Tomcat change: http://svn.apache.org/viewvc?view=revision&revision=345286

Sending web-core/src/main/java/org/apache/catalina/core/StandardContext.java
Sending web-core/src/main/java/org/apache/catalina/core/StandardWrapper.java
Transmitting file data ..
Committed revision 51916.

Comment by craigwblake [ 07/Mar/12 ]

Does the commit mean that this has been resolved? If so, what release can we expect this in?

Thanks!





[GLASSFISH-18222] [JRockit-intermittent] Observed 100% CPU usage & deploy taking > 5 minutes when running the Coherence HA tests Created: 19/Jan/12  Updated: 26/Mar/13

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

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

Attachments: Zip Archive coh-test-logs-1.zip     Zip Archive coh-test-logs-2.zip    
Issue Links:
Dependency
blocks GLASSFISH-18190 [JRockit] 100% CPU usage by 2 instanc... Closed
Tags: 312_qa, 3_1_2-exclude, 3_1_2-release-note-added, 3_1_2-release-notes, 3_1_2_review

 Description   

GF Build: 18
Setup: 10 instance cluster (3 machines)
Platform: OEL6
JDK: JRockit
Has this test passed before: No. This is the first time that the combination OEL6 + JRockit + CoherenceTests is being tried out.

Parent Issue: 18160. Observed with build 17. 18222 is a result of further investigation.

Following observed when running Coherence tests (specifically while deploy of the coherence enabled application is on):

  • 100% CPU usage on some machines. "top" was run manually on all the machines involved in the setup if it was observed that one of the test's deploy method was taking unusually long.
  • This was not the case with all Coherence HA tests.
  • In some Coherence HA tests when the invocation of "asadmin deploy" was observed to be taking long (> 5 minutes), some instance logs were observed to contain thread dumps, while others have coherence related exceptions.
  • Tests that hit this issue ended up failing as instances did not seem to be available to service a http request for the application in question.
  • Different instances (1 or more) were observed to be utilizing 100% of the CPU during different tests.
  • In one of the tests a lot of GMS FAILURE_EVENTs have been observed while the deploy is on. Since 100% CPU usage has been observed during the deploy, it is quite likely that GMS alive messages (don't remember the exact terminology) were getting missed.

Logs from 2 different tests have been attached:
a) The first set is that of a test that showed a number of GMS FAILURE_EVENTs. This test happened to run before the test from which the second set of logs was collected.
b) The second set of logs shows thread dumps (see log of st-cluster/instance105) and exceptions (see log of st-cluster/instance106).
Note: The setup was able to continue the tests run after stalling for a bit. The second set of logs have been attached for a test after it had already stalled the tests run for about 2 hrs. A "kill -SIGABRT pid" was done on the instances that were taking 100% CPU (instanc101 & instance104 - second set of logs). Those kill steps seem to have generated thread dumps in the logs. Instances 101 and 104 got restarted after the kill -SIGABRT.

Client logs are in the ant.output file.

  • Deploy for the first set of logs begins at 3:58:33 AM
  • Deploy for the second set of logs begins at 4:10:52 AM

The coherence cache server's logs are also available - see coherence/<machine-name>/cache-server.log.

  • There was only a single storage enable cache server running. It formed the cluster with the storage-disabled GF cache nodes
  • The cache-server.log shows indications of failed members around the time of deploy for both the test cases.

NOTE: A core dump is also available. This was obtained before and for a different test run than the 2 sets of attached test logs. A "kill -SIGABRT pid" in this case had created a core dump rather than a thread dump in the instance logs.

  • Please send us an email and we will send its location.


 Comments   
Comment by Shing Wai Chan [ 20/Jan/12 ]

I notice the following coherence related messages in the instance log files.
Per discussion with James, this is very likely due to a resource or network issue.
So, this may be a result rather a cause of 100% cpu usage.

#|2012-01-19T04:06:40.072-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=25;_ThreadName=Thread-2;|2012-01-19 04:06:40.070/1652.885 Oracle Coherence GE 3.7.0.0 <Error> (thread=Termination Thread, member=n/a): Full Thread Dump

[#|2012-01-19T04:06:40.294-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=25;_ThreadName=Thread-2;|2012-01-19 04:06:40.293/1653.108 Oracle Coherence GE 3.7.0.0 <Error> (thread=http-thread-pool-24849(2), member=n/a): Error while starting cluster: com.tangosol.net.RequestTimeoutException: Timeout during service start: ServiceInfo(Id=0, Name=Cluster, Type=Cluster
MemberSet=ServiceMemberSet(
OldestMember=n/a
ActualMemberSet=MemberSet(Size=9, BitSetCount=2
Member(Id=1, Timestamp=2012-01-19 03:38:42.501, Address=10.133.185.54:8088, MachineId=13878, Location=site:us.oracle.com,machine:jed-asqe-24,process:8642, Role=CoherenceServer)
Member(Id=13, Timestamp=2012-01-19 03:58:48.887, Address=10.133.185.54:8090, MachineId=13878, Location=site:us.oracle.com,machine:jed-asqe-24,process:11176)
Member(Id=14, Timestamp=2012-01-19 03:58:50.606, Address=10.133.185.54:8092, MachineId=13878, Location=site:us.oracle.com,machine:jed-asqe-24,process:9028)
Member(Id=16, Timestamp=2012-01-19 03:59:12.252, Address=10.133.185.20:8090, MachineId=13844, Location=site:us.oracle.com,machine:jed-asqe-25,process:2421)
Member(Id=17, Timestamp=2012-01-19 03:59:19.923, Address=10.133.185.20:8094, MachineId=13844, Location=site:us.oracle.com,machine:jed-asqe-25,process:2408)
Member(Id=18, Timestamp=2012-01-19 04:00:47.551, Address=10.133.185.55:8088, MachineId=13879, Location=site:us.oracle.com,machine:jed-asqe-26,process:15657)
Member(Id=19, Timestamp=2012-01-19 04:01:02.177, Address=10.133.185.55:8090, MachineId=13879, Location=site:us.oracle.com,machine:jed-asqe-26,process:15651)
Member(Id=20, Timestamp=2012-01-19 04:01:04.076, Address=10.133.185.55:8092, MachineId=13879, Location=site:us.oracle.com,machine:jed-asqe-26,process:15690)
Member(Id=21, Timestamp=2012-01-19 04:01:18.349, Address=10.133.185.55:8094, MachineId=13879, Location=site:us.oracle.com,machine:jed-asqe-26,process:15658)
)
MemberId/ServiceVersion/ServiceJoined/MemberState
1/3.7/Thu Jan 19 03:38:42 PST 2012/JOINED,
13/3.7/Thu Jan 19 03:58:48 PST 2012/JOINED,
14/3.7/Thu Jan 19 03:58:50 PST 2012/JOINED,
16/3.7/Thu Jan 19 03:59:13 PST 2012/JOINED,
17/3.7/Thu Jan 19 03:59:19 PST 2012/JOINING,
18/3.7/Thu Jan 19 04:00:47 PST 2012/JOINED,
19/3.7/Thu Jan 19 04:01:02 PST 2012/JOINED,
20/3.7/Thu Jan 19 04:01:04 PST 2012/JOINED,
21/3.7/Thu Jan 19 04:01:18 PST 2012/JOINED
)
)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onStartupTimeout(Grid.CDB:6)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:28)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:6)
at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:61)
at com.tangosol.coherence.component.net.Cluster.start(Cluster.CDB:11)
at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.CDB:4)
at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.CDB:10)
at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.CDB:26)
at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.CDB:2)
at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:427)
at com.tangosol.coherence.servlet.SessionHelper.checkEdition(SessionHelper.java:295)
at com.tangosol.coherence.servlet.SessionHelper.configure(SessionHelper.java:107)
at com.tangosol.coherence.servlet.SessionHelper.ensureSessionHelper(SessionHelper.java:482)
at com.tangosol.coherence.servlet.glassfish31.CoherenceWebSessionManager.init(CoherenceWebSessionManager.java:133)
at com.tangosol.coherence.servlet.glassfish31.CoherenceWebSessionManager.start(CoherenceWebSessionManager.java:577)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5370)
at com.sun.enterprise.web.WebModule.start(WebModule.java:503)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:735)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2010)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1661)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:302)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.InstanceDeployCommand.execute(InstanceDeployCommand.java:187)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1066)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1295)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1260)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:238)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:747)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1046)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:105)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:91)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:56)
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)

Comment by Shing Wai Chan [ 24/Jan/12 ]

Does the same test pass in Oracle JDK?

Comment by varunrupela [ 24/Jan/12 ]

Yes. The coherence tests passed with Oracle JDK. The collected logs from that run do not contain any Thread Dumps and do not indicate delay in execution of DAS commands.

Will send a mail with the results link.

Comment by Shing Wai Chan [ 25/Jan/12 ]

Can you increase the memory for JRockit JVM? I would like to know whether the problems went away after the change.

Comment by varunrupela [ 25/Jan/12 ]

Is there an indication that memory has been an issue ?

Comment by sherryshen [ 30/Jan/12 ]

GF Build: 19
Setup: 10 instance cluster (3 machines)
Platform: OEL6
JDK: JRockit

The execution is hanging on coherence in run 10b,
jed-asqe-28 97% cpu
asqeopteron1,3 2.7% cpu

http://agni-1.us.oracle.com/JSPWiki/Wiki.jsp?page=V312HATest
Varun checked the the log on asqe-log, and found that
both the runs (10a and 10b) have Coherence related failures
due to issue 18222.

*****
[root@jed-asqe-28 coherence-http-runtime]# find . -name "ant.output" | xargs grep "30000"
./com.sun.dft.glassfish.http.failover.runtime.HttpFailoverRuntimeTest4/ant.output: [testng] INFO: The asadmin command - /space/gf-ha/glassfish3/bin/asadmin --user admin deploy --availabilityenabled=true --force=true --target st-cluster /space/gf-ha/agent-repository/glassfish-samples/clusterjsp.ear is taking longer than 300000 milliseconds.
./com.sun.dft.glassfish.http.failover.runtime.HttpFailoverRuntimeTest24/ant.output: [testng] INFO: The asadmin command - /space/gf-ha/glassfish3/bin/asadmin --user admin deploy --availabilityenabled=true --force=true --target st-cluster /space/gf-ha/agent-repository/web/runtime/SimpleSession.war is taking longer than 300000 milliseconds.
[root@jed-asqe-28 coherence-http-runtime]#
[root@jed-asqe-28 coherence-http-runtime]# find . -name "server.log" | xargs grep "Thread Dump"
./com.sun.dft.glassfish.http.failover.runtime.HttpFailoverRuntimeTest4/failoverRuntimeThroughLB/logs/st-cluster/instance101/logs/server.log:[#|2012-01-29T23:36:01.649-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=24;_ThreadName=Thread-4;|2012-01-29 23:36:01.642/437.818 Oracle Coherence GE 3.7.0.0 <Error> (thread=Recovery Thread, member=n/a): Full Thread Dump
*****

http://agni-1.us.oracle.com/net/asqe-logs.us.oracle.com/export1/3.1.2/Results/build19/ha/oel6nm/all/coherence-http-runtime/com.sun.dft.glassfish.http.failover.runtime.HttpFailoverRuntimeTest4/failoverRuntimeThroughLB/logs/st-cluster/instance101/logs/server.log
http://agni-1.us.oracle.com/net/asqe-logs.us.oracle.com/export1/3.1.2/Results/build19/ha/oel6nm/all/coherence-http-runtime/com.sun.dft.glassfish.http.failover.runtime.HttpFailoverRuntimeTest4/failoverRuntimeThroughLB/logs/coherence/jed-asqe-28.us.oracle.com/cache-server.log

Comment by Shing Wai Chan [ 30/Jan/12 ]

In one of the thread dump, we notice the following:

Thread[Cluster|SERVICE_STARTING|STATE_ANNOUNCE|Member(Id=0, Timestamp=2012-01-29 23:30:08.126, Address=10.133.185.4:8090, MachineId=13828, Location=site:us.oracle.com,machine:jed-asqe-28,process:32266),5,Cluster]
com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher.drainOverflow(PacketPublisher.CDB:0)
com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher$InQueue.add(PacketPublisher.CDB:8)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.dispatchMessage(Grid.CDB:62)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.post(Grid.CDB:46)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.send(Grid.CDB:1)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onTimerAnnouncing(ClusterService.CDB:68)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onNotify(ClusterService.CDB:11)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
java.lang.Thread.run(Thread.java:662)

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

Current thinking is that this may be a problem with the Coherence code on JRockit. This will not be resolved in time for 3.1.2. We should document this in the release notes as a known issue with JRockit. The work-around is to use the normal Oracle JDK.

Comment by Shing Wai Chan [ 02/Feb/12 ]

If you see the 100% cpu usage again, then please collect the following information. This will help coherence team to debug this further:

  • If this is reproducible, can we take thread dumps every few seconds?
  • Do we know which processes are using up CPU? (using top the pid and then identify what process that pid is)
  • Do we know if this is in user land or kernel? (from top)
Comment by Shing Wai Chan [ 06/Feb/12 ]

An issue is filed on Coherence as follows:
13689509: 100% CPU USAGE IN DEPLOYING COHERENCE 3.7.1 WEB APPLICATION WITH JROCKIT.

Comment by varunrupela [ 07/Feb/12 ]

We are Observing similar thread dumps and GMS related failures in the GF instance server logs with coherence 3.7.1 as well. Will work on collecting the requested frequent thread dumps and then upload the logs.

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-18583] PrecompileJSP Option during Application deployment causes PWC6112: Failed to load or instantiate TagExtraInfo class: org. Created: 30/Mar/12  Updated: 19/Oct/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 3.1.2_b12
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: ccagf Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

SunOS 5.10 Generic_144489-11 i86pc i386 i86pc
Version: GlassFish Server Open Source Edition 3.1.1 (build 12)


Attachments: Zip Archive ccanet.zip    
Tags: PWC6112, PrecompileJSP, admin-gui

 Description   

PreCompileJSP Option during Application deployment causes the following error.
But gets deployes without the precompileJSP option
and also same deployment file works on Glassfish 2.1 with the precompile opion without any issues.

Error:
[#|2012-03-29T17:32:10.465-0500|INFO|glassfish3.1.1|org.glassfish.admingui|_ThreadID=28;_ThreadName=Thread-2;|Exception Occurred :Error occurred during deployment: E
xception while preparing the app : JSP Compilation Error: org.apache.jasper.JasperException: file:/opt/appsvr/glassfish/domains/domain1/applications/ccanet/ccanet_wa
r/Index.jsp(1,45) PWC6112: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei – file:/opt/appsvr/glassfish/domains/dom
ain1/applications/ccanet/ccanet_war/Index.jsp(1,45) PWC6112: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei. Please
see server.log for more details.
Exception while invoking class com.sun.enterprise.web.WebDeployer prepare method : java.lang.RuntimeException: JSP Compilation Error: org.apache.jasper.JasperExcepti
on: file:/opt/appsvr/glassfish/domains/domain1/applications/ccanet/ccanet_war/Index.jsp(1,45) PWC6112: Failed to load or instantiate TagExtraInfo class: org.apache.s
truts.taglib.tiles.UseAttributeTei – file:/opt/appsvr/glassfish/domains/domain1/applications/ccanet/ccanet_war/Index.jsp(1,45) PWC6112: Failed to load or instantiat
e TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei
JSP Compilation Error: org.apache.jasper.JasperException: file:/opt/appsvr/glassfish/domains/domain1/applications/ccanet/ccanet_war/Index.jsp(1,45) PWC6112: Failed t
o load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei – file:/opt/appsvr/glassfish/domains/domain1/applications/ccanet/ccanet_war
/Index.jsp(1,45) PWC6112: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei Exception while invoking class com.su
n.enterprise.web.WebDeployer prepare method : java.lang.RuntimeException: JSP Compilation Error: org.apache.jasper.JasperException: file:/opt/appsvr/glassfish/domain
s/domain1/applications/ccanet/ccanet_war/Index.jsp(1,45) PWC6112: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei –
file:/opt/appsvr/glassfish/domains/domain1/applications/ccanet/ccanet_war/Index.jsp(1,45) PWC6112: Failed to load or instantiate TagExtraInfo class: org.apache.stru
ts.taglib.tiles.UseAttributeTei
JSP Compilation Error: org.apache.jasper.JasperException: file:/opt/appsvr/glassfish/domains/domain1/applications/ccanet/ccanet_war/Index.jsp(1,45) PWC6112: Failed t
o load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei – file:/opt/appsvr/glassfish/domains/domain1/applications/ccanet/ccanet_war
/Index.jsp(1,45) PWC6112: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei|#]
------

the index.jsp refered above:
----------------------------
< % @ taglib uri="struts-tiles" prefix="tiles" % >
<tiles:insert template="/core/corePage.jsp">
<tiles:put name="header" content="/core/jsp/layout/header.jsp"/>
<tiles:put name="topNavBar" content="/core/jsp/layout/topNavBar.jsp"/>
<tiles:put name="errorsAndMessages" content="/core/jsp/layout/errorsAndMessages.jsp"/>
<tiles:put name="mainwindow" content="/core/jsp/layout/Index.jsp"/>
</tiles:insert>



 Comments   
Comment by kchung [ 02/Apr/12 ]

When deploying without precompilejsp, I got the following error. Please fix the test case.

[#|2012-04-02T13:56:43.252-0700|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=17;_ThreadName=Thread-2;|Exception while loading the app : EJB Container initialization error
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.cca.core.security.info.UserProfileInfo.<clinit>(UserProfileInfo.java:59)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.enterprise.deployment.util.TypeUtil.getMethod(TypeUtil.java:399)
at com.sun.enterprise.deployment.MethodDescriptor.getMethod(MethodDescriptor.java:287)
at org.glassfish.ejb.security.application.EJBSecurityManager.convertEJBMethodPermissions(EJBSecurityManager.java:550)
at org.glassfish.ejb.security.application.EJBSecurityManager.loadPolicyConfiguration(EJBSecurityManager.java:256)
at org.glassfish.ejb.security.application.EJBSecurityManager.initialize(EJBSecurityManager.java:317)
at org.glassfish.ejb.security.application.EJBSecurityManager.<init>(EJBSecurityManager.java:190)
at org.glassfish.ejb.security.factory.EJBSecurityManagerFactory.createManager(EJBSecurityManagerFactory.java:209)
at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:229)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:299)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:105)
at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.jav

Comment by Anissa Lam [ 19/Oct/12 ]

I am moving this bug to web-container as Kinman is looking at it.





[GLASSFISH-20884] Does not full fit the javax.servlet.ServletContainerInitializer's functions Created: 07/Nov/13  Updated: 01/May/14

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

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


 Description   

The interface javax.servlet.ServletContainerInitializer has declared that "Implementations of this interface may be annotated with HandlesTypes, in order to receive (at their onStartup(java.util.Set>, javax.servlet.ServletContext) method) the Set of application classes that implement, extend, or have been annotated with the class types specified by the annotation. "
While, when I define an interface A as IA,an interface B as IB which extends IA,and a class C implements IB, the HandlesTypes annotation declared to receive IA classes, the onStartup method does receive the class C.



 Comments   
Comment by Shing Wai Chan [ 01/May/14 ]

Can you attach a simple test case for this issue?





[GLASSFISH-21007] HTTP Upgrade handler init called twice when access log is turned on Created: 17/Mar/14  Updated: 12/Jan/15

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

Type: Bug Priority: Critical
Reporter: mreichman Assignee: Amy Roh
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Glassfish 4.0.1b4 Promoted, Windows 7 x64, JDK 1.7.0_51


Issue Links:
Blocks
blocks TYRUS-306 java.lang.IllegalStateException: Alre... Open
Dependency
blocks TYRUS-306 java.lang.IllegalStateException: Alre... Open

 Description   

When HTTP access logging is turned on, the init method of HttpUpgradeHandler implementations is called twice at upgrade-time. I'd previously filed TYRUS-306 for this, the necessary information, test components to reproduce are in that ticket. In the Tyrus case, the effect is that two websockets are created for one request which creates management difficulty and potential leaks.



 Comments   
Comment by smillidge-c2b2 [ 12/Jan/15 ]

A suggested fix for this is here
https://github.com/payara/Payara/commit/4b0951d503e416813cc4fba82edd2d60e8a77a53





[GLASSFISH-1250] Core ELResolvers (MapELResolver, ListELResolver) should make better use of available generic type info Created: 03/Oct/06  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.1pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: tony_robertson Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All
URL: http://fisheye5.cenqua.com/viewrep/glassfish/servlet-api/src/jsr245/src/share/javax/el


Attachments: Text File servlet-api.patch     Zip Archive servlet-api.zip    
Issuezilla Id: 1,250

 Description   

The existing ELResolvers within "servlet-api/src/jsr245/src/share/javax/el"
make no use of generic type information in the "getType()"
and "getCommonPropertyType()" methods, even in those instances where it is
actually available. In particular, the ListELResolver and MapELResolver assume
that the list or map is the raw type only, and so return "Object.class" as the
value type. When setting a value, this can cause class cast exceptions (if
checked collections are being used), or worse, it will violate the intended
type constraints of the collection.
If the correct type is returned, then the value can be correctly converted by
the caller first.

While isolated instances of the generified collection classes do not retain the
type information at runtime, there are at least two significant instances where
the generic type IS actually available.

(1) The runtime class of the base object itself extends or implements the
generic collection interface or class. Eg:
class MyDateList extends java.util.ArrayList<java.util.Date> {
...
}
In this case the concrete type information is available via
the "getGenericSuperclass()" or "getGenericInterfaces()" methods of the class.

(2) The base object has just be resolved from a bean property as part of an
overall EL expression. For example:
class MyBean {
java.util.Map<String,java.util.Date> getLocalDate()

{ ... }

}
Then assume a managed bean "abean" of type "MyBean", and an expression like "#

{abean.localDate.au}

". In this case, the type info for the map is available
via "getGenericReturnType()" on the reader method.

To make use of (1) requires only a change to the List and Map resolvers
themselves, and should be quite simple.
To make use of (2) would require a change to the BeanELResolver as well as the
List and Map resolvers.
One way I can think of is to have the BeanELResolver add a "typemap" to the
ELContext (via the "ELContext.putContext()" method).
Whenever "BeanELResolver.getValue()" is about to return a value whose type is
a "ParameterizedType", that type is added to the "typemap" using the value as
the key. Then if the "typemap" is present, the List or Map resolver can lookup
the correct type for the "base" object.

I think (2) is probably the more common use case, so it is probably worth the
extra effort. I can put together a change bundle for this, but would welcome
any feedback first.



 Comments   
Comment by jluehe [ 04/Oct/06 ]

-> Kin-Man

Comment by tony_robertson [ 04/Oct/06 ]

Created an attachment (id=489)
Preliminary version of patch for suggest fix

Comment by tony_robertson [ 04/Oct/06 ]

Created an attachment (id=490)
new source file for patch

Comment by tony_robertson [ 04/Oct/06 ]

Attached is a preliminary version of a suggested fix
(currently has a few extra logger calls that will need culling).
Basically to demonstrate the viability of the approach and allow
some testing.

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-1608] Add Line-specific Error Reporting for Deferred Expressions Created: 29/Nov/06  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: jhook Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 1,608

 Description   

It'd be a good feature to transfer from Tomcat 6 to Glassfish Jasper around
wrapping generated Value/MethodExpressions with line-specific error reporting,
here's an example from JSF:

org.apache.jasper.JasperException: /customerInfo.jsp(157,0) Cannot
coerce value (creditCardConverter) to type
(javax.faces.convert.Converter) for attribute converter.

Code Example:
http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/org/apache/jasper/el/JspValueExpression.java



 Comments   
Comment by jluehe [ 29/Nov/06 ]

-> Kin-Man

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-1740] Request for spec change - Allow c:forEach step to be -ve Created: 13/Dec/06  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: bayard Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 1,740

 Description   

This is an issue reported to Jakarta Taglibs. As the email address is bouncing
(jsr-52-comments@jcp.org), I thought that reporting it to the RefImpl would be
the best bet.

Here's the original issue (now closed):

https://issues.apache.org/bugzilla/show_bug.cgi?id=31047



 Comments   
Comment by bayard [ 13/Dec/06 ]

Enhancement

Comment by jfarcand [ 18/Feb/08 ]

Re-assign to Kin-Man to see what he thinks for v3.

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-1741] Request for spec change - Allow c:forEach begin to be -ve Created: 13/Dec/06  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: bayard Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 1,741

 Description   

This is an issue reported to Jakarta Taglibs. As the email address is bouncing
(jsr-52-comments@jcp.org), I thought that reporting it to the RefImpl would be
the best bet.

Here's the original issue (now closed):

https://issues.apache.org/bugzilla/show_bug.cgi?id=31103

I imagine 'end' would want to allow negative too if this were changed in the spec.



 Comments   
Comment by bayard [ 13/Dec/06 ]

Enhancement

Comment by jfarcand [ 18/Feb/08 ]

Re0-assign to Kin-Man for v3.

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-1742] Request for spec change - Support a user based connection pool Created: 13/Dec/06  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: bayard Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 1,742

 Description   

This is an issue reported to Jakarta Taglibs. As the email address is bouncing
(jsr-52-comments@jcp.org), I thought that reporting it to the RefImpl would be
the best bet.

Here's the original issue (now closed):

https://issues.apache.org/bugzilla/show_bug.cgi?id=34315



 Comments   
Comment by bayard [ 13/Dec/06 ]

Enhancement

Comment by jfarcand [ 18/Feb/08 ]

Kin-Man

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-1743] Request for spec change - Encode 'c:param's in 'c:url's. Created: 13/Dec/06  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: bayard Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 1,743

 Description   

This is an issue reported to Jakarta Taglibs. As the email address is bouncing
(jsr-52-comments@jcp.org), I thought that reporting it to the RefImpl would be
the best bet.

Here's the original issue (now closed):

https://issues.apache.org/bugzilla/show_bug.cgi?id=23319

Further thoughts on my part:

Reading the spec, it does state for c:url that:

"If the URL contains characters that should be encoded (e.g. space), it is the
user's responsibility to encode them. "

c:param on the other hand says:

"Moreover, it has been designed such that the attributes name and value are
automatically URL encoded. "

The two sections seem to contradict each other.



 Comments   
Comment by bayard [ 13/Dec/06 ]

I'm getting my url encoding and xml escaping muddled. Ignore my quotes from the
spec. The issue requests that xml escaping be handled better - not url encoding.

Comment by bayard [ 13/Dec/06 ]

Enhancement

Comment by jfarcand [ 18/Feb/08 ]

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-1744] Request for spec change - Enable escaping of tags in format:message Created: 13/Dec/06  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: bayard Assignee: kchung
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 1,744

 Description   

This is an issue reported to Jakarta Taglibs. As the email address is bouncing
(jsr-52-comments@jcp.org), I thought that reporting it to the RefImpl would be
the best bet.

Here's the original issue (now closed):

https://issues.apache.org/bugzilla/show_bug.cgi?id=39431



 Comments   
Comment by jfarcand [ 18/Feb/08 ]

Re-assign to Kin-Man

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-2615] "JstlCoreTLV is too strict in its requirements" Created: 14/Mar/07  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: bayard Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 2,615

 Description   

This is an issue reported to Jakarta Taglibs asking that the JSTLCoreTLV be
relaxed to allow people to use the param tag in their own tag implementations.
As Jakarta Taglibs 1.1.x is a maintenance branch, I'm avoiding making this
change but thought it might be of value here.

The (now closed) issue url is:

https://issues.apache.org/bugzilla/show_bug.cgi?id=39719



 Comments   
Comment by jluehe [ 08/Jan/08 ]

Asking Kin-Man to take a look.

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-2616] "VariableResolver in PageContext is not used by JSTL core tags" Created: 14/Mar/07  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: bayard Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 2,616

 Description   

Another Jakarta Taglibs issue. This one is a request/query concerning
VariableResolver being extendable. Rather than try to fix this in the Standard
Taglib, I'm passing it on to you guys for inclusion in a newer ref implementation.

The (now closed) issue url is:

https://issues.apache.org/bugzilla/show_bug.cgi?id=39438



 Comments   
Comment by jluehe [ 08/Jan/08 ]

Asking Kin-Man to take a look.

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-3468] Application Libraries - Specify in Sun DD Created: 06/Aug/07  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: danielrhoades Assignee: jluehe
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Linux


Issuezilla Id: 3,468

 Description   

The --libraries or "Libraries" field in asadmin can be used to specify
additional runtime library dependancies for applications.

Currently there is no way to add this information to the Sun DD, this prevents
applications depending on libraries being autodeployed and makes rapid
development in IDEs like Netbeans slower as the package has to be manually
deployed after each development iteration.

See forum thread for more information:

http://forums.java.net/jive/thread.jspa?messageID=229456



 Comments   
Comment by Hong Zhang [ 06/Aug/07 ]

Assign to Jan as web team owns the sun-web-app dd contents. The deployment team
will make the relevant deployment changes when this work starts.

Comment by Hong Zhang [ 06/Aug/07 ]

add myself to Cc

Comment by jfarcand [ 18/Feb/08 ]

Re-assign to myself.

Comment by jfarcand [ 02/Sep/08 ]

Re-assign to Jan to see what he thinks. It should be simple for us to implement
such support, except it will require a change to sun-web DTD....

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-3813] Deployment of web app directories without editing domain.xml Created: 26/Oct/07  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.1pe
Fix Version/s: not determined

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

Operating System: All
Platform: All


Issuezilla Id: 3,813

 Description   

Tomcat has now long had the ability to deploy deploy web application directories
without editing server.xml. [By deploy I don't mean copy the web app files, but
rather just enable the web app in the servlet engine using the existing
directory.] Similarly it would be very useful for Glassfish to support this
ability without editing domain.xml.

In Tomcat this is done through a context.xml file just one like that which
Glassfish supports/uses from docroot/META-INF except:

  • The file is named webAppName.xml [only required in later Tomcats]
  • The <context> element must have path and docBase attributes to specify the
    context path and docbase directory of the web app, respectively.

This file is just placed in a specified location in Tomcat and the web app is
loaded automatically shortly thereafter.

This capability has a number of advantages.

First, it is very easy to create this simple XML file in a specified location as
compared to properly inserting into domain.xml.

More importantly, however, it allows one to easily deploy the same web app
directory multiple times, i.e. under different context paths and with different
deployment parameters. For instance, I have a simple web app that is designed
to address a database instance. In Tomcat I create multiple context.xml files
with unique context paths and unique DBCP parameters specifying various database
instances. In Glassfish I currently cannot do this as context.xml always
resides in docroot/META-INF, so I can only have one per docbase.



 Comments   
Comment by Hong Zhang [ 06/Nov/07 ]

Just want to let you know similar things were planned/implemented for v3. For v3
developer profile, the application will not be registered in the central
domain.xml and there will be a separate property file for each deployed
application.

Comment by Hong Zhang [ 08/Nov/07 ]

look in v3.

Comment by Hong Zhang [ 21/Jan/11 ]

I think we already have partial support of context.xml in glassfish, but not sure if this scenario is part of it. Assign to web team to follow up.

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-4007] support valves as first class object: asadmin command, configuration Created: 16/Jan/08  Updated: 21/Jan/11

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

Type: Improvement Priority: Major
Reporter: writtmeyer Assignee: Shing Wai Chan
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Linux


Issue Links:
Duplicate
is duplicated by GLASSFISH-4006 Add more flexible configuration possi... Resolved
Issuezilla Id: 4,007

 Description   

Right now it is possible to add valves to visual-server elements as well as to
web-module elements using properties. E.g.:
asadmin set
server.http-service.virtual-server.server.property.valve_1=org.apache.catalina.valves.RequestDumperValve

But it is not possible to configure them appropriately - especially to set
properties of the valves themselves.

For the current situation see Jeanfrancois Arcand's blog:
http://weblogs.java.net/blog/jfarcand/archive/2006/09/extending_glass.html

It is highly desirable to be able to do s.th. more Valve-specific - to get an
explicit command line command for valves.

A possible syntax could be s.th. like the following:

asadmin create-valve --class x.y.SomeValve --parent-type
(virtual-server|web-module) --parent /parent/ --target /target/ /valve_name/

--class is obviously the class of the Valve to create.
--parent-type would be either virtual-server or web-module since these are the
only places a Valve can be added to (see Jeanfrancois' post above).
--parent would denote the id for virtual-servers or the name for web-modules
--target would be domain, server or cluster_name

For more about this see the thread on the developer mailing list starting with
the following post:
https://glassfish.dev.java.net/servlets/ReadMsg?list=dev&msgNo=5244



 Comments   
Comment by writtmeyer [ 16/Jan/08 ]

I've selected the wrong issue type for this RFE at the beginning. Sorry!

Comment by writtmeyer [ 16/Jan/08 ]

I've posted a related issue for necessary changes in the domain.xml:

https://glassfish.dev.java.net/issues/show_bug.cgi?id=4006

Comment by janey [ 26/Jan/10 ]

reassign to kedar

Comment by writtmeyer [ 27/Jan/10 ]

I am not sure whether this is relevant for asadmin as well, but Valve and
ValveNode have been enhanced in working on this RFE:

https://glassfish.dev.java.net/issues/show_bug.cgi?id=7177

At least parts of these enhancements might help with this issue.

Comment by Tom Mueller [ 21/Jan/11 ]

The blog entry referred to in the description is now here:
http://jfarcand.wordpress.com/2006/09/08/extending-glassfishs-webcontainer/

Please evaluate this issue to see if it should be closed, included in 3.2, or deferred to a future release.

Comment by Tom Mueller [ 21/Jan/11 ]

Issue 4006 talks about adding configuration data in the domain.xml file for valves. I'm combined that one into this one and closing issue 4006 as a duplicate.

Please consider the implementation of valve-specific data in the domain.xml along with commands for managing valves when evaluation this bug.





[GLASSFISH-4589] Add support for session tracking via SSL session id Created: 02/Apr/08  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

Type: New Feature Priority: Major
Reporter: jluehe Assignee: jluehe
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Sun


Issuezilla Id: 4,589

 Description   

See http://forums.java.net/jive/thread.jspa?threadID=38902&tstart=0



 Comments   
Comment by jluehe [ 26/Aug/08 ]

This is a new feature, and not the enhancement of an existing one.

Comment by jluehe [ 07/Apr/10 ]

Joe (java.net id "infosun") posted this interesting comment to the above froum
thread:

<comment>
Jan Luehe described a possible solution in his Blog "GlassFish Support for
Cookie-less HTTP Sessions"
http://blogs.sun.com/jluehe/date/200712

follow the example and replace his invoke method with the following code.

@Override
public int invoke(Request request, Response response) throws IOException,
ServletException
{
CoyoteRequest coyoReq = (CoyoteRequest) request;
coyoReq.getAttribute(Globals.CERTIFICATES_ATTR); // call
populateSSLAttributes();
String cid =
(String)coyoReq.getAttribute("javax.servlet.request.ssl_session");
if(cid != null)

{ coyoReq.setRequestedSessionId(cid); }

return INVOKE_NEXT;
}

works for me under Glassfish v2ur2.

Joe
</comment>

This should continue to work with GF v3.

All that's left to do would be to install this special-purpose valve (that is,
add it to the application's pipeline) for any application that had SSL
configured as its session tracking mode.

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-4731] Different root context for the same app Created: 10/Apr/08  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

Type: New Feature Priority: Major
Reporter: arungupta Assignee: vivekp
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 4,731

 Description   

I've created a Rails app and added WEB-INF/sun-web.xml directory with the
contents as:

– cut here –
<sun-web-app error-url="">
<context-root>/ruby_comet</context-root>
<class-loader delegate="true"/>
– cut here –

If the app is deployed then the following message is shown:

INFO: Loading application ttt_ruby at /ttt_ruby

However if I restart the server (w/o re-deploying the app) then the following
message is shown:

INFO: Loading application ttt_ruby at /ruby_comet

The same app is getting loaded in different root context. And indeed this is
verified by accessing the URL as well.

Tried this with Preview 2, b08.



 Comments   
Comment by jluehe [ 10/Apr/08 ]

Taking ownership

Comment by jluehe [ 10/Apr/08 ]

Arun, this is working as expected for me with a fresh build off the trunk, i.e.,
the webapp is deployed to, and accessible at, the context-root specified in its
sun-web.xml at its initial deployment. I've deployed using "asadmin", not the V3
plugin.

Please reopen if you continue to have this problem with a later build.

Comment by jluehe [ 10/Apr/08 ]

Reopening issue, and also adding email thread to it:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Arun Gupta wrote:

Hmm, I'm still seing an error with hudson #3238 (4:41pm today). Here is the
message shown during app deployment...

Apr 10, 2008 5:50:52 PM com.sun.enterprise.rails.RailsDeployer registerAdapter
INFO: Loading application ttt_ruby at /ttt_ruby
Apr 10, 2008 5:50:52 PM
INFO: Starting Rails instances
Apr 10, 2008 5:50:59 PM
SEVERE: JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Apr 10, 2008 5:51:00 PM com.sun.grizzly.jruby.RubyObjectPool$1 run
INFO: Rails instance instantiation took : 8174ms
Apr 10, 2008 5:51:00 PM com.sun.enterprise.web.WebApplication start
INFO: Loading application ttt_ruby at /ruby_comet
Apr 10, 2008 5:51:00 PM com.sun.enterprise.v3.deployment.DeployCommand execute
INFO: Deployment of ttt_ruby done is 9858 ms

This is correctly deployed at ttt_ruby & ruby_comet. And the message shown when
server is restarted ...

Apr 10, 2008 5:51:50 PM com.sun.enterprise.rails.RailsDeployer registerAdapter
INFO: Loading application ttt_ruby at /ruby_comet
Apr 10, 2008 5:51:50 PM
INFO: Starting Rails instances
Apr 10, 2008 5:51:56 PM
SEVERE: JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Apr 10, 2008 5:51:57 PM com.sun.grizzly.jruby.RubyObjectPool$1 run
INFO: Rails instance instantiation took : 6813ms
Apr 10, 2008 5:51:57 PM com.sun.enterprise.web.WebApplication start
INFO: Loading application ttt_ruby at /ruby_comet
Apr 10, 2008 5:51:57 PM
com.sun.enterprise.v3.services.impl.ApplicationLoaderService processApplication
INFO: Loading ttt_ruby Application done is 8653 ms

Here both are deployed at ruby_comet. I'll try a more recent build later tonight.

-Arun

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Jan Luehe wrote:

OK, from your original bug report, it wasn't clear which aspect of the
deployment you were complaining about:

>If the app is deployed then the following message is shown:
>INFO: Loading application ttt_ruby at /ttt_ruby

when in fact there are 2 deployments involved: one rails related:

INFO: Loading application ttt_ruby at /ttt_ruby

and the other one web related:

INFO: Loading application ttt_ruby at /ruby_comet

Are you saying that after a server restart, you would have expected
the rails deployment to continue to load at /ttt_ruby, but it suddenly
started honoring the context-root from sun-web.xml and deployed at
/ruby_comet?

When I marked the bug as WORKSFORME, I only considered the web
deployment aspect (since I was deploying a WAR), which works as
expected, i.e., the context-root from sun-web.xml is being honored.

So this looks like a problem with the RailsDeployer?

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Vivek Pandey wrote:

Although, what surprises me is the fact that the first time deployment goes thru
fine. It is re-deployment that causes not work. Is it possible that somewhere in
grizzly or v3, the logic to invoke a specific deployer is such that it is not
giving chance to RailsDeployer once it is identified as web app?

I will need to look at it to see what is going on.

Comment by jluehe [ 10/Apr/08 ]

Assigning to Vivek, as per previous discussion

Comment by vivekp [ 23/Jun/08 ]

On further investigation it appears that it really ends up being the case when
we are talking about composite application deployment - ruby_comet being a
servlet applciation which is co-bundled with the rails application.

Either at grizzly level this can be taken care in terms of passing on the
request to the servlet app or could be something else. It needs more
investigation and since we dont have concept of composite applciation worked
out, I am changing it from defect and marking as enhancement.

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk change to set fix version to "not determined" where the issue is open but the value is for a released version.





[GLASSFISH-5413] Add support for disabling default-virtual-server Created: 31/Jul/08  Updated: 08/Dec/10

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

Type: Improvement Priority: Major
Reporter: jluehe Assignee: Justin Lee
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Sun


Issuezilla Id: 5,413
Status Whiteboard:

v3_exclude


 Description   

Add support for disabling default-virtual-server, by setting its value to the
empty string (since default-virtual-server is mandatory according to the DTD
that governs domain.xml). Another option would be to change the DTD to declare
this attribute as OPTIONAL.

See http://forums.java.net/jive/thread.jspa?messageID=288450 for use case that
has motivated this.



 Comments   
Comment by jluehe [ 31/Jul/08 ]

..

Comment by jluehe [ 06/Oct/08 ]

...

Comment by Justin Lee [ 08/Oct/08 ]

accepting

Comment by Justin Lee [ 29/Apr/09 ]

hrm. is this still a problem since there is no more DTD enforcing this?

Comment by Justin Lee [ 05/May/09 ]

...

Comment by Justin Lee [ 25/Jun/09 ]

I think this can be closed, yes? Bueller?

Comment by Justin Lee [ 06/Oct/09 ]

no one seems to be terribly interested in this at the moment and it's a
big(gish) change from what investigation i've done. bumping to 3.1.





[GLASSFISH-6676] Need a clearer error message when there are dataSource issues from JSTL Created: 31/Oct/08  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

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

Operating System: All
Platform: All


Issuezilla Id: 6,676
Status Whiteboard:

v3_exclude

Tags: 3_1-exclude

 Description   

We need a clearer error message when the dataSource specified in a JSTL sql tag
is not available.

if i do not put the resource-ref in sun-web.xml of
<resource-ref>
<res-ref-name>jdbc/mysqlTestDB</res-ref-name>
<jndi-name>jdbc/mysqlTestDB</jndi-name>
</resource-ref>

I get the following error (which makes sense) using JSTL tag of

<sql:query var="resultSet" dataSource="jdbc/mysqlTestDB" >
select * from contacts
</sql:query>

javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get
connection, DataSource invalid: "java.sql.SQLException: No suitable driver found
for jdbc/mysqlTestDB"

The problem with the message is the issue is not with the JDBC driver, it is
with looking up the dataSource.

The error message should try to be more specific.



 Comments   
Comment by jluehe [ 31/Oct/08 ]

...

Comment by kchung [ 27/Oct/09 ]

To be fixed after v3

Comment by kumara [ 07/Dec/09 ]

Setting target release for unresolved issues submitted on v3 release to the next release. Not changing
issues submitted on v2.x release because they might not apply to v3.next release.

Comment by kchung [ 07/Oct/10 ]

Currently, there is no plans for JSTL development.

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-7149] 1st access to resources in jars in web apps is slow Created: 05/Feb/09  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: Dies Koper Assignee: jluehe
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 7,149

 Description   

When including a jar with resources in a web app's WEB-INF/lib, at the
moment a resource is first accessed from the application the jar's
contents is extracted into the generated directory.

This means that when there are many resources in a jar, there is a long
delay when accessing the first resource. This is also noticeable when
accessing the admin console each time after starting the domain.

Jan answered to my question about it in the dev ML:

--------------------------------
GlassFish inherited this behaviour from Tomcat.
The motivation for it is summarized in this Tomcat FAQ entry:

I want to redeploy web applications, how do I prevent resources from
getting locked?

Most locking issues will occur with JARs from /WEB-INF/lib, and are
useally caused by access through URLs. Tomcat has mechanisms to allow
avoiding locking. In Tomcat 5.0, a mechanism exists to prevent locking
when accessing resources using the getResource method of the URL
classloader (many applications, such as Xerces, do not set the use of
caching to false before opening the URL connection, causing
locking). If such a call occurs, resources inside the JARs will be
extracted to the work directory of the web application. In Tomcat 5.5,
this mechanism is disabled by default (as it has a non negligible
influence on startup times, and is often useless), and can be enabled
using the antiJARLocking attribute of the Context element.

GlassFish still enables antiJARLocking by default, and currently does
not provide any way of turning it off.

We should definitely support a way of turning antiJARLocking off
(and might want to consider turning it off by default), by honoring
the antiJARLocking attribute in Tomcat's context.xml, and adding a
similar property to sun-web.xml.
--------------------------------



 Comments   
Comment by Dies Koper [ 17/Nov/09 ]

Adding my comment to Jan at the time:
(I suspect the reason the Admin Console is now not packaged as a war anymore
because of this slow-down. I suppose fixing this issue would allow the Admin
Console or any other similar application to have reasonable performance even
packaged as a war/ear).

I do think a better solution is to do what the EJBClassLoader does, instead of
just disabling antiJARLocking.

What EJBClassLoader does in its getResource (findResource0 really) and
getResourceAsStream methods is, it wraps the stream to a resource with a special
stream class (SentinelInputStream) that has a close method. When an application
is redeployed, the container calls a method in the EJBClassLoader that will
close all streams of the resources explicitly.

This is much more reliable than waiting for the gc to kick in. It also solves
the problem of the URL connection's caching not disabled by the user application.

I don't think making antiJARLocking user configurable is the way to go,
especially when it is possible to solve the problem completely.

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-10334] Provide more info in jasper Class-Path TldScanner warnings Created: 16/Oct/09  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: eskatos Assignee: kchung
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: Linux


Issuezilla Id: 10,334

 Description   

At deployment time, if a lib jar has a Class-Path entry in it's manifest, it's
auto scanned and a warning is emmited for every jar that cannot be found.

For an example jar see truezip-6.6 on maven central :

<dependency>
<groupId>de.schlichtherle.io</groupId>
<artifactId>truezip</artifactId>
<version>6.6</version>
</dependency>

or http://repo1.maven.org/maven2/de/schlichtherle/io/truezip/6.6/truezip-6.6.jar

When deploying I get this log :

[#|2009-10-16T10:50:45.413+0200|WARNING|glassfish|org.apache.jasper.runtime.TldScanner|_ThreadID=11;_ThreadName=Thread-3;|PWC6351:
In TLD scanning, the supplied resource
file:/home/paul/opt/gf3/glassfish/domains/acme/applications/acme-ear-1.3.0-SNAPSHOT/lib/lib/lcrypto-jdk14-135.jar
does not exist
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.jar.JarFile.<init>(JarFile.java:133)
at java.util.jar.JarFile.<init>(JarFile.java:70)
at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:72)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:48)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:68)
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:104)
at
sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:71)
at org.apache.jasper.runtime.TldScanner.scanJar(TldScanner.java:338)
at org.apache.jasper.runtime.TldScanner.scanJars(TldScanner.java:529)
at org.apache.jasper.runtime.TldScanner.scanTlds(TldScanner.java:268)
at org.apache.jasper.runtime.TldScanner.onStartup(TldScanner.java:214)
at
org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5372)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5283)
at com.sun.enterprise.web.WebModule.start(WebModule.java:493)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:928)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1826)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1522)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:93)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:229)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:214)
at
com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:307)
at
com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:331)
at
com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:173)
at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:91)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:88)
at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
at
com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:243)
at
com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:130)
at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:457)
at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:401)
at org.jvnet.hk2.osgiadapter.HK2Main.start(HK2Main.java:121)
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:667)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:1699)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1621)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:890)
at org.jvnet.hk2.osgimain.Main.start(Main.java:124)
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:667)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:1699)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1621)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1076)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
at java.lang.Thread.run(Thread.java:619)

#]

This enhancement is simply about providing the problematic jar name/path in the
logs so we don't have to hunt the incriminated jar. This would be very handy
when your application has several dependencies.

This may be a Jasper issues but as I see this behavior with glassfish first,
here is the enhancement issue.



 Comments   
Comment by Hong Zhang [ 16/Oct/09 ]

assign to web as this is from web code

Comment by jluehe [ 22/Oct/09 ]

...

Comment by ymajoros [ 18/Mar/11 ]

it's not Jasper specific, I have it for a lot of libraries and it isn't always easy to solve without more information...

Comment by orair [ 16/Dec/11 ]

I think this problem annoying too.
In my case, I use Jackrabbit. Jackrabbit has a derby dependency and the MANIFEST of derby is wrong.
This warning generates a lot of unnecessary stacktrace (the supplied resource file:/dados/glassfish3/glassfish/domains/domain1/applications/EconoInfo-OCONSI-EAR-0.1.1-SNAPSHOT/lib/derbyLocale_cs.jar does not exist) and I cannot solve the issue because it is a third party library dependence.
Would be great if the stacktraces were not showed...

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-10891] [rfc 66] Hybrid web app's bundle-activator should run in web app's context Created: 08/Nov/09  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

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

Operating System: All
Platform: All


Issuezilla Id: 10,891

 Description   

Bundle-Activator of a hybrid web app should run in webapp's context.



 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-10971] Ability to configure the usage of double quotes on the elements logged in to the access log Created: 11/Nov/09  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: v2.1
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: imranbohoran Assignee: jluehe
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 10,971

 Description   

The HTTP access log currently has a bunch of useful information that one can
choose to be logged. However these elements are all logged with surrounding
double-quotes. This poses problems for applications needing to scan these logs
based on predefied formats.
Therefore can we;
1. Have the access logging provide a configurable property that indicates what
character should be used and the default can be kept as double quotes.
2. Or (better) simply let the format definition be driven off based on what the
user has specified for. i.e. The user would say the format of the log to be;
%client.name% [%header.Host%] [%datetime%] "%request%" %status% %response.length%
where the logging would happen as
11.23.43.111 [www.example.com] [11/Nov/2009:09:33:54 +0000] "GET
/my-app/myresource.html HTTP/1.0" 200 233

I'd vote for (2) as it gives users to configure what ever they need using the
tokens provided by GF.

A discussion thad led to this enhancement request can be found at;
http://forums.java.net/jive/message.jspa?messageID=371289#371289

Thanks!!

Cheers
– Imran



 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-11697] subdomain wildcard support Created: 17/Mar/10  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: pradyut Assignee: jluehe
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 11,697

 Description   

Hi

I want to set up a virtual server for subdomain

my domain is redirected from
pradyut.dyndns.org

to pradyut.dyndns.org/WebApplicationSecurity

using a virtual server whose default web module is
WebApplicationSecurity
I have used the string "$

{com.sun.aas.hostName}

,pradyut.dyndns.org"
in the hosts of the virtual server

now to the question
if someone enters "newa.pradyut.dyndns.org"
how can i redirect to

pradyut.dyndns.org/WebApplicationSecurity/newa

or "*.pradyut.dyndns.org"
redirects to pradyut.dyndns.org/WebApplicationSecurity/*

Thanks
Pradyut



 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-12065] JSP spec bug: method-signature element: no way to declare optional arguments Created: 27/May/10  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: V3
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: Ed Burns Assignee: kchung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 12,065

 Description   

This follows from https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=731 and
https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=732 .

There are a few tag attributes in JSF 2.0 whose type is MethodExpression. These are declared in the TLD
using a <method-signature> element. For two of these attributes in JSF 2.0, we have relaxed the
argument requirements to make the argument optional. However, there is no way to declare this fact in
the TLD.

We need some way to declare arguments as optional.

I suggest we allow multiple method-signature elements within an attribute. The meaning of this is: any
of the following method signatures are allowed.

ALso, I'm quite certain jsp-spec-public.dev.java.net is NOT the correct issue tracker for this, but I'm not
certain glassfish.dev.java.net IS the right one. Any other suggestions?



 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-16049] implement CORS support Created: 18/Feb/11  Updated: 18/Oct/12

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

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

Tags: ee7ri_cleanup_deferred

 Description   

I was talking to a community member and he asked if we had any plans to implement CORS on the server side. All browsers including IE8, android and iOS already support CORS but it needs support on the server side.

http://www.w3.org/TR/cors/



 Comments   
Comment by Tom Mueller [ 18/Oct/12 ]

Marking the fix version field as "future-release". This is based on an evaluation by John, Michael, and Tom WRT to the PRD for the Java EE 7 RI/SDK. This issue was deemed to not be a P1 for that release. If this is in error or there are other reasons why this RFE should be targeted for the Java EE 7 RI/SDK release, then change the fix version field back to an appropriate build.





[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-16587] request.getUserPrincipal() does not return MyPrincipal Created: 09/May/11  Updated: 14/Mar/13

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: 0
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.





[GLASSFISH-16766] keep-state directive for web archives (WAR) not working when using OSGi redeployment Created: 31/May/11  Updated: 18/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi-JavaEE, web_container
Affects Version/s: 3.1
Fix Version/s: future release

Type: New Feature Priority: Major
Reporter: asemt Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: ee7ri_cleanup_deferred

 Description   

Environment:

  • Java EE6 Web Application (JSF 2)
  • Deployed as an OSGi bundle to Felix (into "GF_ROOT/domains/domain1/autodeploy/bundles")
  • Build by Maven Bundle Plug-In

When trying to preserve the HTTP session state in a JSF web application while redeploying the application as described in

http://download.oracle.com/docs/cd/E18930_01/html/821-2417/gkhtr.html
and
http://download.oracle.com/docs/cd/E18930_01/html/821-2418/beaha.html

there is always a javax.faces.application.ViewExpiredException thrown by the web container.
So I assume the keep-state directive is ignored by the web container.



 Comments   
Comment by Sanjeeb Sahoo [ 31/May/11 ]

Yes, this is known to us. I have turned your issue to an enhancement request and will look into it in release after 3.1.1. I understand this issue makes one spend more time in rapid development/deployment/testing cycle, but I hope this is not stopping you from making progress.

Comment by Tom Mueller [ 18/Oct/12 ]

Marking the fix version field as "future-release". This is based on an evaluation by John, Michael, and Tom WRT to the PRD for the Java EE 7 RI/SDK. This issue was deemed to not be a P1 for that release. If this is in error or there are other reasons why this RFE should be targeted for the Java EE 7 RI/SDK release, then change the fix version field back to an appropriate build.





[GLASSFISH-16871] Refactoring DefaultServlet.serveResource Created: 16/Jun/11  Updated: 01/Dec/11

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

Type: Improvement Priority: Major
Reporter: Eirik Bjørsnøs Assignee: Shing Wai Chan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File GLASSFISH-16871-lookup-validation.patch    

 Description   

In trying to add a features to DefaultServlet.serveResource I've found the method in it's current form extremely hard to work with.

I'm counting 346 lines, 46 branches (some nested 7 levels deep), 9 return/exception points and mixed concerns including multiple resource location strategies (war file, META-INF/resources, alternate doc base..), directory listing / redirection handling, resource caching, error reporting, range handling, content type resolution and finally several seemingly different strategies for actually serving content.

Before adding any new features, this method needs some refactoring.

What to do? I mainly see two things:

1) We need to separating the concerns of looking up the resource, validating and handling errors for the resource and actually serving the resource.
2) The resource is served in different ways depending on content and use of ranges. The same "type" checks are done repeatedly using if statements.This could probably be split into one class per strategy using basic polymorphism.



 Comments   
Comment by Eirik Bjørsnøs [ 16/Jun/11 ]

The attached patch (GLASSFISH-16871-lookup-validation.patch) is an attempt at refactoring DefaultServlet.serveResource by:

  • Separating the concern of locating a CacheEntry into its own method lookupCacheEntry
  • Separating the validation and error handling into its own method hasValidationErrors

To do this, I had to do a couple of tweaks (in addtion to extract the methods):

  • The redirect if a directory is requested without a "/" in case of resources inside META-INF/lib/ jars was moved to the error handling method.
  • The write to the proxyHandler local variable when a META-INF/lib/ directory resource is requested has been replaced with setting the cacheEntry.context to be the FileDirContext. The creation of a ProxyDirContext wrapper around the FileContext was moved to the call of the render() method (which handles directory listings)
  • The check and handling for the situation where directory listings are suppressed was moved into the hasValidationErrors method.

This patch does not change the actual serving of the resource.

Comment by Eirik Bjørsnøs [ 23/Jun/11 ]

I also found the whole mixing of resource lookup and resource caching to be confusing.

The use of CacheEntry seems to indicate that the resource or at least its representation is cached in some way. However, when debugging I noticed that ProxyDirContext's cache field is only optional. By default, there seems to be no cache. Still, a CacheEntry is created and returned.

When implementing support for META-INF/resources lookups, the lookup results in an instance of the same CacheEntry class, without there ever being caching involved in the lookup. This really confused me.

A refactoring of this method should consider separating the lookup of a resource from the caching. That way, resources could be cached regardless of where they're looked up from (given that the source is cacheable, that is)





[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-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-17178] [UB]Glassfish 3.1.1 with JK Listener enabled throws exception of NoSuchThreadPool when EJB is deployed Created: 10/Aug/11  Updated: 07/Mar/12

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

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

OS X Lion, Windows 7 32bit



 Description   

Glassfish 3.1.1 build12 with a JK Listener enabled and set to thread-pool-1 throws NoSuchThreadPool exception when EJB is deploy individually or as part of an EAR.

Tested on multiple environments standalone and via Eclipse plugin. Same results each time. Reproducible every time.
Deploying applications with no EJBs has no issue.
Removing JK Listener resolves the problem.

Steps to reproduce.
1) New Glassfish 3.1.1 (build 12) install from zip.
2) Configure JK Listener on port 8009 on address 0.0.0.0 with thread-pool-1 as thread pool on server "server".
3) Create test EJB Project in Eclipse with one Hello World type method with both local and remote interfaces.
4) Export test EJB Project to JAR.
5) Deploy from web interface Applications menu.

Exception details below:
WARNING: No default ThreadPool defined
com.sun.corba.ee.spi.orbutil.threadpool.NoSuchThreadPoolException
at org.glassfish.enterprise.iiop.util.S1ASThreadPoolManager.getThreadPool(S1ASThreadPoolManager.java:246)
at org.glassfish.enterprise.iiop.util.S1ASThreadPoolManager.getDefaultThreadPool(S1ASThreadPoolManager.java:276)
at org.glassfish.enterprise.iiop.impl.PEORBConfigurator.configure(PEORBConfigurator.java:138)
at com.sun.corba.ee.impl.orb.ORBConfiguratorImpl.runUserConfigurators(ORBConfiguratorImpl.java:185)
at com.sun.corba.ee.impl.orb.ORBConfiguratorImpl.configure(ORBConfiguratorImpl.java:170)
at com.sun.corba.ee.impl.orb.ORBImpl.postInit(ORBImpl.java:625)
at com.sun.corba.ee.impl.orb.ORBImpl.set_parameters(ORBImpl.java:704)
at com.sun.corba.ee.impl.orb.ORBImpl.setParameters(ORBImpl.java:691)
at com.sun.corba.ee.spi.osgi.ORBFactory.initialize(ORBFactory.java:107)
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.initORB(GlassFishORBManager.java:581)
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.getORB(GlassFishORBManager.java:263)
at org.glassfish.enterprise.iiop.impl.GlassFishORBFactoryImpl.createORB(GlassFishORBFactoryImpl.java:93)
at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:152)
at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getProtocolManager(GlassFishORBHelper.java:219)
at com.sun.ejb.containers.BaseContainer.initializeProtocolManager(BaseContainer.java:818)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:566)
at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:155)
at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:149)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:105)
at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230)
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:257)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:382)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1244)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1232)
at org.glassfish.admin.rest.ResourceUtil.runCommand(ResourceUtil.java:202)
at org.glassfish.admin.rest.ResourceUtil.runCommand(ResourceUtil.java:195)
at org.glassfish.admin.rest.resources.TemplateListOfResource.createResource(TemplateListOfResource.java:148)
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.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:134)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:134)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
at com.sun.jersey.server.impl.container.grizzly.GrizzlyContainer._service(GrizzlyContainer.java:182)
at com.sun.jersey.server.impl.container.grizzly.GrizzlyContainer.service(GrizzlyContainer.java:147)
at org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:184)
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:238)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
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:680)



 Comments   
Comment by Hong Zhang [ 10/Aug/11 ]

Not sure if it's an ejb issue or orb issue, assign to ejb team for initial evaluation.

Comment by Cheng Fang [ 10/Aug/11 ]

Can you try not specifying threadpool option when creating the listener? Or use "http-thread-pool".

thread-pool-1 is for servicing IIOP requests and for resource adapters to service work management requests.

Comment by vin4bacchus [ 10/Aug/11 ]

"thread-pool-1" was chosen because default "http-thread-pool" only has a max of 5 threads and choosing this pool threw a warning in the logs about not large enough max thread pool for AJP listener.

Upped "http-thread-pool" max threads to 50 and assigned the AJP JK Listener to it and tested on sample EJB project ok.
This appears to have solved the issue by using a different thread pool than "thread-pool-1".

Comment by Cheng Fang [ 10/Aug/11 ]

transfer to doc team to clarify. The following is what I observed. You may want to check with web container team:

do not use the build-in thread-pool-1 for any network-listener;

if users do not specify a threadpool for the jk listener, the default threadpool used is http-thread-pool. And users also need to up the max size for http-thread-pool from 5 to a bigger number.

users can also create a new thread pool with create-threadpool command with decent max size, for jk listener.

Comment by vin4bacchus [ 10/Aug/11 ]

Only one clarification. The default thread pool for a new JK Listener is actually the "admin" thread pool.

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-17323] Unsupported deployment descriptors element library-name in weblogic.xml Created: 20/Sep/11  Updated: 26/Mar/13

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

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

Attachments: File gradeschool.war    
Tags: 3_1_2-exclude

 Description   

*report the bug for backward compatibility requirement for future BG product*

I tried to deploy the attached Weblogic QA test application to Glassfish v3.1.1, the deployment was successful. However, in the server.log it displayed the following messages:

"[#|2011-09-20T10:25:45.812-0700|INFO|glassfish3.1.1|org.glassfish.admingui|_Thre
adID=19;_ThreadName=Thread-2;|uploadFileName=gradeschool.war|#]

[#|2011-09-20T10:25:45.968-0700|WARNING|glassfish3.1.1|javax.enterprise.system.t
ools.deployment.org.glassfish.deployment.common|_ThreadID=17;_ThreadName=Thread-
2;|DPL8007: Unsupported deployment descriptors element library-name value playgr
ound|#]

[#|2011-09-20T10:25:45.968-0700|WARNING|glassfish3.1.1|javax.enterprise.system.t
ools.deployment.org.glassfish.deployment.common|_ThreadID=17;_ThreadName=Thread-
2;|DPL8007: Unsupported deployment descriptors element library-name value cafete
ria|#]"

The following is the snapshot of the weblogic.xml of the test app.
<weblogic-web-app>

<library-ref>
<library-name>playground</library-name>
</library-ref>

<library-ref>
<library-name>cafeteria</library-name>
</library-ref>

</weblogic-web-app>

We might have to make sure we will support the above elements in weblogic.xml in the future BG release. Thanks.



 Comments   
Comment by sonialiu [ 20/Sep/11 ]

add fix version 4.0

Comment by sonialiu [ 21/Sep/11 ]

changed affects version to 4.0





[GLASSFISH-17787] provide an asadmin command that secures a deployed Java EE archive Created: 21/Nov/11  Updated: 01/Feb/13

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

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


 Description   

Currently, it is possible to make an artifact that doesn't require authentication and then change it to require authentication... It is not even a hard thing to do... but it sure is tedious.

And it requires a developer/deployer to alter the archive... which opens up the possibility that they will make a mistake as they go through the process of doing the conversion.

It would be nice to have a single command that would alter a deployed artifact to use authentication, without forcing the user to explode their app, edit files, rebuild the archive and redeploy.

The command may do all those things (behind the scenes).



 Comments   
Comment by Hong Zhang [ 10/Oct/12 ]

Reassign to web team to see if it makes sense to implement something like this.

Comment by Shing Wai Chan [ 01/Feb/13 ]

In order to a secure a web application with authentication, one need to have the following:
a) auth-method (associated login pages, etc if necessary)
b) realm name
c) security-constraint
d) security-role mapping

We have default for a) and b) in GlassFish.
For c) and d), we need to wait for http://java.net/jira/browse/SERVLET_SPEC-34, where one can define a constraint for a valid authenticated users without roles.

Comment by vince kraemer [ 01/Feb/13 ]

one thing to note... I guess this would apply to any Java EE artifact that is deployed and has the ability to be secured... it does not have to be just for web apps

Comment by vince kraemer [ 01/Feb/13 ]

extended the goal of the improvement to all deployable, securable Java EE artifacts.





[GLASSFISH-18352] Nested tags that export variable whose "variable-class" value was not "java.lang.String" would result in compilation error. Created: 13/Feb/12  Updated: 14/Feb/12

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

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

Operating System: All
Platform: All


Tags: 3_1_2-exclude

 Description   

I've found a new bug which is caused by the modification of
Issue4266(Revision20269).
And the issue4266 is descripted on http://java.net/jira/browse
/GLASSFISH-4266
The detail of the new bug is following:
When nesting tags that export the same variable name,and if the value
of the "variable-class" is not "java.lang.String",a
compilation error occurs.
for example:
----------------------------------
taglib.tld

<tag>
<name>test</name>
<tag-class>com.sample.TestTag</tag-class>
<body-content>scriptless</body-content>
<variable>
<name-given>va</name-given>
<variable-class>java.util.Integer</variable-class>
</variable>
</tag>

test.jspx

<t:one>
<jsp:attribute name="a">
<t:test va="2012">
<t:test va="2012">
<jsp:text>blah</jsp:text>
</t:test>
</t:test>
</jsp:attribute>
</t:one>
---------------------------------

the following is the main error message:
----------
HTTP Status 500 - message description The server encountered an
internal error () that prevented it from
fulfilling this request.exception org.apache.jasper.JasperException
...Unable to compile class for JSP
... Generated servlet error:
rtexprvalue : java.lang.Integer
required : java.lang.String
-----------

I think the following source(★
)results in the new bug.
--------
・The class:
org.pache.jasper.compiler.Generator
・The method:
private void saveScriptingVars(Node.CustomTag n, int scope)
・The part of source:
=======
String tmpVarName = JspUtil.nextTemporaryVariableName();
n.setTempScriptingVar(varName, tmpVarName);
out.printin("String "); ★
out.print(tmpVarName);
out.print(" = ");
out.print(varName);
out.println(";");
=======
--------

Will the bug be resolved on glassFish.
And When the bug be resolved on glassFish.



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

Excluding from 3.1.2 – filed against 9.1.1





[GLASSFISH-18694] sessionCreated of @WebListener class called on failover Created: 06/May/12  Updated: 08/May/12

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

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

Linux, jdk 7u4, 2 local linstances of GF 3.1.2



 Description   

In HA configuration, sessionCreated of @WebListener is called on every failover. Simple output to log files (shown below), informs container that new session was created (even it has the same id).

sessionCreated: 336cd4f4ee8ed1d714ba01330547
sessionCreated2: org.apache.catalina.session.StandardSessionFacade@7d22aadd
sessionCreated: 336cd4f4ee8ed1d714ba01330547
sessionCreated2: org.apache.catalina.session.StandardSessionFacade@4e9f32ec
sessionCreated: 336cd4f4ee8ed1d714ba01330547
sessionCreated2: org.apache.catalina.session.StandardSessionFacade@1180775e
sessionCreated: 336cd4f4ee8ed1d714ba01330547
sessionCreated2: org.apache.catalina.session.StandardSessionFacade@7331693f

Spec is not clear about it, but when we assume, that sessionCreated is supposed to be called on failover, sessionDestroyed should also be called on failover, but it is not.

My Listener looks like that:

@WebListener
public class DebugHttpSessionListener implements HttpSessionListener {

    private static final Log LOG = LogFactory.getLog(DebugHttpSessionListener.class);

    @Override
    public void sessionCreated(HttpSessionEvent se) {
        LOG.info("sessionCreated: " + se.getSession().getId());
        LOG.info("sessionCreated2: " + se.getSession());
        
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        LOG.info("sessionDestroyed" + se.getSession().getId());
    }
}





[GLASSFISH-18830] JSPCompiler#compile ignore delegate flag Created: 23/Jun/12  Updated: 23/Jun/12

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

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


 Description   

The JSPCompiler#compile ignore delegate flag.

The current implementation is as follows:

        boolean delegate = true;
        com.sun.enterprise.deployment.runtime.web.ClassLoader clBean =
                wbd.getSunDescriptor().getClassLoader();

        // so far, this is not segragated per web bundle, all web-bundles will get the
        // same sysClassPath
        String sysClassPath = ASClassLoaderUtil.getModuleClassPath(
            serverContext.getDefaultServices(), appName, null);
        jspc.setSystemClassPath(sysClassPath);
        // END SJSAS 6311155

Note that the delegate is not used in the above code snapshot.
The seems to be related to change 24871.






[GLASSFISH-18901] Redirect to originating page fails after authentication Created: 13/Jul/12  Updated: 24/Apr/14

Status: Open
Project: glassfish
Component/s: security, web_container
Affects Version/s: 3.1.2_b23
Fix Version/s: future release

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

SUSE Linux Enterprise Server 11 (i586)
VERSION = 11
PATCHLEVEL = 1


Attachments: Java Source File AS400LoginModule.java     Text File GF-Test-Log-2012-07-13.txt     Text File jaas-login-form.txt     Zip Archive jaas-vendor-adapters.zip    
Tags: JSR196, authentication, jaas

 Description   

I have tried every permutation of the SAM that I can find and still can not get the GF container to accept the completed authentication and redirect/forward back to the originally requested resource. The container continues to return with the j_security_check page.

The authentication module (ServerModule based) completes successfully and it works under Tomcat without an issue.

The authentication module currently uses the NameCallback, PasswordCallback, ChoiceCallback, and TextOutputCallback. Those callbacks are not handled under the GF container default callback handler but instead (from what I can gather) uses the GroupPrincipalCallback and the PasswordValidationCallback.

I have created a custom CalllbackHandler to enable handling both sets of callbacks as appropriate and so as not to have to change the authentication module which currently works in the Websphere and Tomcat environments.

I am obviously missing some setting because the container will not redirect/forward to the requested resource after completing the authentication.

The application is using filters, but the filters don't appear to be the problem as they are manipulating the URL returned from the container (j_security_check).

I have attached the project files containing my last attempt to resolve this issue.

If the files provided don't provide sufficient information to identify the piece I am missing, please let me know and I will include any omitted



 Comments   
Comment by gerrycata [ 13/Jul/12 ]

I should note that the login form is a custom form and not using the basic form authentication scheme. I have attached the login form html to this ticket.

Comment by gerrycata [ 13/Jul/12 ]

Login form

Comment by gerrycata [ 08/Apr/13 ]

Is this issue still projected to be addressed in the 4.x release as I have not seen any activity on it? I see that the 4.x release is in beta testing but I have not seen any JAAS related activity mentioned in the release notes.





[GLASSFISH-18994] Impossible to use a CUSTOM session manager Created: 11/Aug/12  Updated: 15/Aug/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 3.1.2_b23
Fix Version/s: None

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

Linux 3.2.0-3-amd64 x86_64 GNU/Linux (debian wheezy)


Attachments: Text File distributable.log     Text File non-distributable.log    

 Description   

I am trying to implement a couchbase session manager for glassfish (see https://github.com/rickyepoderi/couchbase-manager) and it is absolutely impossible to add it as a CUSTOM type (which seems to be the more reasonable way of integrating).

The following link http://docs.oracle.com/cd/E18930_01/html/821-2415/gkmhr.html explains how to include a new manager but it does not work. You have to follow one of the specified persistence types defined by this class: http://java.net/projects/glassfish/sources/svn/content/trunk/main/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/session/PersistenceType.java. So, at first time, I decided to use "custom" type (I repeat that it seems the more reasonable way) but again it was impossible. If you set your PersistenceStrategyBuilder as "custom" the class http://java.net/projects/glassfish/sources/svn/content/trunk/main/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/SessionManagerConfigurationHelper.java backs the application to "meemory" type (no matter the application was distributable or not).

I'm going to attach some logs with javax.enterprise.system.container.web.level=FINEST that shows that that class fails back to memory type (setting the application to <distributable/> and not setting).

Now I am re-using the "coherence-web" type but I think is not the proper way (besides it gives me another problems). Please it would be possible that the "custom" tag could just pass through this class with no interference (custom means custom, so let me do whatever I want).






[GLASSFISH-19113] [PERF] Forwarded JSP makes multiple calls to InvocationManagerImpl Created: 28/Sep/12  Updated: 24/Apr/14

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

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

Tags: PSRBUG

 Description   

When a simple servlet forwards a response to a JSP, there are multiple calls made to InvocationManagerImpl.preInvoke and postInvoke.

In the case of preInvoke, the first of these calls comes from ApplicationDispatcher.invoke -> ApplicationDispatcher.doInvoke -> InstanceSupport.fireInstanceEvent -> J2EEInstanceListener.instanceEvent. In that case the instance event is the InstanceEvent.EventType.BEFORE_DISPATCH_EVENT (line 792 of ApplicationDispatcher). The second call comes from line 821, which calls StandardWrapper.service -> InstanceSupport.fireInstanceEvent. In that case the instance event is InstanceEvent.EventType.BEFORE_SERVICE_EVENT. So within J2EEInstanceListener, the events are different. But that information isn't passed into the InvocationManagerImpl.preInvoke method, which appears just to be doing duplicate work. Unless the event is somehow passed to the lower methods in a way I'm just missing.

Can we figure out a way to eliminate the duplicate processing?

This is doubtless a long-standing issue that we've just discovered, in part because of a large regression in the performance of InvocationManagerImpl.preInvoke and postInvoke. But even if we fix the invocation manager performance, we should eliminate this duplicate call.






[GLASSFISH-19283] CLONE -Managing custom error pages for different http errors Created: 03/Nov/12  Updated: 03/Nov/12

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: 3.1
Fix Version/s: not determined

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

Operating System: All
Platform: Macintosh


Issuezilla Id: 13,297

 Description   

Hi,

recently I was trying to to find a way to changes the default glassfish error
pages, such as

  • 404
  • 500
  • ...

I prefered to do this somehow globally instead of only webapp based (web.xml).
The only way to do this is in the domain.xml file. An example could be:

<virtual-server hosts="$

{com.sun.aas.hostName}

"
http-listeners="http-listener-1,http-listener-2" id="server"
log-file="$

{com.sun.aas.instanceRoot}/logs/server.log" state="on">
<property name="docroot" value="${com.sun.aas.instanceRoot}

/docroot"/>
<property name="accesslog" value="$

{com.sun.aas.instanceRoot}

/logs/access"/>
<property name="sso-enabled" value="false"/>
<property name="send-error_1" value="path=../errors/404.html
reason=Resource_not_found code=404"/>
</virtual-server>

I am ok with this part, but unfortunately one has to maintain each of the http
errors 1 by 1. Imagine you want to catch all of the 400 and 500 error codes -
that would cause you a lot of work...

My idea would be to offer something like this:

<property name="send-error_1" value="path=../errors/4x.html
reason=Resource_not_found code=4*"/>

or

<property name="send-error_1" value="path=../errors/5x.html
reason=Resource_not_found code=5*"/>

or even

<property name="send-error_1" value="path=../errors/x.html
reason=Resource_not_found code=*"/>

And in the file you have specified you could either add some "static" contetn
like "An Error has occured". Of course you could even offer some kind of feature
that allows you to place plcaholders in that files to be filled with the error
code itself. The advantage would be that one only would need to specify one
error file and the content of that file would be dynamic.



 Comments   
Comment by Wasomumba [ 03/Nov/12 ]

I'm really looking for such a feature too.





GlassFish services and components to conform with configuration modularity (GLASSFISH-19408)

[GLASSFISH-19412] Web container configuration to conform with configuration modularity Created: 06/Dec/12  Updated: 19/Sep/14

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

Type: Sub-task Priority: Major
Reporter: Masoud Kalali Assignee: Amy Roh
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Different modules requires to conform with configuration modularity. This is a parent task for all the issue being filed for this project. More details at the internal wiki page: http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Config+Modularity+One+Pager This ticket is to track this change for web container.



 Comments   
Comment by Amy Roh [ 14/Mar/13 ]

Grizzly service starts before web container service which is only started after web deployment. Grizzly start up service currently requires some of web related configs to exist in domain.xml.  Since Grizzly requires web configuration to be available, config modularity divides web container configurations to multiple modules (some will go to grizzly service module to satisfy its dependency and some remain in the gf-web-connector.  Need to decide what is the optimal solution.

Comment by Amy Roh [ 27/Mar/13 ]

Configuration modularity will be addressed in 4.0.1.





[GLASSFISH-19822] Multiple ClassNotFoundExceptions at server startup Created: 11/Mar/13  Updated: 04/Jul/13

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

Type: Bug Priority: Major
Reporter: Architect.SoftWeb.ISD Assignee: Daniel
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

a. OS Windows7/ AIX5.3
b. java6 Oracle/IBM implementations



 Description   

GF Multiple ClassNotFoundExceptions
1. Context

1. ISS-SWP-1353SC Migration To GlassFish
2. Description of software
a. OS Windows7/ AIX5.3
b. java6 Oracle/IBM implementations
c. GF 3.1.2.2
d. There is ear with 5 wars within.
i. 3 wars which includes JSF 1.2 (MyFaces1.2+RichFaces3.3.1) and custom jsf -components.
ii. The jsf-oriented wars have the following glassfish-web.xml

iii. The wars have the following amount of classes and interfaces (excluding third-party ones):
1. Jsf-oriented war1 - 1411 classes and interfaces
2. Jsf-oriented war2 - 2500 classes and interfaces
3. Jsf-oriented war3 - 1200 classes and interfaces
iv. jsf-oriented war3 along with JSF contains 22 JSP pages.
v. There are 2 non-jsf wars and one of them uses jersey1.14 which packaged within it.

2. Problem

2.1 Brief Description

1. There are multiple ClassNotFoundException (about SWP classes) exceptions which lead to creation of multiple gf server log files and at the end there are several GF threads blocked with java.util.logging.ConsoleHandler.
2. The multiple exceptions and their consequent logging slowdown start of ear application (which under WLS starts in 3 minutes) to 9 minutes and time to time it simply hangs.
3. GF has correspondent issues assigned (and still unresolved):
a. JSF oriented http://java.net/jira/browse/JAVASERVERFACES-1995
b. Jersey oriented http://java.net/jira/browse/GLASSFISH-16937
c. Another one http://java.net/jira/browse/GLASSFISH-19017
4. As workaround to the issue we up level of javax.enterprise.system.container.web logger level to SEVERE.

2.2 Complete Description

1. During researching of the problem by debugging/performance measurement correspondent GF sources the following facts were identified (see figure below):
a. ClassNotFoundException is result of asking WebappClassLoader to load class which belongs to other WebappClassLoader - but it is impossimble by javaee spec.
b. Wrong request to load unreachable class to WebappClassLoader is result of sharing by certain instance of org.glassfish.hk2.classmodel.reflect.Type knowledge (instances of org.glassfish.hk2.classmodel.reflect.ClassModel) about classes which belongs to different WebappClassLoader.
c. The steps which lead to the issue are part of GF internal activity to identify managed beans (JSF-Components, Jersey-Components and so on) of certain server initializers. The org.glassfish.web.loader.ServletContainerInitializerUtil class is part of the GF internal activity.
d. The Log Record 4 (see Appendix 3.1 chapter) shows that JSF-Components were searching even in context of non-jsf wars (all jsf-oriented wars contain RichFaces within their WEB-INF\lib).
e. Each cycle of "failed class loading and then logging" takes ~0.0006sec but amount of "failed" cycles is about hundred thousand times and in turn leads to losing of minutes (see some details here (see Appendix 3.2 chapter)).

3. Appendix
3.1 Examples of WEB9052 log records

1. [#|2013-03-05T10:29:43.180+0200|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=17;_ThreadName=Thread-2;|WEB9052: Unable to load class com.softcomputer.softweb.pl.webuipl.softweb.component.sdc.businessobject.requisitiondetailseditor.impl.RequisitionDetailsEditorModelViewConverter$BillingMethodConverter, reason: java.lang.ClassNotFoundException: com.softcomputer.softweb.pl.webuipl.softweb.component.sdc.businessobject.requisitiondetailseditor.impl.RequisitionDetailsEditorModelViewConverter$BillingMethodConverter|#]

2. [#|2013-03-05T10:29:43.463+0200|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=17;_ThreadName=Thread-2;|WEB9052: Unable to load class com.softcomputer.softweb.pl.webuipl.softweb.component.renderkit.standard.sdc.businessobject.authenticationeditor.impl.AuthenticationEditorUIComponentRenderer, reason: java.lang.ClassNotFoundException: com.softcomputer.softweb.pl.webuipl.softweb.component.renderkit.standard.sdc.businessobject.authenticationeditor.impl.AuthenticationEditorUIComponentRenderer|#]

3. [#|2013-03-05T10:29:44.393+0200|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=17;_ThreadName=Thread-2;|WEB9052: Unable to load class com.softcomputer.softweb.pl.webuipl.softweb.component.sdc.businessobject.collectspecimenseditor.impl.CollectSpecimensEditorUIComponent, reason: java.lang.ClassNotFoundException: com.softcomputer.softweb.pl.webuipl.softweb.component.sdc.businessobject.collectspecimenseditor.impl.CollectSpecimensEditorUIComponent|#]

4. [#|2013-03-06T11:50:39.123+0200|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=17;_ThreadName=Thread-2;|WEB9052: Unable to load class org.richfaces.component.html.HtmlDataFilterSlider, reason: java.lang.ClassNotFoundException: org.richfaces.component.html.HtmlDataFilterSlider|#]

3.2 Cycle of "failed class loading and then logging" performance measurement

The table depicts time consumption by related to "GF Multiple ClassNotFoundExceptions " issue code.
Note1: the measurement is done till the moment the GF hangs.
Note2: the table does not show all details of the measurement but depicts integral view and several rows of basic measurement:

ID of checkAgainst
InterestList() call ID of Fail within checkAgainst
InterestList() method Total Duration for failed class loading, (nsec) Total Duration for the fail Logging, (nsec) Total Duration spent for fail class loading and then logging, (nsec) Amount of failed class loading iterations
32,676,850,933 24,956,173,812 57,633,024,745 139,056
3 92787 299347 61439
3 92788 278525 68266
3 92789 285352 46079
3 92790 409938 64852
3 92791 316754 62122
3 92792 301735 45056
3 92793 250536 38912
3 92794 323240 55978
3 92795 264873 42666
3 92796 249512 40277
3 92797 262141 43690
3 92798 250195 40960
3 92799 237224 39595
3 92800 231080 39936
3 92801 218793 38570
3 92802 242003 38570
3 92803 255656 39253
3 92804 238590 39253
3 92805 232105 38229
3 92806 237224 38912



 Comments   
Comment by Architect.SoftWeb.ISD [ 11/Mar/13 ]

1. Pls give me correspondent permissions in order to attach:
1.1. description picture
1.2. test case for the issue (sample ear with several wars)

Comment by Daniel [ 25/Jun/13 ]

You should be able to attach files to this issue, there are several operation links on the left side.
If you still can not, please let me know.

BTW, if you are running on GF4, remember to update web.xml, use org.glassfish.jersey.servlet.ServletContainer API instead.

Comment by Architect.SoftWeb.ISD [ 01/Jul/13 ]

It looks like I can't still attach the files.
All that I see on the left side in section "Operations" are "Go to Planning Board", "Go to Task Board", "Clone this issue", "Comment on this issue", "Create sub-task", "Voting", "Watching" and last "You don't have permission to work on this issue."
I suppose there should present something like "Attach file to this issue" but I don't see it unfortunately.

Comment by Daniel [ 01/Jul/13 ]

Could you please send me by email?
daniel.guo@oracle.com

Thanks

Comment by Daniel [ 03/Jul/13 ]

I got the ear file you sent to me. And trying to deploy on GF4. I got some SEVERE logging message during deployment. Did you get those? Since this is not mentioned in your issue description.

--------------------------------------------------------------------------

[2013-07-03T11:59:13.863-0700] [glassfish 4.0] [SEVERE] [] [] [tid: _ThreadID=40 _ThreadName=Thread-8] [timeMillis: 1372877953863] [levelValue: 1000] [[
log4j:WARN No appenders could be found for logger (org.apache.myfaces.shared_impl.webapp.webxml.WebXmlParser).]]

[2013-07-03T11:59:13.863-0700] [glassfish 4.0] [SEVERE] [] [] [tid: _ThreadID=40 _ThreadName=Thread-8] [timeMillis: 1372877953863] [levelValue: 1000] [[
log4j:WARN Please initialize the log4j system properly.]]

[2013-07-03T11:59:14.182-0700] [glassfish 4.0] [SEVERE] [] [javax.faces] [tid: _ThreadID=40 _ThreadName=admin-listener(1)] [timeMillis: 1372877954182] [levelValue: 1000] [[
Unable to obtain InjectionProvider from init time FacesContext. Does this container implement the Mojarra Injection SPI?]]

[2013-07-03T11:59:14.192-0700] [glassfish 4.0] [SEVERE] [] [javax.faces] [tid: _ThreadID=40 _ThreadName=admin-listener(1)] [timeMillis: 1372877954192] [levelValue: 1000] [[
Unable to inject org.springframework.faces.webflow.FlowApplicationFactory@60e5618f because no InjectionProvider can be found. Does this container implement the Mojarra Injection SPI?]]

[2013-07-03T11:59:14.216-0700] [glassfish 4.0] [INFO] [AS-WEB-GLUE-00172] [javax.enterprise.web] [tid: _ThreadID=40 _ThreadName=admin-listener(1)] [timeMillis: 1372877954216] [levelValue: 800] [[
Loading application gf_multipleCNFEs#jsf-oriented1.war at [/jsf-oriented1]]]

[2013-07-03T11:59:14.665-0700] [glassfish 4.0] [SEVERE] [] [javax.faces] [tid: _ThreadID=40 _ThreadName=admin-listener(1)] [timeMillis: 1372877954665] [levelValue: 1000] [[
Unable to obtain InjectionProvider from init time FacesContext. Does this container implement the Mojarra Injection SPI?]]

[2013-07-03T11:59:14.672-0700] [glassfish 4.0] [SEVERE] [] [javax.faces] [tid: _ThreadID=40 _ThreadName=admin-listener(1)] [timeMillis: 1372877954672] [levelValue: 1000] [[
Unable to inject org.springframework.faces.webflow.FlowApplicationFactory@9bde349 because no InjectionProvider can be found. Does this container implement the Mojarra Injection SPI?]]

Comment by Architect.SoftWeb.ISD [ 04/Jul/13 ]

We did not try to start the ear under GF4 unfortunately.
Even starting of our product under GF3 was a big challenge for us because we had a lot of non-recent libs like MyFaces 1.2.6 (implementation of JSF 1.2) and because of inability to use something like <prefer-application-packages> from weblogic-application.xml like in case of WebLogic to replace default implementation of JSF with ours.

Concerning the messages I have such supposals:
1).No appenders could be found for logger
It looks like log4j need to be configured.
We usually set system variable -Dlog4j.configuration
I tried to start the ear under GF3.1.2 without log4j configured and got similar traces
[#|2013-07-04T12:35:01.979+0300|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=17;_ThreadName=Thread-2;|log4j:WARN No appenders could be found for logger (org.apache.myfaces.shared_impl.webapp.webxml.WebXmlParser).|#]
[#|2013-07-04T12:35:01.980+0300|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=17;_ThreadName=Thread-2;|log4j:WARN Please initialize the log4j system properly.|#]

2)."Does this container implement the Mojarra Injection SPI" and "Unable to inject org.springframework.faces.webflow.FlowApplicationFactory"
I suppose these messages concern usage of MyFaces 1.2.6 (JSF 1.2) inside the ear and so the conflict with Mojarra implementation of JSF provided with GF.
These ones do not appear under GF3.1.2.

So in case "ClassNotFoundException" messages appear anyway and deployment does not fail I suppose the ones stated by you may be ignored.





[GLASSFISH-20202] compilation warning about authorization from web cli Created: 05/Apr/13  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
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I notice the following while complying the web/admin and web-gui-plugin-common.

[WARNING] Following command classes neither provide nor inherit authorization: [org.glassfish.web.admin.cli.CreateHttp, org.glassfish.web.admin.cli.CreateHttpListener, org.glassfish.web.admin.cli.CreateHttpRedirect, org.glassfish.web.admin.cli.CreateNetworkListener, org.glassfish.web.admin.cli.CreateProtocol, org.glassfish.web.admin.cli.CreateProtocolFilter, org.glassfish.web.admin.cli.CreateProtocolFinder, org.glassfish.web.admin.cli.CreateTransport, org.glassfish.web.admin.cli.CreateVirtualServer, org.glassfish.web.admin.cli.DeleteHttp, org.glassfish.web.admin.cli.DeleteHttpListener, org.glassfish.web.admin.cli.DeleteHttpRedirect, org.glassfish.web.admin.cli.DeleteNetworkListener, org.glassfish.web.admin.cli.DeleteProtocol, org.glassfish.web.admin.cli.DeleteProtocolFilter, org.glassfish.web.admin.cli.DeleteProtocolFinder, org.glassfish.web.admin.cli.DeleteTransport, org.glassfish.web.admin.cli.DeleteVirtualServer, org.glassfish.web.admin.cli.ListHttpListeners, org.glassfish.web.admin.cli.ListNetworkListeners, org.glassfish.web.admin.cli.ListProtocolFilters, org.glassfish.web.admin.cli.ListProtocolFinders, org.glassfish.web.admin.cli.ListProtocols, org.glassfish.web.admin.cli.ListTransports, org.glassfish.web.admin.cli.ListVirtualServers]

[WARNING] Following command classes neither provide nor inherit authorization: [org.glassfish.web.plugin.common.ListWebContextParamCommand, org.glassfish.web.plugin.common.ListWebEnvEntryCommand, org.glassfish.web.plugin.common.SetWebContextParamCommand, org.glassfish.web.plugin.common.SetWebEnvEntryCommand, org.glassfish.web.plugin.common.UnsetWebContextParamCommand, org.glassfish.web.plugin.common.UnsetWebEnvEntryCommand]

Per discussion with Tom, this is related to role based access control feature.






[GLASSFISH-20373] WebConnection#close throws EOFException after several upgrade runs Created: 22/Apr/13  Updated: 31/May/13

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

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


 Description   

I saw the following exceptions after several upgrade runs:

java.io.EOFException
at org.glassfish.grizzly.http.io.InputBuffer.terminate(InputBuffer.java:933)
at org.glassfish.grizzly.http.server.Request.onAfterService(Request.java:551)
at org.glassfish.grizzly.http.server.HttpServerFilter.afterService(HttpServerFilter.java:318)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:244)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.filterchain.FilterChainContext$1.run(FilterChainContext.java:196)
at org.glassfish.grizzly.filterchain.FilterChainContext.resume(FilterChainContext.java:220)
at org.glassfish.grizzly.http.server.Response.resume(Response.java:1816)
at org.apache.catalina.connector.WebConnectionImpl.close(WebConnectionImpl.java:128)
at test.EchoHttpUpgradeHandler$ReadListenerImpl.onDataAvailable(EchoHttpUpgradeHandler.java:122)
at org.apache.catalina.connector.InputBuffer$ReadHandlerImpl.processDataAvailable(InputBuffer.java:483)
at org.apache.catalina.connector.InputBuffer$ReadHandlerImpl.onDataAvailable(InputBuffer.java:451)
at org.glassfish.grizzly.http.io.InputBuffer.append(InputBuffer.java:855)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:222)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
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:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:722)]]

The above exception can be observed in server.log in my machine as in the following steps:
1. modify the servlet-3.1/upgradeEcho as follows:
Index: servlet/test/EchoHttpUpgradeHandler.java
===================================================================
— servlet/test/EchoHttpUpgradeHandler.java (revision 61570)
+++ servlet/test/EchoHttpUpgradeHandler.java (working copy)
@@ -115,6 +115,15 @@
output.print(delimiter + sb.toString());
output.flush();

+ System.out.println("--> data = " + sb.toString());
+ if ("World".equals(sb.toString())) {
+ try

{ + Thread.sleep(1000); + wc.close(); + }

catch(Throwable t)

{ + t.printStackTrace(); + }

+ }
// Server side connection close
//wc.close();
}
@@ -125,7 +134,7 @@

public void onError(final Throwable t)

{ System.out.println("--> onError"); - //t.printStackTrace(); + t.printStackTrace(); }

}
}

2. ant build deploy
3. repeat "ant run" several times
In my environment, three consecutive "ant run" causes the exception.



 Comments   
Comment by Amy Roh [ 22/Apr/13 ]

You see the EOFException every time if you perform client side connection close also. You can see the exception in server.log if you print out the stack trace from ReadListener#onError.

Index: servlet/test/EchoHttpUpgradeHandler.java
===================================================================
— servlet/test/EchoHttpUpgradeHandler.java (revision 61580)
+++ servlet/test/EchoHttpUpgradeHandler.java (working copy)
@@ -125,7 +136,7 @@

public void onError(final Throwable t) {
System.out.println("--> onError");

  • //t.printStackTrace();
    + t.printStackTrace();

java.io.EOFException
at org.glassfish.grizzly.http.io.InputBuffer.terminate(InputBuffer.java:933)
at org.glassfish.grizzly.http.server.Response$SuspendedContextImpl.markCancelled(Response.java:1924)
at org.glassfish.grizzly.http.server.Response$SuspendedContextImpl$SuspendCloseListener.onClosed(Response.java:2001)
at org.glassfish.grizzly.http.server.Response$SuspendedContextImpl$SuspendCloseListener.onClosed(Response.java:1989)
at org.glassfish.grizzly.nio.NIOConnection.invokeCloseListener(NIOConnection.java:784)
at org.glassfish.grizzly.nio.NIOConnection.notifyCloseListeners(NIOConnection.java:682)
at org.glassfish.grizzly.nio.NIOConnection.close0(NIOConnection.java:423)
at org.glassfish.grizzly.nio.transport.TCPNIOConnection.close0(TCPNIOConnection.java:291)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.read(TCPNIOTransport.java:938)
at org.glassfish.grizzly.nio.transport.TCPNIOTransportFilter.handleRead(TCPNIOTransportFilter.java:75)
at org.glassfish.grizzly.filterchain.TransportFilter.handleRead(TransportFilter.java:173)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
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:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:722)]]

From our previous discussions, Alexey told me that this is expected exception from Grizzly since the connection was unexpectedly closed (either via client or server side). Grizzly InpuBuffer relevant code is below.

org.glassfish.grizzly.http.io.InputBuffer

/**

  • <p>
  • Invoke {@link ReadHandler#onError(Throwable)}

    (assuming a

    {@link ReadHandler}
  • is available) } passing a {#link CancellationException}
  • if the current {@link Connection}

    is open, or a

    {#link EOFException}

    if

  • the connection was unexpectedly closed.
  • </p>
    *
  • @since 2.0.1
    */
    public void terminate() {
    final ReadHandler localHandler = handler;
    if (localHandler != null)
    Unknown macro: { handler = null; if (connection.isOpen()) { localHandler.onError(new CancellationException()); } else { localHandler.onError(new EOFException()); } }

    }

Assign to Alexey for his confirmation and full explanation.

Comment by oleksiys [ 23/Apr/13 ]

This works as expected from Grizzly side.
WebContainer registers ReadHandler on Grizzly InputBuffer and then resumes request/response processing.
When Grizzly resumes request/response processing and sees ReadHandler registered in notifies it about error.

IMO this issue has nothing to do w/ Grizzly.

Comment by oleksiys [ 31/May/13 ]

assigning back to Amy for further investigation (if needed)





[GLASSFISH-20591] JAX-RSResponse.status(404) is overwritten by WebContainer Created: 29/May/13  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: jax-rs, web_container
Affects Version/s: 4.0_b89_RC5
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: Aslak Knutsen Assignee: Miroslav Fuksa
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to JERSEY-1909 JAX-RSResponse.status(404) is overwri... Resolved

 Description   

Given:

@Path("/conference")
public class ConferenceResource implements Resource {
 
    private static final String BASE_MEDIA_TYPE = "application/vnd.ced+xml";
    private static final String CONFERENCE_MEDIA_TYPE = BASE_MEDIA_TYPE + ";type=conference";
    private static final String SESSION_MEDIA_TYPE = BASE_MEDIA_TYPE + ";type=session";
 
...
 
    @GET
    @Path("/{id}")
    @Produces("application/vnd.ced+xml")
    public Response get(@PathParam("id") String id) {
        Conference conference = repository.get(id);
        if(conference == null) {
            return Response.status(Status.NOT_FOUND).type(CONFERENCE_MEDIA_TYPE).build();
        }
        return Response.ok(
                new ConferenceRepresentation(conference, uriInfo.getAbsolutePathBuilder()))
                .type(CONFERENCE_MEDIA_TYPE).build();
    }
...
}

Expected:

Content-Type: application/vnd.ced+xml; type=conference
[Empty Body]

Result:

When the Resource is not found (http 404 is returned by JAX-RS), the WebContainer takes over and returns Content-Type: text/html and the standard Error page as a body.

wire log

DEBUG [org.apache.http.wire] >> "GET /3998f027-d794-4650-9144-aac9990f26bd/api/conference/b849d477-fb42-4e93-9902-84e0741d1ffb HTTP/1.1[\r][\n]"
DEBUG [org.apache.http.wire] >> "Accept: application/vnd.ced+xml; type=conference[\r][\n]"
DEBUG [org.apache.http.wire] >> "Host: localhost:8080[\r][\n]"
DEBUG [org.apache.http.wire] >> "Connection: Keep-Alive[\r][\n]"
DEBUG [org.apache.http.wire] >> "Accept-Encoding: gzip,deflate[\r][\n]"
DEBUG [org.apache.http.wire] >> "[\r][\n]"
DEBUG [org.apache.http.wire] << "HTTP/1.1 404 Not Found[\r][\n]"
DEBUG [org.apache.http.wire] << "X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition  4.0  Java/Oracle Corporation/1.7)[\r][\n]"
DEBUG [org.apache.http.wire] << "Server: GlassFish Server Open Source Edition  4.0 [\r][\n]"
DEBUG [org.apache.http.wire] << "Content-Language: [\r][\n]"
DEBUG [org.apache.http.wire] << "Content-Type: text/html[\r][\n]"
DEBUG [org.apache.http.wire] << "Date: Wed, 29 May 2013 23:29:43 GMT[\r][\n]"
DEBUG [org.apache.http.wire] << "Content-Length: 1082[\r][\n]"
DEBUG [org.apache.http.wire] << "[\r][\n]"
DEBUG [org.apache.http.wire] << "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>GlassFish Server Open Source Edition  4.0  - Error report</title><style type="text/css"><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - Not Found</h1><hr/><p><b>type</b> Status report</p><p><b>message</b>Not Found</p><p><b>description</b>The requested resource is not available.</p><hr/><h3>GlassFish Server Open Source Edition  4.0 </h3></body></html>"





[GLASSFISH-20622] NullPointerException is throwed by OutputBuffer.java Created: 11/Jun/13  Updated: 08/Jul/13

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: v2.1.1
Fix Version/s: None

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

Solaris 10


Tags: NullPointerException, web-container

 Description   

When a web application is running on glassfish, below exception is throwed unexpectedly.
java.lang.NullPointerException
at org.apache.coyote.tomcat5.OutputBuffer.addSessionCookieWithJvmRoute(OutputBuffer.java:689)
at org.apache.coyote.tomcat5.OutputBuffer.doFlush(OutputBuffer.java:370)
at org.apache.coyote.tomcat5.OutputBuffer.close(OutputBuffer.java:336)
at org.apache.coyote.tomcat5.CoyoteResponse.finishResponse(CoyoteResponse.java:594)
at org.apache.coyote.tomcat5.CoyoteAdapter.afterService(CoyoteAdapter.java:354)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.postResponse(DefaultProcessorTask.java:625)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:612)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:889)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:267)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:118)



 Comments   
Comment by Shing Wai Chan [ 11/Jun/13 ]

Can you provide a test case for the above scenario?

Comment by Shing Wai Chan [ 25/Jun/13 ]

I have compared the codes in v3 and v4. There are a lot changes there. Can you download an updated version of GlassFish to see whether the issue is already resolved?

Comment by Shing Wai Chan [ 08/Jul/13 ]

Do we still have the issue in GlassFish v3 or GlassFish v4?
If yes, please provide a test case to illustrate the issue.

If you have question on GlassFish, please send email to users@glassfish.java.net
(There are many other experts subscribing the alias.)





[GLASSFISH-20677] large HTTP GET request will cause java.nio.BufferOverflowException while writing into AccessLog Created: 02/Jul/13  Updated: 05/Jul/13

Status: Open
Project: glassfish
Component/s: web_container
Affects Version/s: v2.1.1
Fix Version/s: None

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

Sun Glassfish Enterprise Server v2.1.1 Patch19 on Solaris 5.10 x86 based system



 Description   

We want to write our HTTP operations into a logfile via the AccessLog configuration.
In GF server.log we catched a BufferOverflowException and while analysing the problem and playing with the configuration of AccessLog-Writer we think that the code has a bug.

1. step
Our domain.xml does not contain in virtual-server section the property name="accessLogBufferSize", thus any default value should be taken, but what is the default value?

2. step
We added the configuration
<virtual-server hosts=[....] http-listeners="http-listener-1,http-listener-2" id="server" ...>
....
property name="accessLogBufferSize" value="32768"/>
....
</virtual-server>

and the BufferOverflowException did not longer appear. ....for the first time!
But if we generate enough traffic to get full the buffer to be flushed within the timer interval we can get again the BufferOverflowException.

3. step
We tried to use as work around the parameter accessLogWriterInterval=0 to bypass the interval timer, but it leads into same BufferOverflowException.

How the server_access_log file looks like:
We have one very large HTTP-GET which will create a log file entry with more than 5400 bytes and another one with more than 9500 bytes.
After those large HTTP-GET requests there are some small HTTP-POST with just around 113 bytes each line.

I think the problem can be located in that way that the buffer is filled over the time and in case the buffer is not yet flushed and a new HTTP operation will fill the buffer, we get finally that BufferOverflowException.

The AccessLog file will contain cutted HTTP-GET lines only up to the point where the Excetion is thrown.



 Comments   
Comment by psytester [ 03/Jul/13 ]

The GF server.log contains for those exceptions always such line:

[#|2013-05-22T10:19:36.578+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=19;_ThreadName=httpWorkerThread-8080-0;java.nio.BufferOverflowException;_RequestID=50974257-5d3d-4ee8-a695-012e247d60b3;|WEB0340: Zugriffsprotokolldatei java.nio.BufferOverflowException kann nicht geschrieben werden|#]
[#|2013-05-22T10:19:36.578+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=19;_ThreadName=httpWorkerThread-8080-0;java.nio.BufferOverflowException;_RequestID=50974257-5d3d-4ee8-a695-012e247d60b3;|WEB0340: Zugriffsprotokolldatei java.nio.BufferOverflowException kann nicht geschrieben werden|#]
[#|2013-05-22T10:53:31.451+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=19;_ThreadName=httpWorkerThread-8080-0;java.nio.BufferOverflowException;_RequestID=f26a1ad0-e401-4804-922a-7a26aeacbf43;|WEB0340: Zugriffsprotokolldatei java.nio.BufferOverflowException kann nicht geschrieben werden|#]
[#|2013-05-22T10:53:31.451+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=19;_ThreadName=httpWorkerThread-8080-0;java.nio.BufferOverflowException;_RequestID=f26a1ad0-e401-4804-922a-7a26aeacbf43;|WEB0340: Zugriffsprotokolldatei java.nio.BufferOverflowException kann nicht geschrieben werden|#]
[#|2013-05-22T11:04:54.431+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=20;_ThreadName=httpWorkerThread-8080-0;java.nio.BufferOverflowException;_RequestID=7fe72ddc-2f9d-4f81-91ad-2dc5c0b73a6e;|WEB0340: Zugriffsprotokolldatei java.nio.BufferOverflowException kann nicht geschrieben werden|#]
[#|2013-05-22T11:04:54.431+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=20;_ThreadName=httpWorkerThread-8080-0;java.nio.BufferOverflowException;_RequestID=7fe72ddc-2f9d-4f81-91ad-2dc5c0b73a6e;|WEB0340: Zugriffsprotokolldatei java.nio.BufferOverflowException kann nicht geschrieben werden|#]
[#|2013-05-22T11:05:56.811+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=20;_ThreadName=httpWorkerThread-8080-0;java.nio.BufferOverflowException;_RequestID=7fe72ddc-2f9d-4f81-91ad-2dc5c0b73a6e;|WEB0340: Zugriffsprotokolldatei java.nio.BufferOverflowException kann nicht geschrieben werden|#]
[#|2013-05-22T11:05:56.811+0200|SEVERE|sun-appserver2.1.1|javax.enterprise.system.container.web|_ThreadID=20;_ThreadName=httpWorkerThread-8080-0;java.nio.BufferOverflowException;_RequestID=7fe72ddc-2f9d-4f81-91ad-2dc5c0b73a6e;|WEB0340: Zugriffsprotokolldatei java.nio.BufferOverflowException kann nicht geschrieben werden|#]

Comment by psytester [ 03/Jul/13 ]

....BTW, why is it not possible to attach files in that Jira project?

Here is the content of our server access log file.
Please take a look on the lines, which are not complete – lines without closing quotation marks on the HTTP operation and without %status% and %response.length%

time stamps correlated to the GF server.log exceptions:
examples at 22/May/2013:10:53:31 and 22/May/2013:11:04:54 and 22/May/2013:11:05:56

---------------------------

"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:07 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVjXsqRWsv2VjjOPFX3w7kR3T%2BCKwhUUroCXG3govDdff2mppZGuxkgT93WTZq3M3JnJ%2FvL3ra4%2BLckwFm3z9Q16B98%2BJU3UxkWTfX2zretn8u3v376MQV3B3Qc9T3ljJP2cjNOnU7EZP37%2B8vVtHpqPNhiL8aMJ6mT8mKIPk1aVD%2Fgd%2FOiGdmqjtnr7RI9jMkynK7ZtxrlOBjMZliJKbEP5%2BpZPUzd%2BAEBRFcEHiaIIEMbD5zip289jB3x3BBjJ2J2aydsn7oRQNMH0E%2BxfNJMi%2FpwObTPB7%2BP0fmq%2FxwmQdMHbp2s7RMlP8L%2B%2BTcN8GhC5r2%2F%2FAyNwiOIUiBFEDMMxhSVJECUJAoEQClIkdoqNejCOxZJ8fUuD6rtncRznRGzGKWimr28wCCGfQewzDFsg%2BQGCHyD2jqKY%2F%2FZJ%2F8GaKZqfo%2FnvQhT%2BLDR%2B3CxL%2F2wkcTEk0fT2yfklM6fQ2488fPyEYPhtAv698eCXqL99%2B2OMz5i9T2cwo6pImul97AIQ%2BgL81tGv6ee3KWm%2Bwxm%2FfTnVPvgmGvZuSuLf1sWvQj%2FwnYI%2FJ%2Bj0Go7Fezg38U9pETngZLSd1fYPQ1wwBT%2F0vn%2F4VXFd1%2FcVeW%2BHDIBBEAJAFDilTom%2FvX2y9i75E4J8ldQnwf%2Fj8sSpJlPexp%2FoKmuHYsrrP2ErSEYIJj9HYfT2F9EC377E44ec7GKTtj904%2FFfaIIASH3XjMci%2B9sfYnUa%2BYvO%2Fz%2BoD2PwuQ2S7nOdpVD39hMdrsjOxP9JY78jNeYB9PbXwnBGEPinNH6wY4suT4bvhfS7Ayeo5uSbSUgqc0SNg5cKwCtlGNahlgote7YTF7%2F3pTZdkdSTMMRUJx%2BryvVytR%2BN7JlcQrpi7SRkvQRdd%2BncSkwHiIRe8ph9%2FfoD0m9d%2Fe7oZzjAHxJ4nv2jHP5A4L9L729BeOkivAgIZa81DvSvZm67OJZQxH7Wdw7N7ZvnHq5mUw%2BzHNNYQJYGb0c1OPC2irCB3%2FxRoLJsnjeU7IdQ6hLGu9romqEpL9bAcZA24Mo3gyhfjRl7bM%2BWjGrma5OCiGL1FxmeLHjWQJGPh8TDc5Mz1jozYSth54WwEUFRg9SfexlX%2BhQk3EWwJ7UhiId4W24jgWDZ8JyOyR7ILr0qWudgSJ3X3RhJZNYWrssdjTtpveBvN%2BnJLkOIWpNGsZV%2FIEnIvODak1it1eaeiEap0zSPXimzTI%2B48ezlPoAiYzYV0mJFdKPdhE9WWKeWmEFxUXldgFTpyqa2LuB1SKpAdZUIDCMHzrabptJjVM6L0IYNa8TGEdQ3%2FGY%2Fn1JGrI5yHZe5o1ZlQ5aVAAY3dAcBSl1KbzmOFm860uABw9MU5BJ5JRiIWUI7yiMwM4G05d7QR%2BNt5WqkDkSRkwSHj9kOqtB1ztxrVfPApxuBGIHBMBoqKgURJSqqOGvG7KlBSGXPpn0zCELl7Ea53qkSgfItDDTl2GsQzwRIkCvGG8AAazdlc9B%2BbYwOy0l6XaOZz15yaT13bO6I6xTvBxhZz8cdGB2oCH3x4uAdVHN0Ze%2FHpRSHyhhK9lB4NXtcBOLO1aui1dtOtUszqyQgXTU69zr75RSy0UMaOGCdbH3vDuahinmoM7mEAXN%2FsFtggRAPhM4jNJ2kypbQb4wLCTdbogSDlRXN%2FVix6pHcRDyrW3idgjuuzYgmBlfTp65aAheHet8tHWRLr3DjwGyp2cvnKF%2F6MUxAlwe9JoWqS%2F2qZeGyA5mf0n5BATp4C4gSeCnorpi4s%2FuGR5KjAOp1I8Z711QEjGNbdd0vq%2BHdjtFgUiHILx0e%2BGC6XBVAADGuBimjByg12Mq7ZSpBLlXwWlt42jiAj2OZVdHyApAHjTpzOQdDkekK9DLIejYb8zWmlrzRRek%2FEZAw0WkNIW1jAHwfXlnZTT6vKU9QuCaM5rISHKx5Q%2FMZUF2W%2BpBg5MawSpOydaTVHqdANlVfoGzW9oP2mg4mKe6Y%2FYcDcauH5PhxaLmTh9SoOIV6v4t8TZGiiagXzJ2NLoBw7gkkd%2FIguHMdkH2b4XC3l%2BsaXmUhbJ%2FMxI4oaQpS%2BSwGmzvqmnp01zkPSTxNRzJohg7fNj9u7PNS7JhwtwIlP2I5s5PLnmrGM23HeLpU631Xn9e18K4NJMTn1VC8hwXJNAAj%2BIGZTxieTb2pUly5RdH1juXLSV98sikWwnJRZ93KWo6rXRufTZqCdW6xzjLl01QEob6lOBHf9lrrcsgVnvfugQKYat1FP6RsHoBHFihAGnCi1DzAkDS4wqRNPHv22x6mcH%2B%2FSVZf%2B%2F0uebXRzBQvxdmrThTbt4SDOcccbRLoPCw88FJn0Q66c2Piq5N%2FQN%2B6jVh3EnliFICRD4bAUvgW89mllrKIgi157hAAPmbWpR845z%2BX%2B5Lrmdqah%2BQH4piU%2B%2FzoO53FBIMdYLxCZ9zP0c1wzPMGVLln49IS6oAGFIO%2BpaBBcdOAaaaZLdpFcjBwNx5M6nEO3McrmPXinUJ1L8pIQXwNr%2FumLTbPiBunri3F3LmJodxczY%2BLK6xAutfwTHH3Z4UljgKUiiJerjuWjUjsalaQOCNOqsszTV437O7zL3ZhD1PsrAeeD06WES0%2BOePlIKqZnMvlXnPVs56E0n5dWokMmVAw4Woc1nCIGXZAnWS1vXWTgBd90f3MFqB5vtfbrSAtXnHDhS6WwVIsrGzPEpPk6uljPJF3Em8MVw1ue0OkE0HzSlwM7rwUMrb%2FVMbZGIFVqTqhGzHVwZvSShsYR6Srxz1gDtFHvof9Kp52n6xcqIuxwXKw27kVtjpUXsL7CwzcESgBVWChimQ0Wx0N8CJbalfwYJDNB3RIwNNScOJoaf1QYDOVfVTc7NE2FcfksplFqVbXF7ITXz4XD3nqNGImdf0YxYK%2FAlV7n1%2FhAiCimu4PAhzOdoPMRyrf0jTvHPP6GuQQHTrfaCusiiHNe2x7JNERxWU3QWjnRtUzcIEVVYWAmZaL25rwIoD7m82iXQwpD%2BSu2WvkTo6kFtYwBxyRrvQkTag8BvnjQQk3k7hU%2Bb2Xpy2vo1Lmk1IgNol83gjm2YFy7KljqeTWYM0grwnn4L%2BuDd%2FyNv4QHlLUoazpsoH9YhoP5LYycawXdkMEI7omV4%2BJ9ER0%2FaOtZCEZlNAxSKALnqFxj%2BBkwCE8NlGswLYjBGtNr4MQ2rROgHYelVu15xEUR%2BPDo1Ch0nUwJqro5hpdGRlFhp511GDdpULhQy9ZDqfDrHvwHIVCZED0uq9U%2BaMEKlZECPxsuVQaQfdZQEsFVwy2gbywO6Pb0Fdj0I1B4mCyYKYZMlrgvkWrVbzcu9k7L%2BVgT7nnODYZBd%2FaG7HNmsK2PMI9juWxbPxtjBCWL92gekZdeaUcoX6QbII2SQFwy%2BW6%2BTcE41VXHTrQq%2FuztZEiT3P%2Bo%2BkhNEBTMJABVSLjKLnfiGMgWf9yKSJKq%2BfKNaf6EvOmUjhnGwdyoeKE3nR1w7z1NE7Rfq8hDWBXmAr6GlKCcjnRWplUPEZbYsXYIItpRR80pveko%2BRCjfkrgCpFsyvUx25cuZjMJAZzgiQxLyimMGWZjTEw%2BVIgg%2BBHwR8pQtgNDCUAwUGvTlPjNCfKk0VHWhGIjD6ef80bqOC42CUjU06oKudLHIeUwzLH9bCfCTCcwzmIaprhQxQxmBPZjqPXvOKbPCmZlNJd3RwuqeoICTendJSyq20Bco7bkMIjEAHYZs8BGHflMHdaHED0DdkmheeTWpy75q8kDbKePoWGnLZ4f%2BkkeOTdZO7ZM94F0MgIDulZQ7aB6egQa10MGzpH1bpMCn%2F3HoxietlzqeYeaO1gF7MCOKcEAhP44lddHyTt%2BQ9t8FhAeL0L5V6v6Yzh0CWQpUwx6gXE3K5whzzue2KhDOMS7LngSVYg6EjXcIu3EXdgvwBl3%2BLGte76UM00fdzWCdpzdgCqa54Q1gPikxofzcK0gjAFAGvIHJffRcuTHrVLk05qiSHBlsIM63fZxCNeRagssvj5ie3XubhSULcLnL6KRFHsC%2FnS1ctlvtOGmDORCVPM2YKohOmfC1j1aNEFL16YyKE8RybpZFvXsC%2Fyyh5uB1ORYi5beJzXXBtenS1zLeqiG8M%2FuGJZXzDA9S%2BbIvrC02VgEojiNgmVagQ1BAi%2BA3kUzvUidoMlmroJqYzlwbpBN4zCzwVf45fSqY3lIbQRlJ2bMjOrwAXmvw9jALfwFx6d3T2CM4ohqyRxj%2Bys1gnKQfFcO5dSOZci4yUpMpFwaa%2Fb3NhiMb5vqRzBgKnhh%2FS0J5REnyeUaIp76%2F54MubKikc%2FSs7m2XGwmrHFKgXiIWjQHnkoAhFRVVNcUM954KknXl457aI7sn%2FL2F1MOS8%2FrhAfIkdBq303PTUGX47uuHt0LUD5mF0WR32ZtHOnUZJXUSsV43l8knPBtHvGwbDfS72JlimO6tc2vSbG5gaBsVrCAAW5jCYzEwgsqg6lNIoFGve6%2BHTg1%2F44%2B2hQphOH%2Fnf%2FkD8O%2F%2FNrzLcfbzq%2Ff8UB%2FsnD3rf%2FBQ%3D%3D&RelayState=85FCD17531B58A76E699F20CD820475F&Signature=CDMh2z8pa72ELfZ9tQjqgLgmTBRgR2qhlWkTwHbQW8msmRFvqDPUFv1I7L7yDwhIq%2Fv%2FIau%2BptUQ2lynF1VlOnw%2BaYd9QSeTyK%2F%2B%2BbNVZh9mqIl0NoYpknnVnN9Qjg8ZOysAG56etb91CVky70OyFvKIeUUA%2BoMXtDECvmx30PfJ6SErKoFNUEPZ9g6W1GirHhUCitOcR9wmOQkkJLkaOwHDwxDywZet5CmVPpqlreYWnln6%2B7WIzRn3KcXMPh97qjRghEUv2zD4QVL2ztN7vmqUeREIpwb%2BXOoF0XsWpCeCUTXkte7eM%2F7Xlvduefg6dbwLaXOgfsiDYIMMhe43QQ%3D%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1 HTTP/1.1" 200 505
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:07 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:07 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:07 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:25 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 3001
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:25 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2475
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:31 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6188
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:31 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2104
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:00:31 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:19:36 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:19:36 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:19:36 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:19:47 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 3001
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:19:47 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2475
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:19:47 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6188
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:19:55 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2104
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:19:55 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:02 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVjZsqTIkf2VsqtHrIo9gWtdLWNPdpItgZcxkj3ZISAhv37o7pLUPdJoJNm8Rvhy%2FLhHuEf89Oe9a79s%2BbzUQ%2F%2F9A%2F2GfHzJ%2B3TI6r78%2FuF70lf6488%2F%2F7QkXYuNn%2BwKqt7JpzVfwJdTsV8%2Bf9v5%2FrHO%2FeeQLPXy2SddvnyC9NNlDf0T%2B4Z8jvMAhnRoP76wy5LP4HTFD%2F2ydvns5vNWp7nv6N8%2FKgDG5ROG67ZOPmmCwOFHNn%2FN8m74uozwL45gJ1%2FGUzP%2F%2BCKcEOo%2BAb%2FC%2FotmXmdfi3noAfZtAd9O7W9ZDudj8vFFGuY0%2FxX%2B9w8wr6cBRfj%2B8V9IitPpgyAphKTwLGcu1AVJaTJLUpy6XCjqFFvsZFnqLf%2F%2BUSTtL56VZVlzpV9A0oPvHxiC4l8R8iuGeQj9iV0%2BEeQbSZHxxxf7R9Rc3f%2FG5j%2Bj6PGb0PJ59Tz7q5Nn9Zyn4ONL8JfMnEIfP%2FLw%2BSuC%2BfcJ%2BOfGk7%2Bw%2FvHz33N8cvYNnGSmbZ334NsyJgj6E%2Fx7R39Nv7iDvP8FzvLzT6fap9in8zGCPPt9XfxV6Ae%2BU%2FC3BJ1eH0v97bH22a9pUQT4jGg%2Fq%2B1vhoQEJD%2F0ftn4q%2BLr9fr2wr8NcwljCILCCAGfUqfEnz6%2BeMeY%2FwuCYpt3Z4D%2Fw%2BWJ08hBNWRf2LYc5hpU3b9gK8kXFKO%2Fpo%2F0499EC%2F%2F8U7Z8avmh9MXwQzdb%2FhdNBEaYXzSzpS7%2F9HdcnUb%2BTef%2FH6HPS%2FJ1SPLxa1cW6PjxazhCXZ6J%2FxeN%2FSGopUrQj3%2BPhpNB%2BB%2BG8SM6vh6rfP6lkP6wECTtmv9cgBybg8B0QkBJJWUGOJ5ZhLRq63tPKZQhA0p7vQ4O2EIRsCyXy2SWq1knyjhmmHC6BcG1rLQ1CEKBtdLGzkRzu33%2F%2FgPS7139Yek3OPDfJfBc%2B1s5%2FF0A%2F1l6fw9iF%2FeYj2nr0SwlhWyj4TcTsJYdkQt8l2xhle6SiSb9SvTey2y6m1GPdUrqTGDeV456402ba4iC6ngQM2nKbGLhisFNMaEVwnvZJ51elQTmvdEWa0C4Q9JAiVbSn19QCRHxi7lX650RWlHr2cel59vbi2b18yKonajdqkThbQtveg05fBBGl8tF5jttvhVxLosRlPu3azg8I3ps5dWui4evQkohql7ap1e84bv8tfKR9S4zdpYJTd0padnuN7JFX%2BZkBarSsQs5O4hi3TrpyjwpeJWIewINU1v4pdYO4sHi7%2FAOu2wpjLpbi4210YJCHOgTiWG1wqx7qfSTfV2rjUaBzqkUdA2M0G7tHNfi2Rp2JzT37sgt2HfYzRekZMup210SlwRVFXzv%2BsncA2VJ98u0LMZRkHuazKXEBZYkanH9jgIFmCtRHOwbIUqNaKUbaVaHjPpkZSCEv5D3p9C5Y3klOSZiKOFmFyMFdffgHr06x29yJEGvqDHrBxobtUAtpBHeNPMw6Jqo4nq%2BWPyTHRfpIYeYADdhlOeGoieQ1DaBp8kKDQ%2FtfGt4Rw6o7FHD0tGXCIqsXW0bpLPiJZgO5ZYOENkXVLSOhogN1S3Jee2%2BxmjiLVE%2FmEMacWmWPzmguSf31TZdPJTwsGeVpjwMJ0Qd3i2oIyws7PGicJhK1Kv3cECYO14iYkC2fcpbWo%2Fu%2FbytpmEfRm2MuiHiQnujXMLq42ez%2Bfw7EpbmVcM3YDRp1FZni711HXY9Fkh018ixQzXeNQ6naPslX69d9rZ5YPB4fNXu2QJDvWPhxGFQdNpldTvhbxdXQFskwdkRK8e3GzZM80gk7c2oBDZC7Xa3pDt0LTy361j0ISkHmG5u7zKaZxl4pqR5bb3pbgUqDMYW6C2lO7Zl9%2FCtSeHt8kgwt%2BbX%2BsW82MIr5pIgSUN5PSShE7CgCMdyQ50C9nWBq%2B8Hv4vzWgX2Vu9UzoRV7uo94C2EFOVe5TDbXDkreRcziRQwZvRG%2BAZcw1ng5AFkvc0IKw3cV0SEQvnSH%2FzM9g82mViahG1KJnjSaBoRA89UJylMlStV8p%2FtGz0QbTPLVr%2F0uUdzsCfZjAPQAt03aek3DBKS%2BvmWXSqrTkOluiirPNaPPq3tGPbe1%2FhGHMCGZzzvaDfaJumpC8bdbKYOxdxIUFzN6jLZaQr%2BtQtHmLJPPCiQ11EpomdW7UYIACJE1YiBN5W699xEUDY%2B1l2B2Sa%2BKlgyH5hMqOn6lvI6CO%2Ba6Mf2ZMFRGa3ZYzQJXY6NYpmaytBJsqy3kTZd6DpsIcQ89XVZfIXZN771b6NkXjucP5SJqUdUQ4QxiH3kqRUQqeb%2B9iCQ0q6466ow53jaFxO1t4YHLSO18cp5EQX3XqMvx9vWiKjLQ28McuV96UmUKQKnGXsPTfaqJziu0SYUIWFOtk%2B3TH5JiG0x9L1im6ajHEx65aNTk3ZhilVdrLhW1Glc6%2BDMryE2TFov3NHXjeNetsVDg3w8aOvdofElghXiQb%2B7PkLhC3vWpxqWozyayi9FV0sLWKhDHmW0G4Jb6nigcsVk0vvMgjPAdkzCayUqGurxahM0KJ%2FgeeHQomYsl5P8%2BGAFG9n4uT2u%2FvFcnViKejuiqWIgYPmN24wW0jeVNHMnQjmEemQuCRGcuFza1VUf5gxs0ie54AYl7PJK4C15%2BAqnKnEhKJ3pZheevWqmNQSI17Dmecz1wEcvKTU%2BnzjUry8IyCR8y9kpNT2IRNrgWABmDHbCR%2FXaAqB3oXDIsaCygGwTneE29RWaIyvqcWZh7GW%2BVygqEjeuhG3MBiAb5nizO%2Bw5RlPB94%2FdB11l2wxL1Fg36Dk8eNtUagIaivmN5428mMSwEDe1yN%2BD%2FAaNgvrCTiozRBoH8LWlnBW5fS0dg%2FmLW8OHOWNzMsSpVb2L9tIdgXfrV467qroKw%2FTxdEu%2BKMztXstR8L7ShBHs68ILVJgisPO6kw76UA%2B9zEn6OT1PhOWrIQ4X0jhF4nemOq8GlgRTXk4h8G%2B0SRND%2FFLDLVLCezMRYvjaJxhBH4%2B6MeioiK90ACMvhU%2Fbl3EfS%2F6d6V3UOJim48Td1muWsspY9x2jvZXypE6zxdz3FnPyeL6K2LNA0J3otsuFAW9H3XXKeVN0cWXp%2BDgfDK5uO89Z9Y3ZVmkwoW%2FRtWcvmawWK9XMYzDgPq1Q0vZmup5nVO4Wv8Lud9TBljrHDOyw3QUm5uFau%2FHqhwGRc0gJcLaA9aAaOCLtYft6niEhqdgUYSYehQzpWVzEJ%2BoHMRVaZ9vMIgrnZb0y11vrA%2F5GURate4NmwCtciM%2FKZLF4O09X6j7N5cK9L3LYpxSPvBuBS6ktFnAYJbL%2BMSpI3iwm5tkrapHXvb1znLY565s3d%2B9NPQtCRlVwTk08YBpSv2A47gRUfnClmEnDhXs87LIifAvIc%2Fme0fe2WB08O4kxc7icTq6CGBB3GPfXjgGGAFrfznxy5lEzH1S64SYjm0ppC3eJeN4hq3xmh5%2Fm722UOoFjcPva3%2FaQsyTatxQLzmER3fAaqUrbYHPCyJCDPoLbvJQS7cDyVPJ2PUrCy5bGtaN91nmxSNtYDIIVcGsk9xaTME7Xcx6FWfyKxmJ7qWgJT55XCvVypCkL3xhZXto6DmoUlmRsWCSXO2rfp7S7UQeXJJwy5qwa6y4ZjSYwMQldyyuKVbYhtnuFlazeglbyPVyh8P695nU17RvYuYP0lFQtmqVISNeupIWCRW%2BHHntwEbUEqGmTSANrgMFxr81e5kIAF7TgvoweejLSI1ZBqt6pcNovhOVaAuvm4v0S1BMFhaBgoF6a3%2Fne3ZsdEfH7Mg%2F6lVMEDrpkjyB1srSbyUO9oS1bMUV9o%2BIKUoyCzIEnOpQZiyZGBI963uMb7xf5VaPls%2F%2BbkJ8ZUf8%2B1jmnEOxyoD7tkdN9fe7XxSCbs%2BYmOb9QRxxztlKcD93ASErHgc5J5CZe3yHunnOc7D343mpDTEX2NGS9a2hzOOdnjbNeEMQqaxvHq2dSvyrosJ4Sr5O26jAxQvXVOXkPvTOw9NXMNRud8RvsZ3YoWtUrWR%2F1RvHoZSE6dzqSvsox0dfOC1iPYZ0bxgIWuEtjRk%2Bcq8CbgTh3yLgHDT2v7sDCcWtj7qWAybMjYQGQMzS5gKGGXFG%2FDm6Do0TRHf5yfdB6k6keFLFyLlGA0DZDa5cqGB5xkOVYocrugorrZD8ia1pZzqNyVr4younx%2BcvQF3fdAs9TZr0aS7GOKDDqPk7dzlDaO1HnHtEl5a1DNEl6zaACd4pkoV57uMl1e1U49FRlaC%2BTN2q80vfG2kqVi%2B9CzR4mDzyTNp6EewGBHFXH2G0hER0PvKnDZt%2Fic7IdV9x6hndjMh5MDd081ZejkX4Pksu1KoDwBXXpVr01U4Mq1ZI4TzdQWmuaoaRWoOJQiHYTpxVEMcShxr50WtYpZ4dY8ZfKwJLNq%2BrzOSVAhBSHTfuOM8ZblGD9q23fTJG%2FLKgul1y6FrQkoy1HRujZ2nwoXi%2FjpbDfDTWNB8%2BYngNuT%2FikETSIjzcLfGUmXFiR%2F%2BwN%2BWPx%2F%2F6N%2BfnHn84ff3Hgf%2FCx9%2FN%2FAw%3D%3D&RelayState=85FCD17531B58A76E699F20CD820475F&Signature=qINPShxAovh8068Y8HrTVYqV1v613njXrO0nh8LyvrhUyWdnfGvBd8yKif1MzZ%2BlUQAm3IfX0n1ifEvM%2Brftf6W%2BBbCP68x%2B%2B5640ftbi740ucQYs6uZOkNIWv%2BmIkmJxCujt47coLuJWHqN8b%2BDG4X8FLRhwyzBhABU1afZpPCdkKiMC%2F1lA6UjcIlxy2ucXiZWvlv9boMLbOjabay%2B5rc%2FOkmkthHs4pu1jxLLpYWZdGkQTErER4GSQ1zSoSObqwd1UOOTVdCvwsePpTNzKIyKVmhhBLtTY8JkS2l%2FUfYrs7BMGtaKaC8C85Ma2On11qnCQ1yTl9oS0ETKZsHi1g%3D%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1 HTTP/1.1" 200 505
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:02 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:02 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:02 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:16 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 3001
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:16 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2475
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:16 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6188
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:24 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2104
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:26:24 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:37 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVjXstxGkv0Vxp1HBC%2B8u0FyArbR8K4BdL9swHvTMA3z9QtKlEZajZEm9jUrzcmTiURWffn71jafXuk4lX339Q1%2Bh94%2BpV3cJ2WXf327ueJn6u3v375MYdsgwwezzEVnp88lneZPp2E3ffx88vVtGbuPPpzK6aML23T6mOMPh9HUD%2BQd%2BhjGfu7jvnn7xExTOs5nKK7vpqVNRycdX2Wc3mz161sxz8P0AYJlU4YfFIahYJSMn5O07T9PA%2Fg9EGin03Bapm%2Bf%2BBNC2YXzT7B%2FsUzL5HM29t2MvE%2Fz%2B2n9nqRgOoRvn8R%2BjNOf4H99m8fldHDlv779D4RFGZUkGJLCZEKRKJVEMQ5nERHCpwg9ybhOZjhN5Sv9%2BpaFzffI12la0ms3zWE3f31DIBj9DOGfEcSFqA%2BE%2FkCJd5zCH2%2BfzB9Zs2X3M5v%2FjqLoZ6XpQ3Jd87OdJuWYxvPbJ%2B%2BXypxKbz%2Fq8PETgvG3Bfj3zsNfWH%2F79keOT87e55PMuCnTbn6fhhCCv4C%2FDfRr%2BYVtTrvvcKZvX06zD6GLx32Y0%2BS3ffGr0g98p%2BLPBTqjRlP5Hi1d8lNZrjx4ZrSd3fYPR3w4hz%2Fsvh%2F8ariu6%2FuKvvdjDiIQBIMQBp5ap8bf3j65%2B5D%2BCUWhSdszwf8T8sSppXPRJ5%2BYJu%2FHci7aP%2BErTCcYoT7HUfz2F9GC374k04eS7tcu63%2FYJtO%2FsIRAiP5umUxl%2Frc%2FcHU6%2BYvB%2Fz9SH6fwcx%2Bmw%2Bc2z%2BDh7ad0%2BDI%2FC%2F8nnf0uqakI4be%2FRsPJIPhP0%2FiRHVcORTp%2Bb6TfCbywWdJvNUL1spHFWfgawdnIQdK0%2BhW80oZluqM%2FlRw0uYWHYfWrpzZWKeSLBjkMDR1MlV%2FnGG71GYPKQmRbzqIUMsYS12a%2Bfv0B6behfif6GQ74hwKesn%2B0wx8S%2BO%2FK%2B1sQ%2B8DGS1dqBCpEiWjdih6I0hdX44ISmESeNd4mM4%2BS9kOvrW1G3Oj2uu4hsZrKEfX7AT%2BejsdcaicqWPWYm82GDbOpsCQSVRCQiZ3fBaC6BAEf%2BJfnRXqVTW0WO%2BZ5ENbWSeKXvXEtPT5vEzFjYms51hvY8NJNk1FSINtdu6swSrVuq7Nyls0DR4JN%2BIiizla0FDEEH5CQ0SR7AM2ayrWuwUowoOOkCzW403x5FaJJEM2wa7IqsaTrPXumLGTK8g1jrmQOXhWV7%2B6l%2FqS3DYoRacz5ZiwhiHEB0dE6HLxb9%2F7Jtp0XjqWvD5mp8nF1H%2Bj9uUHya5ai%2BHEjd%2FC1BUtYAql7LZz4wlFOlI7ddmnFmIjpSQEDAVD6m1xSLSAiTzRCAwPU1tDGNiFB60MgJsZVw0WH%2FHm%2B2%2FnT3N3Yxq%2FNvaMDGBI0EcDiTY9wCajdpLUKKiwcheayvBIHht6PA%2BRThwPBorijS7XDGQu9eq17Ptb4nt9K96JpJDco95WIBj2k5Gux1OJjy1atf81%2BHAdHVNmKsHnBCsX84Ud5UjDw%2FJo5fQSeYl9iHAUrWQACGF57rhg%2F2DbZDTzHcmwyov1wkCaPaVw1F8xWI2ZRAZK9yjF%2FcmbXrBiTqy5kzwNJhZXUbe2prVjxwGFuIjFJ44BdFXU%2BIMqeJrtpA15PJL0g%2FewsRZ%2BBTjw9bY4oJkC0JzwFYSMmQYvxb0%2BNyXtolu1ODjFpvFYAGCTuK%2BUtbFULesxHtOiOenvd%2B%2FTFvKJA1apRH4OAm9zXYdT9IQkrfREuLyqlVUOiWvNwo5xgLnnWh1QvLZbBPtgRMhObvY1UIeoGV%2B7Eysz4I4thzN6YnEmJLCJFKC8ubCeaoWcSECWEGqOxSFIaiO5jN6E37qF5xIbHV1tmElzxeJGRmON2a4EoaAjp0tyaqGqZHaM7Ip7Y3K1lV4ZfNha56OXBSEEcmA2gBs80efaz7yQptkh%2BReJ3u9W2yOnnB9FB8lXPGMTs2jpb23DUYmXEAosfdL8J4LzWfRAHV91RsUIEQz%2BHoRw6vQuANxnG5Nmk4Cq%2BstMK7oaRQRfL1rVw%2BnqNPMzZvmXttwZSWORg9FlZxYfEPoQBccArzAlNh%2BAkUqZIoxpW4zS266Lh3MrYfrcpirl42lG1MBeY%2BeFSuVFeCelZdB7iUzkaMRThqGBcXAVtVebrKIOrj5PPIKMsUWKIYKIRwhOTSo4NvjFARCmuStiq%2Bl0UAYVj83p1HqEni216k8eWsrUXqoLEbKL8A6ZFocqz%2BMbvzwWcJmp2shRrVXuMssAwUkvVqQSqj4EnuqeOI4ufdhJFOxPSa3SZ3di4eKWeJZUZgfHPULreJ%2B%2FBXKfUZLNsxa%2FcETj4rQVUylwMymkeA5bwg9eHLXc%2FRgDL14F8XoCG8ANNg13FRrk2i4l1ouvMrqsC6L22xxHrYlxEYCSVfnMcgWnl8W52VY9pFm2784vOvGAjLVRpucirKzV54PijJS3KyBgV5KdHVwq%2B6iOF3UFDkKabL0pDIrU520ZiBjdd5HGG6OQd5L5W3rhHfHDNjCySAW7M1y1aXLnKwrAqtv3c%2FHKzY2%2BOfzCwqqlmsAFLKrgjkzZcjt1nU5LWxfVx6O4e0jkjQGoM6zxI8fnWyA6vLMYx6wBjThcUDNJLEOVu6x4ZRIgswWIWYnINanrqjmuvTemJ67wsrp7XHh15morHZiszrlMGrOmhWEMgc97m%2BT3pEa49yPAS6ibtvwik4AuskRF0Gsl0jcc7hVkOijPmyAaL08YRYucvXbB6TfYWhFyv23K%2FwVgwsoshy0J5dMkxywpKNOslm7v26u5dUpCSXBN6UJ1M0UTGaIhpq2CSTBNATtxOz%2BixC5B8U6RAx19VXe4CY7DuRC5bJduXgIamUm54Y0NDRQgcKbCH1znCO%2FX%2ByO%2Bq0RQAmOZtDxJNRzDsPj7ByU0LJiTScbw7gcuyN4qe6esdmtrB0ns0iayKc9PWe7pBnW3QBgkqFaV7cHO5Zdq5cUIi5Siry%2Fz9FwM6i8%2FtsTDFIFznr7AuYWIOgDNQyR4RERCUnMviDRjZzbI5yvemBbIetYvNiTTKG17aKhQWlHt7jlf%2FvGDMKczqqtRVgU8v5EuSfR0IqUuGyrfQjEIUxyAPD2dz4O4cY0%2FufnLM171w0uLlYk%2FKqbUmk8%2BM%2BXLhM5d1bExDSk6HL65m7nUAyDT%2BIPl9BI%2FHJUwFXcx8%2FeXDWYcsOTkiM6Nx4oCWDKyUKmcpDtmXRBmWPfZYz7Fi6eH63F3a0zWFCqNZf7gFexmkp37TCp1fGU1%2BQCyqVDw6JEW8VTon0xek5VpDEC7ZEGm3Mb%2BuzXa%2FG7d9Udkhfzh6CYg3Arajq5I9SPr2tM2ciZjgRoJnu%2FvnaoRw6fJc%2BtU0NQlx9ELXgXMw5kqLuKEUtDfoKvj6LtbK7donm4Siws4PME1EXKNG1So%2BeWd6SPQC9qxXmXQsVcEMb8qkh3hma5CKrIvUg85Ynd9CNFHDE2RTFyZWEGJfEZ1smyk5dr0%2FLL%2FMKlszQOLYmNtsHvi5Ee2r7Vp1%2Fbwfz8FnNQLKYSkT%2BkN19AdOP6%2BFTerAA77dr%2FUwd8Bx%2FhOoReRJN70FSHmuZtceQm7s9cYM2GsCi4AMr65VKN6%2BsYmmLusm5rY0RJ0pJQAjj0ifSAfaVlVHy5TSPzd9nfNybwNvAq9BZSgrP6OQgwjWY3IpNDcQo6cXTDmnQKl4HfVilbtsYeTU6ngsoK6yDE%2BgWalAcNzUaSNZF%2BvZuvXHU4JXTtjZDs2rDWsXn7rJr74lNhA%2F921BaYQ4ahl%2BP%2Fg7OjeME9Itl2SEDAmwpAv9eXe11pluBf4J3aYqv4DMsisvjgU9RcbpGTQ0G%2FHmJB1eByppoX2%2FFnll09f5xsAdGFGMSiupMqym46DsRfCPunGcaSmLvXqGvrZoFURvBIg4quUL0%2BRUOR8aQ353FttKb9T9WOqAQRzJTPybF40OJdwOwzfyirRSyZHc2Wo7MTU3OdcrfxjNzKi4%2B57dO4giYSMiH2QtuTcHATACwV4pG1xaba0OD99in%2FbRm7Q9RdqbL13FDlrdVtRwAVEOXvQ7kmnxbLeL9FDLncadC311MvvijpvZPnTh6vdkyHsrFQs0uvqJt%2FQv90LO5%2F6ZSsoqcQxb9ZOoPNsaLhURHt1dNPlIOaGjal4TgXIvcLgbSImuhhKF00kfM4nivMxH81LBW6L1ywVDvSNLi8rxgeXKVm3dPxDcV7uE0UgbGFh%2F44WLhUrBIA%2Fyyy0EuS5zfy8TCQ3syer7c5zA6ljefXmq74T52rhSpW%2FV86J5M0Qc0%2B4HZvcspw6pABkP4FjJJdlu18dottPgT7JvzwjDIC6WBUCjx75kA5eQsTNNLDmTNeGUvc%2FaozIbsaUJVm1YvgoQkmcLLutoQRsCo%2BxrJdrOpukyO20f%2BLlS1sBAhHz%2Bwgt23HX0%2B6oqoQzI1FOD5Hyt7H5KjZE%2B2XfESoniyIDcBMBpK7dHOxnMpl5C3qqjaRGmnLlwoUNq9GQiZJn6pLrpDtQ%2Fa89ixs27%2F3d3yB%2FC%2F%2Fwa8%2B3Hm87vX3HAf%2FKw9%2B1%2FAQ%3D%3D&RelayState=85FCD17531B58A76E699F20CD820475F&Signature=VHbXx%2FgRQWisSmZ%2FoTL6%2BIPWQCkAcZ0DCd1hNvU6Yi%2FnoMXfQu67V%2FPSS7kkNr%2FK5VdPd%2F9I9wifrHMM1JiXLrq4Emuk08zDygnmLcC0bO9GccvXuYwOWN7fuNE%2F5xi%2FPTfTEUbvaNTmw4izsY3Hh4SdhPah3QhQj%2F5OhWCszAzM4JtcJYqLIm0C%2FRiNjFH01ZPs7usDi0pTi5YTmv0mvwk%2BRIjkl4VhDNenCMxceq2ThpxW0w3XM5c9kQ9TEseFiX3UJWtyQKmMnc9WLVXfGb3fcHkGuSJMU0s%2BEyWDNlshg%2BVTKqGHSguZ%2FB1NGAjCwov1iS9jQ0qlhq%2FTnkjxIA%3D%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1 HTTP/1.1" 200 505
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:37 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:37 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:37 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:50 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 3001
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:50 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2475
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:50 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6188
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:57 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2104
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:29:57 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:13 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=7VnHsuTYcf2VjsdlRTe8ezE9DLiC96YAbBTwpuBNwXy9agzJoYaiSEqh0ELbi%2FR5kXky7w9%2FPLr2yyufl3rov39A38CPL3mfDlndl98%2FPPf%2Blfz4448%2FLHHXwuMnva1Vb%2BfTli%2Frlzdjv3z%2B8uX7xzb3n0O81MtnH3f58rmmnw6tqZ%2FwN%2FBznId1SIf24wu9LPm8vlWxQ79sXT47%2Bfyq09yz1e8f1bqOyycA1G0df5IoigBJNn%2FN8m74uozAT4oAO1%2FGN2f%2B8YV7m1D38fqz2X%2FizOvsazEP%2FQp%2FW9Zvb%2B5vWQ7kY%2Fzx5T7Maf6z%2Bd8%2F1nl7C5C47x%2F%2FhhJpTOIQBJIkkedknFBkAaZYiiQJiMLIOxjSYsbLUr%2Fy7x9F3P6kWVqWLZf6ZY379fsHDELIVxD7CsMuSH4i4CcEf8MIPPr4Yv7qNVP3v0Tz74Uo%2BYVo%2BRRd1%2Fxq51k95%2Bn68cX%2FU2beRB%2B%2F5uHzZwvm3ybg7wuP%2FxT1jx9%2FH%2BN3zL6t72CmbZ3367dljEHoB%2BC3iv6cfv5Y8%2F4nc5Yff3izffJ9Op%2Fjmme%2FvRd%2FJvrVvjfhLwl6a02W%2Bluy9dnPaZE44O3R8b5tfxHExWv8K99PH%2F7MuO%2F7tx35NswlAIMgBIAo8KZ6U%2Fzh44t7jvk%2FQMi3efd28D%2BofNup5Ws1ZF%2Fothzmeq26f0BWnC8QTH5Nk%2FTjn7QW%2BPGHbPlU8lPqi%2BFX3mz5TzhBAKR%2B4syWuvzD72L1FvJPKv%2BfcH1e4q9DnI9fu7KAxo%2Bf3eHq8p34f1DYXzm1VDH08c%2BF4R1B4G%2B68at3bD1W%2BfzTRfqrAz9ut%2FxHJ5ByH7ghlM2kRkz0PjcCswLZqzPUqMDc1uDkQk9wCQ4Ya2UXPBrVLXNfgrO4AE0HWS2k9TNInjxhDYiU2IV%2Fs6zv33816beq%2FuroF3OA3yXwffaX6%2FA7B%2F619P7WCA5TGSI88yQy4RpKC8vi1bsViygW8lH3qhJBHWEoA%2FrHNmXmDsaJcRPHmwYBocvjwMCbJ%2B1Gi3Ph%2B%2FSyhUaOeiOCb57crCIwLJW92RlRKsJTKxx37ZiqE6QAuV9VqgIel8dVwILK7rULDHIUV7PmZNOoJ1VS758zepz3dWPvArZOUp%2FpC%2BjYZXk2C%2FA4leWIbL7m7k%2FsFkzdFRFaezsP9fC41GkpNEkmob3Nx5kU3jjNMycYiXN6KuDAxQ5DZYDa%2BOUUrw7eyld0f7JJHGKNdyu6bfLge8yIdw2aOULcshZdprWkvXWP9L18jv1VQGdWmcBANwyMqH2YZGWvjaHF6t69AcnmxW8D7rO8Zg2TGZicIOdcwhgg59BrO5qQR4YQmi4tkncQ%2FFjlE1%2FC8Kz5Sd2K%2BLRGfAHwV2Ui0PQYn%2B9G8jh0U19UzrBmuN2El3o6jEQTJW56BTkJJlwuEpYq98NXGWa28iYYXDcgLA3mjqq8mZXNZey9bLhp1Z0DwWTq1oZIk%2FgGaDuu2xDuWSIEQYPyhDqiK7wsbH0OogwiEtM%2FHwKizq5t481wkQQ7FoglIFogyehS009ezAOCn1xGbc%2FDEpXbwlzw%2BfApEAdS%2FSaGRn8sU%2BkE6Tyg5og8l7KmdZproQCyjTwBjgMbzStFitjKxNF0bwRTXJs%2Fg0GLyFhOCygyYCsAu83uAklA6VNia%2BFJIIEqAuNRGKUzVpDCYjqn4WMOt02qtMJLf8DmQSeL8ToB2yQMxnOIdHfEm6MRphbraXCPnQg32Wu9Y6efErOD1hZyZXPFsLRQ1Q0G0jkMmPntXmix70RyGVzOsVagQwr47bVOcLbmri1qTCbEnDchqZIryN2YyT1bOIUwIAKuImR7WFAqnj5D0bdSuN8rJXmIOMTGRIk14k50bJoglaGfbQHPctdSEXfF6Z0iTfcl08xI3RIv77D4ikUuH9COpXIz3ZgbJzB9x%2Bi3lH3VFg3pACd6ESnxIfl8RU9P8QBVaxjsdedLbIEII1PZDLYem34rXfhhsx0mRFD0oqXgQRisflbiUw37cpLBIyMbkwVdkmG053Gbd9ENeYun7SPAFPMUfa83HwYWogTzWEWjxKMUODkZf%2B27MUVnZ9virvYYOdHpaMirDyGy0vUepZCNeL3a4lpD3XvcST8flHxn8VeWxGuDXZeFgmQwTHedUPd32juYwIN5mTf5almGwvXW9l6wX9rhO8yt5Q1onJG6cwaEGfa5Jd%2FwPQ2hrIp8gqsYQR3sXvJNcox4myI9c%2BYbDgvGnFjCJy%2FdH9nc4bIc96jnc5Lv5UaKQL6bcFl0UFJYNvNNXsKgeZYHIcp6uhAPQPWnkJVa80mrssfWS0O%2B5v7ePq8YDV89LUq1dRaZdN7Siza94OCLzsuAa%2FDs8VRdxbpvWeS9VmGdqwxy1ha9gQKDJMvQtugYd80KeS2J9rhL9bGzsaGNPvbnI9wU7Aniad5SHQE%2BqSp%2BKbBIxjDOeGLW0zboMx49h6B0bqjESKBMPnnW5bPCLalrAF%2FvmgLyGNb2qKDoMsT2vvFglC0%2FL3uTmpLjNUSzTRXvOMvZgmxQYZBQhTEn6WXFyiWoaaiDXzCADQBI0Kd7GwFw52RnPpabBBacKDEQkZ0grtoHLREuUz0bKL0jNsfMDtM7KDjRqpeKMdPljB2hrFPhLAL2Xm3YXN7ZL%2FtWVXlsJF7j6EIa%2B2txHOCLUW4a5nay8W4h9%2FvMnTaX%2BAiODD4AMwR9IRYgsI9e77X9ufRWKLKuseNpmUFXe22hVVpHBi8hQDHjrfa14g4WNrmgMdjatgvcaAzEOudW75iep7bPDqysvTuJAssioZLV2eGqCVYQo7zrsKA%2FpONeJjJx0Ac8097dKmCwLlsdUVyJK5CQOaOX9OCaCWFyXiwt35mQvFfP4VHGoGTmDI8jNCQIEIg9cbr2q0R3Jui%2Bc1ANTIoBm%2B8Zq8TSaaqDB0ACKua8Ib6uveqhrZUAYTItnHfQVqvMA%2BTIjZ5QQbwihmuCS9evsUR5wfOb2%2F1BPZiVhpbEQ7oHGb4SRODzjGnUAg1Zl1ph5iTLPHAJjevgrpkENZ9RHbvbhYjtE9CJ1VS7Y6mJr67UqZBI3xPQI6qf43NiHPgR8ftu%2BdRGWBR1vkKDSKfMnc%2BLuQbG8BkxL5TLlE4P6vDmmtu%2B6evdtmWooCXyCVw1XK2%2BKEwQU7On0uDoRCIYfL26pnLt5dzL8J6BTKacPKXZEJXKYKmDYDaUIU8LKSrP1NQas3ctoIkmcBTFUcwI3dCounDblHtxzKTJ24l2kFbuIJpj4Ye1POcxTLrg6Q9skWZNz%2BhHCfZPY0STlJSNB4oC8%2BMgoLqZz%2BKm8tZNTqeYNqlSb9hpm%2BjoXDKrU2hS3BLjmTn3ZJeKe8L4c6aUww5v7T7lqgKFN2aqGr%2FY%2BYif7Ap59SSI3ZX95h9Xf2HEg%2BPBPSLiqJ5TrIgM34x5CLlRuizSq5aSzITo%2Brs5NUCyxYPMIbiQoG6HRPDhTafwyPSXQKLeWmPpBtVeiAsIJM27Z59DsBc1Cgnh1oqiR68MK4iTxb3u1RmZOuYrWoiZ%2BjhDK9OyK6q4%2Fa2HGo2OJZcD3yWmlRb6ceyol5C4gQ9KymBPoXNqSmZVOce9AsS3UbXGdTFXh2Tse2K4NaSIhfl4VY4ZJuzVpq4QiMla2BXl1hj0vFAE5xGauNs08hCKDC4j00jPpkS0g6esSaLeOMbUn1PrI244S0v9hkXX3QyyUoYBeM90YwLYkKNB5Xpy5yO0rGdujESpH7gWRYI3Lf3%2BUDG5H%2Bc0AoHqzl5Pnmc50sXVAK6b4I5qNcmqfVdMsEUVgsfjhlaHkq9he875REPuLZfZeVrhE3GoLROQAgSh5Ca1VSOCEE9CZVGRBvWCr9s%2BBpo70KmHYTioxwWPuuQAxdutqed7WdLcjglQW7wYK14797FPiwcoxIqw8dBbJfsMGARLU5Jmw%2FJVzg8c4dEK39CVfIKMoYY%2BWIeUiV8MTM4C%2BZLRYVDtws6mmbVqo36DRyIYzPv9Fh1ZXan70NnCIyQOXnQyIk%2FPyGIE5vDu0xI%2BsoJUPHGgI%2FKsGmnPVIBt8SJ0qyl1q0aWBfJ%2B2UQyVQ6MyGwuDXcDmQiJo%2FvGnXSo1UlIHD3FHlVqEKma6DeOVqRyluwSsDeDp0uMsxPnOFhzi8W%2BESdfg9zycOdpQueTr18Nuqaq%2Fv5VPNEWngcb3JCuMDHCx2o213hkaRYkVe32ptrcgYY2xsf49EIXRS6w0KMKyMOA22oaB0UyDbuUNw9k4bnEz2KTFxmkyJCwzuz0OSQxePVMsxMNAn%2BLJSJGNiplF3gsqFiCwwR5PZU3zNOVIwCEQqLBiex9MCHlDnBcPzxj2Ouzm7Re3SYBoSQw6RBEU%2FUuaKLNZNCDBJ1HKlEsTY%2B5VujRcbinFo3k3mgIdXEc0Wy28h4EuDRuDzZ%2Bl8F3q7SrI3j%2F9%2BuF3TWVWftUVzUyw2d7G5FQJul70rbwSJBWth6L7vjgSY3H6PbhCHnH1dFkVHLHHFPiC%2BMoYXINjXj%2BazPkr4f%2F9Tbm%2Fzct%2F79p%2Bd%2FctITudTZq1SXau4Q%2BxLGiIXVYYBpkIy47Lw%2BKZp91mrFLz83fqVP0rOOND%2Fbn2nqKEYpabWFbYVTckq7k0l6jyOAp%2FX9304IfzbU%2FNr5LRS6W7iLSgJNoBSgWBvkILibU5eExh%2BJNfsbSBu066mt%2Bxj1t1CiG%2B64mm06%2Bh3XUuWlByMqBzNtPZaStrDfS53OwKaCMFHu%2BHd4gw6%2FTCY7Yd4FmbiAiNDWo3QfxGTIeWEfsQzKAHHqqSptkYqhivFKcq9fu9X3aW6QeunuAMwYzSMHAD4%2FRoGDU3OhQhnAgvNCAew9PSCPa5f1Qknd7rG%2FKo7TKOn0DQf1RaRGYJrrPVo6qyrGzlnQ5vbbsFUZUFsBl1yvYMsmTRSHHZUwZJPkkgo6zfWGviYfaK%2FOWTQNrSq84zThriXjjpT57pdgsimI8t4nRT1eQcCXo74F3VUZ7L%2BjyUp4FSt1UN%2BT4nlPbsU55MbDiTgjL4NbEDgM%2Bohc5MWM%2FWw6n4WmzPAI79088godJZ7bUZGxC5w1PYKDng%2Bte6VRkYwlDa8Ra80Bh%2FUQAK2hTnnt7OvXhQDc6NSTsqT5zXE%2BRx%2BnZ%2FihEmy7bgq%2Bd0ytEAeqV7G6Jm3mRavIDJLTlwl0%2BEPCw24mXUIPaYxvZmB5uWCPMXLPcOTl6jTvTJL5Q4a6MC4rvAwMRhI5LloRt3PAkfcjUSsYRHjAzeIdOxhzmWVOqKcyAcjAH0DC90dtQ9bC1BcNCqX%2BjpBvrOk91cOtYly1aihJ9srp9mm5XAr1aV1TdCkqhWSiD1W06djjWhpr7JDB2ku3XRxf4yaVEFB8njrkHmdUGcFQpWgCopn%2FDjZwwl8M8kcaEAZRrGvhwQeWxzFhDC0x%2FNVmy6ooBIWvZgbW7yjZJT%2BczIcHyTppode0RICwgMw%2BveKkobbsBtszYdpHYsgiwAIakBUvuzjCm79FjgziHVks%2FDfbGo%2FwLFFVQxCLmKY7AM6F1wEnANCTxcHYRSiCBgcWztO%2FOM6sXP2nlztYDTVHOLiYOX3R4n7kzYRKTUoFZGjwmfpLP3Va%2Bgcpg3MwLYTXVW4HYO7sXVCLLfjcbyare7fmNsqMD8kfoUvOuKpTx8pSGzpMVCayBBo0T4RtYWRjYzZU3fdE8nwrPhAwlUPpQzJE%2BSr6qbDfb6PYYeKMG3Q7zgo%2FHrUDGS5DCPidCoZsRmWRyIdG84SGHAU6ykZ7T3siYm1utWwVMEubnRl47fM%2B6t81IfQgwdSN5yTpSv1PfD%2BsZFDybzxQeqTxR1TocwgZx3brh1Rgp3Snq2kz8%2FhoXV%2BYs1lkP825ejVUPFgpuO8v8d9DH33geAv7Gi%2BGP%2Fw4%3D&RelayState=85FCD17531B58A76E699F20CD820475F&Signature=GAYWXefwYabqEyY2LvF7JOyXTo86RErKDknew7bgQGN3qTcDu7IMcQ8Wc%2FrNgayxFHhnVUl7rqzsmJpn2miOA%2FdnCESmZOmQ4jc7roJZBF4NIyc4OVf64f2RGHDgUL1JR7jtWpq7wFxelLZAwqjEGzLH%2B2npbrGhUyntUaJLjxAETjIU3r7o9cMsUhVS9AIoZi88JoKMMd5Ch5AAE42%2Fo6Mho6NZeieEQbYCp4Sos9SAJ21jzhgkSlg1z6zFQnfKbdMNQ6dNst1Nx%2BrBTco3OPsbIgY%2FKb8DNfl5J5GA1mtN6QnBoQTIhmhi3ydqQ6xcXGjDo45LGsR372gewozW1g%3D%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1 HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:23 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVjXstxGkv0Vxp1HBC9Mw94gOdFo%2BIb3jZcN%2BAYa3gNfv6BEaaTVGGliXwt5Ms%2FJzMpC1Ze%2Fb3X1aUmHsWibr2%2FwO%2FT2KW3iNima%2FOubY3Ofybe%2Ff%2FsyhnWFdB%2FXeXo2ZtrP6Th9OoHN%2BPHzl69v89B8tOFYjB9NWKfjxxR%2FWFdF%2FkDeoY9uaKc2bqu3T9dxTIfpDHVrm3Gu08FKh6WIU8eUv749p6kbP0CwqIrwg0TRCxglw%2BckrdvPYwd%2BDwSa6didyPTtE3NSKJpw%2Bon2L8i0SD5nQ9tMyPs4vZ%2Fo9yQF0y58%2B8S1Q5z%2BRP%2Fr2zTMpwOR%2Bfr2PziGQSmEZxCZUQmcEmGI4WSSxRkcIigSJafZqIfjWCzp17csrL5HFsdxTsVmnMJm%2BvqGQPDlM4R9RhAbIj8u0AdyeYdJKHj7pP9QTRfNz9n8dymKfjYaPwTb1j%2BbaVIMaTy9fXJ%2Fqcxp9PajDh8%2FMRh%2BW4B%2F7zz8Jetv3%2F6Y4zNn79OZzLgq0mZ6H7sQgr%2BAvw30a%2FnZbUqb73TGb19O2AfbxMPeTWny27741egHv9Pw5wKdUaOxeI%2FmJvmpLCIDnoq2s9v%2B4YgJp%2FAH7vuHX4Hrur6vl%2Fd2yEEEgmAQQsHT6rT429sne%2B%2FSP2HIVml9Cvw%2FIU%2BeSjo92%2BTTtcrboZie9Z%2FwFaYjjJCf4yh%2B%2B4tswW9fkvHjnu5ik7U%2FsMn4L5AQCFHfkclY5H%2F7Q65OJ38x%2BP%2BH9GEMP7dh2n2u8wzu3n6SwxT5Wfg%2F6ex3osZnCL%2F9tTScGQT%2FqYwf6m5F90yH7430uwU3rOb021VPnrCt5NFFHp5iVR%2FdUVKc3IX1S6%2BQsnrQBQzYTVVQ16t8dKns85D3GlfuaijnuBHtAA%2BPKmt8QK4YJAxabmXV%2FOvXH5R%2BG%2Bp3Sz%2FTAf9QwHPtH%2B3wBwH%2FXXl%2FS6IAlwcPyJHOmoZiJKwLcCy3NPToAo0APQVwr1iiddMjXWIVeNkuHGv1gRSALUz7MNVACkohHkoBh8RwkwnDC5AENO1pivby1sOUShkXm7SZGVOpAHX5QMEflpQ8KhIh3V7vYc0wABSML9A5RAOoh26hy%2FEyUV%2BAPXolXIPlOOs11muK4baPkzKceEyfo3xHLa%2Fg%2BQ1GTHuKKLOPjC52COCm15grgcpQSHRBI0SZrY%2FGsUZ%2By6SFR3d7MYNB3zOq8BDcq3w5FtzJaKc6gKn18nKUOOB6KRTsKrU8fCHF6SpKnBhq%2BAKvOQltIk1ksgLSbGEcK3xjVxezxIuNrtUcPUBtJu9DQV6DSaaiHDv0aTluPh6aSPL0rH5uSKsp90AJXHO43IybiUTStS%2FVkTKJ2oGKoOIuUloFBzguKtM4RFSuwC23E9%2FPQN57oQ3zWH1ypfkcnXioD%2BGY0QaCxvnGZIibeCUyfDBpSG%2BcAqk76XV9yWUE%2BTwzr4cAiLPCC5Ey9iC13rfDsVeGv2pwEBxMqt%2BHY9itWZkY5z5pBJlou38VVWcBQorV%2FFlWQr4ITTbBLcYbFI8Ust1cmtXDS6L1XYOehqbudBSccFFHsbZoLr6nPnqNg%2FcwS6PlTjt7UCydPZKVhT3dCJHbSnUpOXcAEd47pHmh0YxRkEsukqi5WeKJ7gin4Ex1YXjZAlDhb7HtM1fv9Dj6N14xfKkQKEAUwXHmiafnx%2BhtKvSnd9HI%2B34xTZSaJuomVhC%2FeuyUh0EtARIKyZjzzKFZTcdy2%2F2qnCRoHsEHoJJitJpPzkQ5PC3XYDl3UQIDIkGYYU1DRVIVUsTs03OGPQKsTul6jUuqRaUj8JooWHp6vHNfd90YqozgVoejETT0RbaDJaqAEy2NLuqFCe5O0BDTuqTo1YRw71DTTihxVH0cM8Hhc9YXyu5bV8JoBht5SKahI1jdt3eI7fdmNr39%2FhAOcqf6cpoqhvcjoHxc4rgIcWKYtTGur0%2BjOLRa5cFU%2Bd4Jh29I4vUhtixW68y1YaymiUjal331ETuhQ5qsVAP8lsaQ6OFXaqr7VKVl%2FIC2JTJcQVL9jjf0aMbNjLtNgrZHPnnjN3VTjQG4x2fP15zrdd%2BdqRAYPxMCuGvdZJh3glvYp7FKXC3uwHOunOdqx54eqji2BmnGpz6DUpCh69aIV%2Ffn0lJ5cKlyg5sNUNlD%2Bg56bt2txuaWU2JyEdWAzy7t9W1p1Yt%2FSfztxr6s5mAX77Y3W5NVj8naSd3u05WeylxxcJBhA8M3mK01XytoqasnW03MJDBvvlza18Boht1e8DY5fXkJ96rWgz4Us4lnAGKQlKO7A59FhZr5YtigEYtvUVWBbTOvZGmMrwoKyC2XJ1JQKpUoHMTbGvFmmryyM9yW2nOZ8M5TwotL4DNMyZpLdh%2F5sBdsQ%2FRQ2DaxcwTc2yvu5YN3oVfYqtq%2BtM0thsweGRY9oOjnOc34mV6p2jDEao3R3oUc4MxhKtTcRL8kmHkYe%2FVQ0QNEI1zNFHS0UExs8te2hDzgZflDSM7gs3TXIDpBsrsYhjqwhWm0E1rYqEHx0gjvEA1ZRO%2FL4%2BlkzDCTN5jRG7hEND1G2zk1eCZpz7ljjFKn4PqFTORmmXcDZfq%2Bmq8A8awJuaAelLlJRImEF15emlyUZ4W1%2FPTo5M572GPNwwcMIINNy0gZPJ9h7%2FB5JlwTjmbFspr6mHxkNut7ywB4MbRfaUmont5RStLa6vEtRi%2Bl2U0TQ8Vr7NT%2BhMVIdnsoFg6SE3a5UleqzPIOh7pVOYAw5Xd3ZaUBSQnUu1nMK89lxkAaJKNFraypJLJLE%2BdhZS9h3qZLKOKCCupapPAJdS%2FbzMviGAWP3Ap8RA0zN%2Bmvt%2BRFHBK%2BvzT79pwAWVtkwWENT1prr0AMjxcFbpb8x0pcDDrIOHCpCUlQyaItgPPolDpUmzbHj9S80ShDBJLNJqNmti8WPI7hDS0bqXipUMFv40jeFxQ3RmXA1MCUA0df0pksu824%2B1WOPIg9Sdl%2BKIS%2BsO6Tjj9j7TxK8XG43ubX43ZN%2BilxXf4uwhILJ41DHdy9FFJgfO0UbebOsKm0ezwTxYknHCku7qWghWQc8dulH8eLgQg992Du6MZt9KUF5%2BeLLw9hWPlhgD1yXSijuBBIkB%2BqDVSrmWlRhrxUcFfopmVe1IANh3%2FnNg5tiduS5%2F3Ft519ekmhlml4QNhPsCNMUOmLZndpFm2EEQPRNbOvtc22F2zfL3Wh964rtiquYUILG%2FcILGo4zNXGdJpq4ukElXRfcfGZqcW2IEngwbjnuDsMniVvmRKf8kKBD7pWtnzRPPeuCLMALZgpEdgqhMOg4LMxBgu7KG8aROg0V11RDnYXi2UiemdKHIMXDQicEHCqaWomGb8ewM3AbjKsYOB0nqgBF2zAvZq6gI83YE8aA4oFUJyPRL%2B009Ph0CAq50XKE1vLy1cgQU6MrHIoAlLWoNac15M4PeT63He28sjMcwxs1MAdFZRFVcoLINTJPAc%2BPGlTLBSdwJrw61vMTnVMoPhm3UgLVEdpepj%2B86L5feBO0JYzUA5cFxnpMAbPNxZn4mRcCSIBUMIxENutWDTHD0mIjnJPkfow8SqRXEkiew4EnLhIIEsO2sP0oQrIAV5RcwbPlCEByZx5Oc%2FHM7%2FSgBobj9rGAHMN%2Byz0dbJTYMwU2BdyPzcZPKxWB69Ga3kwkNmP8SBHWlWytsoxDjCrWkWYJJ33DGYKN%2ByuEKjdLy%2FaZV4gKcx3wlpfmLb5gRqre7HfSCB%2FjkDhYi8CJVtYXW1%2B6tU5qQf2%2FI9FqEDndEYd8HSb733nCEvBl6o7HMAxRxoLXaAtAwjEKVoRotRW40ODvJr6ca8LzyYaJinCOY2G7Hq8hvNfbKd4vDE7JYbaVzKc45F8sakBXmeICh7FvZY8Z1Sg65jl8d6obN86EQ0IdL%2BxmuXnAJVAjYMIPu5zyZKCBZ%2FfE%2BDaFdRMGdVriw5OJwQQDBABnxcQewz5c8IZo095tkXCVwqR3nmr0B68ZgGKJOKEbYumw5DZg5llBrIQZcRHObyufVSU44ryngL1PVRyjdhT%2FgMD%2ByPHaNwh7Aee2ZFzq1VIA3ULbHDlEZe33nnijQg%2FNzvLliTJTYhrCkcz1ysssLkUYTcsx27oLbrZoWg2ljrR%2BS74eVpCt2ocXR3BSy%2BeBIUb8QSS60lQKaJwfbJOmf3KLSCdPaIcknmVTpGXnI4YJR0GFypECi%2FyzjsSmsz%2BoqU%2B1KWMG954%2F97LYM45y46XfdVN2kZSqte4VC%2FOYEjGVsMMeAAdhL5OiPB8rLoMJLv2qL16zu08bK8BX8WJREG8SwAJXeV0qoY3e73nlqnPyHS9wwgEppvFzg9pGenneW0JZBUIaSmaz%2FvEbpe7MiJ%2B5fiUL7PJBLECWNuos589DRKQXU9eLYNmNLpYEnYW1gpnpxUo0eJQg63WRfK40QYh6wWgkKR65iZvbIogh%2BP1QrDUTdhi9XMYUfOe2fMlteycC%2BxUOkbQKBEwj431ZmdSEORNbaj9AwtMZHGd%2F%2B4O%2BWPxP7%2FGfPvxpvP7Vxzwnzzsfftf&RelayState=85FCD17531B58A76E699F20CD820475F&Signature=kNMBrLmEZcsBxcGjWNxi5A7ADJw2be4JGbICxEBgZflaBi%2BaZaGWcZFas743bRnVGHLxcsUnzAuGfK48y6Cwxfc71HMFU%2FY7UasCAQTCxHYQ3xK1Pw7hroa8toJWEgfqdobWZElMK7HG02zDgWlyMOF2VWjxsNJ1xZwIk6iGbXTjmqUs4YbpnmiazPjlCkB2YJHIsyg3Ppwy9D8mED8MsmXEbGoe00y6vtbu2JEQagSAG5QRUuts5VpSDio0OSd6DKgirTMp%2FfDiJ%2FaElXcW0%2BKvCmMVL%2BoyQOGNFV09ft2JKx2beg7Dm%2Bb7QT%2BVCsSIa0xe%2FYAgMpNOvOjP248TzQ%3D%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1 HTTP/1.1" 200 505
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:23 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:23 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:23 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:33 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 3001
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:33 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2475
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:33 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6188
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:40 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2104
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:40 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:51 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVhX06TYkf0rHZ8eiW68%2B2J6FNjCFFAUnpcNCu8pPPz6ZWZa0sxKq5UU%2B3pJc87JjMzL%2FenPe9t8WdNxKvvu%2Bwf8Dfr4knZxn5Rd%2Fv3DscWv1Meff%2F5pitoGGT6ZZS66Z%2Fpe0mn%2Bcjl20%2BdvX75%2FLGP32UdTOX12UZtOn3P8aTHa%2FRP5Bn0OYz%2F3cd98fGGmKR3nKxXXd9PSpqOVjmsZp87z%2Fv2jmOdh%2BgTBsimjTwrDUPCVjF%2BTtO2%2FTgP4SyLwmU7D5Zl%2BfOEvCGUXzb%2FC%2FotnWiZfs7HvZuTbNH%2B7vL8lKZgO0ccXsR%2Fj9Ff43z%2FmcbkCyPz3j%2F%2BKM5KgIxjOEoTGMPoFEyT6IjEKjlAChmjqMpse0TSVa%2Fr9I4uaXzLL07SkcjfNUTd%2F%2F0AgGP0K4V8RxIaoTxT6xKFvGE2EH18eP1izZfebmv9MotdvRtOnZNuPr880Kcc0nj%2B%2BuH%2BpzGX08aMOn78iGH9fgH8ePPqL6h8%2F%2F73Gl2bf5kvMuCnTbv42DREE%2FwT%2BPtFfyy%2Fsc9r9Amf6%2BafL7VPo4vEY5jT5fV%2F81egHvsvwtwJdWV9T%2Be21dMmvZZF58GK0X932t0B8NEc%2F%2FH758FfHbdu%2Bbei3fsxBBIJgEMLAy%2Bqy%2BNPHF%2FsY0n%2FBUGjS9iL4P1JeOLV0LvrkC9Pk%2FVjORfsvxIrSCUaor%2FEr%2Fvg30YI%2F%2F5RMn2p6yF3W%2F%2FBNpv%2FFEwIh%2BhfPZCrzP%2F2dVleQfzP5%2Fwf1cYq%2B9lE6fG3zDB4%2BfqXDl%2FlV%2BH8x2B9ITUUEf%2Fx7MlwKgv%2BQxg92XDkU6fhLI%2F3hwI2aJf05ltu8zrNldQ5UvpGwOfPn%2BqYpnzC7VUS9GY1L7EDC7Zn4di%2FNOwE%2BWmPSCW2MR36114lnQW81jBcXQ0emwPE7n%2FLv339A%2Bn2qPxz9Bgf8uwJeZ39rh78j8J%2BV9%2FcgPJ1KZ3LOGHC5l7iNxdN9IZrKKt9xzkNCD6DNG8HHA022vTnJtj074f0W0%2FFoBG13Anka4OLQqnvJ36Y6SdTY3QByJPGp3RREcmWG6I5SuMOP96NU1kiijBpiekwpM3zqa3VGMF2p7zYjV1LAmbmJy4nuHAIDKE4i0R5aDONtbNd0AinYvwOeIFeKGRpvh0XoLaCXgbgdegYoo4D7PnmIpW0mdBjsCfrua8lA%2FCcMWz1d7o%2FKC1DeU%2BFYevfZiMLMJGjXmI5KyV9hCeNNdLE6rHmkAS5wyPmkaa7NHwJbndHcJr3oStNDj7BGHP1cFsqobMY0WyyQtqUVmHr4razOPT5oM05G1IDWTdatisEQIjeyKMEbTCZBgGEjO7THjRc9yCXvvQIvh9Lpdsh6bcrdIbF5e44IKAOD2rpGiuvdmIEUM%2B3xniRevD7Y9PUEjPcS1mNV0opviCx0MzAhiGCxWu8SJM5n0MLurEHFiPMNzWJu7vmu%2B376uxYC7uLqwkubDfK1JWyiTfOhEy96drszZmFdQ0VjSJplfOymO6VRI5DrVovTGJf0M65nVn7Vwy1ok5f0iGlgKZTZSrIry%2FDOEN%2FD1vRBo36XETo4wyS4oloptyNvSb7EZK0lyM6DvCX6o5eiXXYFKJqyNteFdj%2FfxurTHsckTe838GjoqSQrD%2FW92UxqpRWjzs%2BSRMz8WVAMTspW7yFr4Mu%2BSMU0xfHRysToUT%2FTJm52Khp02KsYVHYPEPXBJ6mytChZcb0eUjChe6oaVhdK6LU7I8%2FjgqZV3iKi0SWYkeQ2a6FbEM97gD7oWZsdAzBaFo5XJ4jEsY3tTDThVuur%2BJ6tm%2BmJxBNk4JUcRLMfKXnBtyBza3wXE5mYGqkAedyzciUtSZjaIFFUnSChKASwTYMwR9LpRAh%2BMxuD9q5%2FvmBTwQZuBhqhKaHCYDEO1yd%2BrwHvbc4O1GvcVnEUNUo%2Bs7IexA3e3WM0S%2B5OP0UTejsVZGKTWDuFl7AkiBM3IC%2FuZWgLWj%2FFpN9OxbOPbxAVKQPHqW63XoVZb9xKwDaq6QnhhDEJOyXpMgJZuLNYPcltxxC%2Fw%2BW1pHwNg3dZvYGjsrNwrtVVwnE5k3QOyN0zQWN0VK%2BkSrfZQyOPDUBx2houATJIXN6waOBsLHDRBPtvXDoZhyBuq00a0BQmXX5K1EFWc0Cfdwk%2BdIY2qboHeAZgnuzTAbzM3UweqYHgzq9rJcbVo8ouFqFKNB1%2B39MzWseKRjXeavqu5nr1diAZM%2BWPpkNgdM57E%2FXjI5IW1862qBMXBbvt4dPMysJPb1vDmOd9IB83CRTxzcH8l1DwKGsFJ5EAG%2F9G%2FfC16GctYwJVrJExcIwtHDEeiA8DT330xk29%2Bl59VUXSMq0dx%2FbWmkV53LGx29B0BySqh7bYt9TNJLV1wkDU9RtbpmHCcnlXO0oLFu9Zk5IlFckHEap8Lg2kc8g8YCBSMnGyvlfRg%2FL1m8ZzFbI8sOmJZ%2BOtUWBxWNyXbUxpiBNpPew2sGJFI1H6hCDCzZsasE9Jm7k%2FDU5bgs09noW%2BvpYIRV1CMQ8fvkYtRm%2BW9S5Li%2FT2V8CWnsuRz6pTtEcltfeI0cEJxvinLx%2BD4PTUBTPueMJ%2F8swK%2B4rhHw30xhkCA2wsKLtuMdZzwBI5sgihmW1HK5bH%2B6YvqQP58sBwJNtiSOH4t8xSbUubWZaLkMdkwimCtTJX0G5yNoH8xkOsx%2B%2BnI8qAyaT3COZrt0Ezv19R2n7KDQTTOqtrtERYcQa4%2FmFJ9VsoMSKnJ6%2FRz8egR3cglCVz7o%2FF2aYz6V4%2B2R0iqLICUiMmxjOh98wp6GY3BHXqqObzCw4oWs1nnJ9ZsX7HVFYcaRveIVJiel2ZKeEFT%2Bx1GZ7UVqXGqRGmBZCSaPDJtBh9VBolF9XvW0lXm7aFVSvPuFx2RVx7wgyQ6xpEXs61y9nv7%2FtcqnKFctWQk5E1vQoDb%2B%2FceJrLGCWWyJS3azuaLTRXumbT3eLtbBXGaRBODBMDbG2SVs4YO3O1IGckFKAVpDq35Phs6iMLU%2Frq1F3eNxXb%2Bl1gocRo4ZinGmZgH6%2BFe5B3OaF8e%2BNfeINLclXQ1cOg%2BGJrIGlrBlBoiaYeakE571OPB5ELVGntttG7pV26QTspUuQ9Xk5ydEoj2NRmWRcxIzh0YrgbnHChP767DVtnQvdtAcBAj2siXneuvyXVR6h1Hklfi6210vKOz85rOmbjsT1j66KXB9AgsddEPAf4wVat9DrGJ%2BIZ01Fm%2BjVJ1MivREJOEq6vdyxu8KykHiE4W%2BjwRBEVru7QnduRIkKvlf2cs8DioUeeIN3LucsIsz2jfpt426CFkj%2BmPgRstL%2FZrUOd4JDNlMfPB0MFAfF0gcxMW2eNzWUQRB3ORXQLegsIoMlVh70I6TX2Fj1e9%2FxMmRvhnjxzqxWk4peJAYFksnox1rwYvyk2eahTfAB7fnC7x0owTdNj41JpKMmpufSObKw2jyb12d%2BwVOUg88Rf90zStp7IXpD7wgpY5wQwmHbTq9MkLkmQfvnzUHRnHq4OpRbXojSMToD9VdbU2ygUR3JODKKQfM2YwCoV%2FoSuhreCGOPoFo%2FKuOmtYaDrJYZAiAXUUpLx70B4uMtbvIPrToX%2BFg6KoZfa2Ybb%2B14SyGB6ymEbkl8qGjwWtRIE%2BIPM2uvyFrQ1BxNTFBNDcmqHxStQ1N7ildetjcwEt5UrAXjzT73N%2BPluiTINPikRsESpRGKENv1i1gSsn9FUpSJqkzyZerzy8yUnZeA1DwK9t07LF2V3W%2B4QghbbxtYGanBq54Fjej7ll2OTCrS%2F5bwuZSmUUmPRyCcepJVcrTYi9%2F55Sylz0cPjoMJnFAHzqCiGYFhZ2iAcgZyIf%2Fd2I5%2F9ZwSDoaWoODrfWodcrvthKG5TCpBDDunVFmv2%2FWHlITfAU%2FDa5wiXqsNM3BEpX0gRXDNurrlLa54jz8McytfVOOgjLl43l2tC7xSvrkLYu3bs3aCQgXq3Fi5ZbUuqQNuNjLwZdg5Nq8yW5PvkTqsxk5bZ5kYw00Qs523zNqi7A1NBvAukfyZNOmUytMMI3CmkBFiCPdxMzktn8Gkz%2BFBUnoUfUX2M%2FY3bF2cUAou5nSO68CUZaNdiBQU%2BZl%2BnFFD43Kxq1%2BsrXENexLhCmchYWT7n4nzreJP7SydJXDI7LOUDWPcQ5BKKW%2Fi2TJm66K13t3c3VN3jVkCn5fLdecaYHr%2BGRiWuW6ss9U6t49NGT3kGeRSuMEtxYv22%2BmbLB63YxTRfEdAOdsH7oW552D4wwlIWoH%2FXDqZBI2tYJBwL9hJWJGLx4QRsybQ1z1BWOfmYE5AV48jaJyFdMY0FBEMARhQaxZ1dELWROJXRx5Z9h4yll%2FrwKsNUGUn3yZ9iYxJ8QVqKqc%2F1Bpiqes1WRyjqd%2FckWBYz2SnBk2s1qgE1oGyeky8IcaojsQ%2BbrquTWpn9VXIpjHkQJBzNku%2BP97iVErcgb%2BYMHLgr1uZdCzVx06W36HBqj%2FMGqD2yW1%2F6Bo%2B7A6UIJykWhFiT0RFj%2F9k%2F5I%2FD%2F%2Fs15ucfbzp%2FfMUB%2F8HD3s%2F%2FDQ%3D%3D&RelayState=85FCD17531B58A76E699F20CD820475F&Signature=PCUBUy9WqqXvwsGp7gYBWJoJ4ksiOmJ3YSrTZObJywciIPdtE6MgWjka%2BkHNtcii26jztnp7crnC2A8mcKL8HrMJ5L9kNN7mKGSgVqjZr8Jf%2Bm3XheIptAvzqzZsLzIcTKFC4m3T4RWpLrrpKUMYOXcVIDn8RJJzatnFPckzPNxDig7Pa3WPhr%2BggKm8h%2FJnjvBAU3POiOQ5ErXm8g7F6M5Ef2%2BTVPM3YJadFICkU2jDWsSO5r9aqtew4Ybcuf3%2FfbVsvVxaW4hV6sOAjdspaNPi%2FFQCK%2FfNstc0N4A3oAnVchP4DxX4gYn5DBk7kzGymv33UOJqNnvd0aKe6zuPUA%3D%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1 HTTP/1.1" 200 505
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:51 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:51 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:30:51 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:31:21 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 3001
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:31:21 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2475
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:31:21 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6188
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:31:29 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2104
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:31:29 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:31:29 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVjXsuTGkf2ViatHxAxsw9zgUAHXcA3X8HjZgG14779%2Bm%2BRIIldaraTY10KezJOuMlE%2F%2Fflomy9bNs1l333%2FgL9BH1%2ByLunTsnt9%2F3Ds%2B1fy488%2F%2FzRHbYMMn%2FS6FN0zG9dsXr68gd38%2BduX7x%2Fr1H320VzOn13UZvPnknxatPr4RL5Bn8PUL33SNx9f6HnOpuVtiu27eW2zycqmrUwy5%2Fn4%2FlEsyzB%2FgmDZlNEniWEoGKfT1zRr%2B6%2FzAP5iCHxm8%2FBGZh9fuDeFsouWX2n%2FBZmV6dd86rsF%2BTYv397ob2kGZkP08eXeT0n2K%2F3vH8u0vhVI3PeP%2FyJQAkpJFLslGBknGUrEGZGlUYqhOZlEOfYWm41onsst%2B%2F6RR80vlqV5XjOpm5eoW75%2FIBCMfoVuXxHEhshPFP5E0W8YiYcfX4wfXjNl91s0%2F1mI4t%2BE5k%2FRto2vzywtpyxZPr64f8nMW%2BjjRx4%2Bf2Uw%2FT4B%2F1x59Jeof%2Fz89zF%2Bx%2Bzb8g5m0pRZt3ybhwiCfwJ%2Fb%2Biv6eePJet%2BoTP%2F%2FNMb9sl3yXQOS5b%2Bvi7%2BKvSD31vwtwS9rcZz%2BS1eu%2FTXtEgc%2BPboeFfb3xRx0RL9wP3y4a%2FAfd%2B%2F7ei3fnqBCATBIISBb6m3xJ8%2BvtjnkP0LgnyTtW8H%2F4fJN081W4o%2B%2FUI3r34ql6L9F3RF2Qwj5NckTj7%2BTbbgzz%2Bl86eSnVKX9z%2Bw6fy%2FICEQon5BpnP5%2BtPfxeqt5N80%2Fv%2Fh%2BjRHX%2FsoG762rxwePn51hytf78T%2Fi8r%2B4NRcRPDHvxeGdwTBf%2BjGD%2B%2FYciiy6ZdC%2BsOBGzVr9jOno%2BYLsc%2B9xApWWTrtWV2GCkWhC0yQecUz%2B9QzGHPtBUZeQumJFSQ4Gfw4H1At2dWcXHSbveCRXvLXCzHTdqrw6fX9%2Bw9Kvzf1h6Pf6IB%2Fl8D32d%2FK4e8c%2BM%2FS%2B3sSF0MgI%2BuMwX2refNKjqO5qygUNLf7oi1zwATqYwoGfOpvM9E6B3lfeBILljvV8x3s%2Bow5C7IDoaXYmmmxt9uGFHla4a3kGDVun2GClahsVacoxK8wWZan1z7RFEc2EC%2FqZ5Gz7EvL%2BqgyaqmAmfR58SFdaUBIOt6w%2BEnKhYZwJ%2BRk1PeZuu%2FmwFdHCb3vcItm8W2k9jwzn6RY1IK1q5o7YXELtSaJz4vBYiOpc7YairL41GvhGKNLcm%2BvmOgulUI0We47zVSPOyOU%2BWqT%2B0rBrDHAeXEYyVOReB8bKFUtV7rbGnx2tCAab77JDsPsP7ySa9mwRXBt9CiiTDW3Dzu%2FUYw3KFnPaRUKzmWaVKay9VzXrQeQJnxiOyc7FOrmtpJ78riYplfTez6sREwBmMoCZU3kwSHvvHwNDbDNixANr2KCN9jzemBbeWZyncjPbbgxWxmr4ZoOYvI055iYR6Oj7bZE%2FWDHHidBkL7FCBdx0DsQJSliRdvAyiwVddQYm3fiKcEvI5%2F2tFOsCuqpLVgVHJxhaQPu8wPYiziKOpqshYocMxmlTbHcLsAlWZm52kU%2Bnft7evF6rkxyzym58K4cgCSsWpFvEzbkIujQnglYEIBr9QYkw84jyp3wsxTm6W4em%2BB1fxmaw40PfRIoEFBC6k60MrE35db3d7w0Dx9wacc2VuA2iJ6KTLE3XA4cJiPhXS%2FWx7J87cXjQtfs5aY8QOinCo2tK1u%2Bu7gqDKQVopMvGr1ygyIHg4mdXgMrpkWykWowRZ6AlyQ%2Bxkwb7UzRbN1fLibMaxaPCtRuXDHKLZVwijK8k9TDv3aXvriICW%2BrXD3fKazkgUct99hWypQ4RCO9RCgmKbAxbmlj9THWjx1TdVpdF9%2BoGiWHCTQYUTeQ9VCrYKy%2Ble8OGmLghlg0iEt9Qtd4vNABldbOSNArHavCQ0tkXbUlRFy8oHzeXthpUdbJ8I%2FnRszliHLKslwU2bmhc8As05HynuwNJwvGjZp6EDFUESitEa0EuhYz%2ByhumRqFUOqePLsOT%2FvyXrpUo%2B7cM2kiTU%2BfnIhl3%2FZdmihmpSUCJf0nkwMuk3LOiCYe3BfhBjQYS3OhB0e9FjaKUkE8AI5j6kdxtYUwoQUjo987uKlF%2B8U0S1pn2Z5EgdVwDJaxsgzTHAd5E6LzPLLEF6bpXXqJnH3nFRMo0yTIOMX0W2gWBRVdH%2Bp7LVgbeq%2FyRwzf0Ot8tu4g9yfoygqf0LkeoSkc9yf%2BWoG2uty%2BrDuDK9MeFgl9s7LbMJPocqmZIFoNz8cTdDZ6zCc8a76oSTgBDyIj8LyVRKTcK%2FPGlCtumTuNj0pbFvmqvIcCIUp3wdXBhWTEQF%2FIlpxfAOksvBnG6H5RznxGh11kLHScghcGdfOgKd6EG5%2BzJLTExv1uDrZwe%2FdZZCjtUGML5uuUZg3sxOSeFp%2Fb2S4aK2s4mtMMP57W7LA32b%2FtS4HrMIE3shYp4OOmKn7QDabCL%2BNGPzGn4Lo1JboHJmTrcJMhdvTfPRKRFSvO423mA0urCwIiFGebk2h6MAZBigrAFo8WL5VxX0a8u8v3Bj1JYAgKR1ND09tThqVVrxFuRyOzNUarEfQEgu2sNOga0PO4OlMWCtFSwKYsXQ8A2BsfuNbu036WYUOqipKVu%2FU4BtgFriy0AI6OLKwjPOrIA9KpB9z4MUyoVE0mRT3RpkQnA2kif1sRL%2BgkjXXRBKjAZtZKWX7FXh0Dzv3kt%2FugE9MB21tx7gw713ycp9mw%2Bw%2FuhstvNUPzBHaR96INeiCnXfN2lRJzWOJnm9yYO%2FvI%2BOSWsEPLqD2shaunBlG2qNYys2qeYO757pc8xI%2BHjENn1cruOJ9Oczt6jc5xDSsLOd%2FgG1ZKLRlG43tPAHO4d8zGe1dt%2FwhxZo5l%2FlEPO%2BUrQkqaTGK3Ei2DSsFMTjCeiE%2Bud8uEo7IfOi9XgMsWYKWQ4h24ky9IDsmsHfbwimTSY%2FtDH%2Bm7upqS63TbqN2BXFopDpYIp4lpORaB4BZYFcchEMvx5fE6qiEvWoTYcHxXUOyBXA%2BvdbSFNXPTEdBj3XsGCSaXDfYGEzG6C0gJaERDeY9mwBJzxVLk7mWPAknAIs97GoI2cR4o0BRvmlAfd3xufVTCNLDgdv3Oni86ie2SwV9pRMkeimhqYCtHixhUl%2BjPmUAQR6iiwhSIUbPWU64aSEgCeD9QWFKRwRahHsR8a5Bbi3lEdT9uvGQmRIhe6foqNT%2Fb0Ucfbrd4ZB43XnQcCxwALGT6mXpeBs1XY8mfJTZvJ1M2ASfOwfVcd9z0YBGDdPJeqKmFuYUKNGve1FLnaT7%2FAgXuVc4Tyxm2msvR4vAWhMN2VxuPwggvFb%2FT26qHYnynpfic2jY6fMYHGMVP9PAlvc629bduqs4knHJchvCTUPhmwmjyhsiSv4abqh4zczt9Cy1QaquhqqVdVl6dpdCDC5btsmw3Yc8GEkdpSPd0EEJIzn4c3AvFM%2BHOcywcpQcQopxdNkZ7oejLI2DDxvnOs%2BvaWmubLfl7tZFcLCREtTvKwrdhn9U5oEPVTlIGMSDvawRiwFZE9BCmsO2goO0uTMZuBq8YsEINrr0zPL3NawHA3Ov1XqkLjuCE0K4aAW%2BuTiNC0QZjVOtPsnvq9o7TcjMTx6NZz8xgNqcJwua538aBiDGdBGS32RAuhjIZB%2B9hThrQKZ2ony2HcMmXIW%2BSZu4ywScBcqZRFCjhWFcZR68T3QJUBm%2Bib5oQtvmd9y
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:29 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVhX0%2BO4lf0rXZ8fWd0MYtJX0%2BMiJWYxiJl62WIAc44if%2F1yZtr2zNrrtV37CtxwzrkALoCf%2Fvxu6i8rGKeia79%2FoN%2BQjy%2BgjbukaLPvH47Nf6U%2F%2FvzzT1PY1Fj%2FySxz3ppgWMA0fzkd2%2Bnzt5nvH8vYfnbhVEyfbdiA6XOOPy1GfXxi35DPfuzmLu7qjy%2FMNIFxPlPdunZaGjBaYFyLGDjm4%2FtHPs%2F99AnDRV2EnzSOX%2BAoGb8moOm%2BTj38SyLYBFN%2FeoKPL%2FcTQtGG86%2Bw%2F%2BIJiuRrOnbtjH2b5m%2Bn97cEwKAPP77w3RiDX%2BF%2F%2F5jH5Qwg3b9%2F%2FBeGh8QVudAUEhNXgiQIKgFUiiQ0SiVkQp%2BO0mSE01Ss4PtHGta%2FZJamaQFSO81hO3%2F%2FwBD08hUhvmKYjdCfBPaJUd9wlH59fDF%2BsGaL9jc1%2F5lE0W9G06do28ZXEyTFCOL544v7l8qcRh8%2F6vD5K4Lx9wX458HDv6j%2B8fPfa3xq9m0%2BxYzrArTzt6kPEfQn%2BPeJ%2Flp%2B7j2D9hc4088%2FnW6fXBuPez%2BD5Pfr4q9GP%2FCdhr8V6MwaTcW3aGmTX8si3eGT0ftcbX8LdA%2Fn8IffLxN%2Fddy27dt2%2BdaNGYwhCAojOHxanRZ%2F%2Bvhi7z34Fwy5GjQnwf%2BR8sSpgjnvki9MnXVjMefNvxArBBOK0V%2FjKP74N9HCP%2F%2BUTJ8K2KU27X74JtP%2F4onAyPUXz2Qqsj%2F9nVZnkH8z%2Bf8H9XEKv3Yh6L82WYr2H7%2FSuRfZWfh%2FMdgfSE15iH78ezKcCsL%2FkMYPdreiz8H4y0L6w4Ab1gv42aAqQ3UBa45Q5LvLxtNyigSeLUAwFNVJNLXeMlaMGSIbdbCm%2FBoqHtoYc0EJWp6SULPjN8m0RThKQsmW3qt7va7P799%2FQPp9qj8M%2FQYH%2FrsCnmN%2FWw5%2FR%2BA%2FK%2B%2FvQXhQ0D6V9ll0VIHIJmjXOt0modKcDCuOwY8EFszYLUaMLAPkbT6yOM6SS8tBm8XsyTNLIRxuO2oUxIFpXq8baVUjIzYPdOuuuFdms%2Fgq%2FSamkTti9AZfDZYO0eERBNplpm4PLoSJWj103WvIwUnshQ%2BEKRfKZTmchEAG5kjHPZqUTlnc2y72%2B92EgoUIvUo5k%2FlINZm9JJuVqx1KHOE3zm%2B6VR6J%2B6jIldhBxEE586Kk0w4eAEMqFsrnEKB0Yqt2eqqhIKp%2B6Xuro%2BMSZwLiYInVgsyUvBippFLANS5BB4WGko7zKDzszDHIUui3uw09l9mqrdulvr7EFVcokPrv1Bm34%2B2aiXj1pkR0heRWyrfp5hE4Qgbb0xqcJ4L740WssAKKN%2Bi1eCv2qg79gCRuRR%2B15u%2FgWr%2Bl3DZK4BUiVRrpa5ppTGSvhKkge8S7javIS0WiulhELQu1TIfy3vOIy3wfOaFBpKeBUhk2ZD0qRGnmXkSLK1RW3Vahg5cNQ027nhHaCKVBwnL%2B3vg1XIkWpRNnPQ%2B%2F2hpJEzUGl5SVTro2t82EWCuCV9DrK%2B4b4S0zE4%2Bhh3vGscRogtFl4AKVXJ86U8f3tSTxjDLdI5JJNcwfdtMheTDZulZUT9W9skHIZrI3B%2B%2BlpvVAdisVbCwpUYSK%2ByWSHa3sSyF%2Fud4qAeg9vhe57Tp0Pu0s4dWTl7GXpbGbEN3B0di3vYiUB8NZz5iWHn0Z4Bm2d1S%2BJkF5vGzNZyl0XVl8klGbALI6vcXy3o2UL9NH3lHCAuFA5NmxKnjHvQR0nGbB266EXMS1SxOVghHhMSm6OWliWsDQCc1r1cWpxGZP7Eq9NISfywv66m%2FTZARDyyEZfcEvVyYiSjVakJeARxzp2V0kLm07IKlgw3SdPcymiaYX1nqYOUdvR1QNlankuYHUcH6xUrK5NZcjafpGIuoBXQDSg9x1KzZzUkV5FQJnLw9S1%2BpKmFiFd%2Fna3y%2FbkuyB7F%2BOEkgv0S%2BcCBYKbyYUPZ1gsob5ZzGLhtXcCuDg9syuq062nqtdEC8uPTXAicdSWWBt6869xTBzCIqKXQNaQqvrvOh4IrZ1tdQvXw2st1Wq2plhQ7swvRpbJOlYXkULxYQv7Kbxx9VehJDksAk2xN6R67u5T0HFJteQ1j37sK%2FCIx1fFSDJjLvHxpPp6C1lu5gYvfvZK5AeNxPmLqzrY3BFYa187Ha9lUTwegWlHk0gm5LdUmpt1%2FbKcmBjXMzHBMzRzyoJpo3a0VxWgXj4mTgTO0q8GD209QJIR7MMaj%2BUkeo8ZI76vnxSyEMMvIm6ePm9K0bz8oLbVHprMh68zi06toTiOHvjs9bqa5e%2BiO1xuPZYWLSqp1xkLU%2Bp%2BSFxspUr1%2FRFRLmg%2BL77zFBbbhwNeB7Kcine4F373ChVteT4RmspquSKajXPBDXMWy5VxYJD9EJOfXV3allYYlog3yP1VEVOkKPwacVpk%2BuGOCTLdp1jZgsl%2FkLAStnKdBuUIqxYh2dTGVIYVqctCTWQyr5oyOvpGYsGLZAvFWiJ%2Bm7rCVKGrwseOkVc08ftnXD9nDBr3mrmBYKvhv6gEj8lUjrxOI1WRHZxNKanFm5L%2BGp8zOvhinTtCTxvS%2FzSVeqI5I9jZtbN6l1AP1nbUFdEgR%2BRx8VDGbqvbY%2BfADPkqFcFEk%2FIdpNjrrQVunwkDX8hBbl%2BMvP69nZu5kTCyVC01QRDjBUtgm0UDApfWY1CtLeRVdgcFTKSEbc0rmdcg4d%2BGBvHVmCGJ2eNGom19AS63jW1uldYJ6b5gD4JvK%2BgVeQ1T2v4znnhGzcH0KHnUzPbDIb3Ot9ALEK7s75a99EISGTGxvD65lNziq%2BKOGzSFC8vDAG7AhvgRsQMtNBJw8SArOPdPcTNZNuuMXYuu2cyyOP2bQRcMilADUL5WvRWadrNlqThxdgyxZ5GkER1y04KMk3y1MFnS6yC5KGe2%2BGSvdk7SwJJNSTZGVQjmkakzutH2PuLaGPBNni3SwHXb4vg6NuwjqJHI%2BUoEIyRw9Jb4Cs4t4%2BGDwvqcaP6DhK1nDeVYYGNOomnINQ7CXhmqB%2F2vG85T6Q7sV%2F3SAYVoCeGQN2IJij7gRQ4GmIl07wZQ5%2FwiTJTkS8qffUoz12SZVI5yyfLUF%2FXolieOk7noaXgmCQjzvGemTxjGkMPbJbTXURwSELK%2Fc1WcgvJVX65mXfu%2FqCXdtZo7aJSzYgHg1QEDtsWUD0nx23i5c2BZ8NbOXNaG6O1SkSDY%2BANooERbJo01ijEAhNomPGilbdvIWAi85nNidsbYu7emHcY4Lcpq8TNgJ%2F5sZdL%2FmajsGkqmUUppEvHZEwDXNiTPO1g8FYXS18NFAJQuHkbzj42wthNgsg823mpz7aWh5RW5dI02L7zpfXs84xHsI0SsiXJyRJ4u2VaHY0ggKou4yAzIYmwprM5mUoS%2B6J%2B2eHlvTfRI%2FeFLcgdLjiuK96NUChbTkW99as7Af9B2HInbgB6ocTD5JK9q3iDWeSaprwnTzTwoZu9d%2BeX59Nym3lHRj6nzJfRkxJ3r%2FD6EtxLd%2BoP63ERifdVKuLqGifa2p03EJjgXu1T7xFgCvJ9GC5DTDhMo0v7O6CMVazda2xaO2nxR3Q8UlhPDeZWmzBIeX6QofMZ6Ygh9dj8iRiVFynqAQsl0UmVAa5AxTAb53kEMHI2EkdlX02iQKaLjQQcSypKAmbUzh2Y02leo6GFQFwZcoyNGCKHJO1NkJPzTPBMC3EpsGS30e1D2iD2Up18NLtEQrmRxaOziOxBba2%2FnhcfcrlHXfE6jhdycVzhHYnE3XjuTApnXnI2sigUOzZj8dK7%2Bx0%2FPLSJvm64R053W%2FThh5UQBsLgnZJFB1Wcl8aZrC8DXw4arHihHGlscLvqSFiy8pvwdYfejJQbYuQYLNdxzyNxe%2FjlncI3Ojn26yBc%2BI2p36V9LbH8hvONXE%2F2jXI8dEzDBGG308iJyoR%2F321N9l7%2BXYWtYJmVJqvDsihD3iLsRxuq5Y0d%2BcBP2WU9BmSNpIMOi%2BfZ74AS1QxOumUlD2U3Oo7md8%2BGmPj06d8OeFcwht%2FNc2c4UG%2FmYIrezByQZBeloxHWXNfwettFTqi7dwmJKr0xofV86Ud6fNeZlc7bNspEtYD4d0fwEr%2BJwKoZ5IG%2FqS4xggoZHTHQUtbCr5a%2BM0Wno06nvgPLjIJ5gCi0mCe9qhbXWCbf52zGtp72M%2FWda3NFMliDE9spLfyOnXdJOt3yxwyXHLJBNQTZauWJkb%2BN5xk1TtE%2BgLQdVI3bTtXvJ2G9Ma51O6znYwIBssQn1kqyQKbthYpgf305T5pBHB3pkdKKV%2B4SeJtDYYoj3KCzYz72LGG2YQzgPmP2S6K10t15JCnBPadLckyCTABsuYACm715xSX2teCDKz0hWrmWnKFO6Hu3ly650ZTT4aqYv4HYQnMYDPg1cw08Y%2FiJvJLmw4oihS0MaVsEck4gtzC4uliJlY9JRIxsxxlpGz5KX%2FcQ8oiCbL0pMrDTFbWtCjWZsgMsQm43Swv22kPNWn7%2BZ2%2FIH4P%2F92%2FMzz%2F%2BdP74iwP%2Fg4%2B9n%2F8b&RelayState=85FCD17531B58A76E699F20CD820475F&Signature=pO7tO5Ha0nVypTPhd0TL1BuXAOedkpEJ7IpsZ%2F246ir7OCWKZlDW%2FItsr63PUmvq3R1VW4XKTvZD4V%2Fdz9pz1RXd9ZdftExkXIIH1RFTeNcyX2Lp4ioT3iFuX3asXrBT5kNgZorv4ivLcrE94CQb9T6OXQCcmwAbKORZHXZirfTblWxgOkjKsZ8rCz4a0xPNAlgynbLJyuK%2Bbj7xDkz6K7%2BxMsEqppBHYVFLRQ2lkrKlYL1RCfVkhFnoB%2FpBDI1F970wG6bESupexgPuFC41GHl0Ry56U%2FjvZsvfatBhhVu4sJj0AJgDh13XvQup9I6WaiE8VS8cnvs8rD9GuZ3YKA%3D%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1 HTTP/1.1" 200 505
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:29 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:29 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:29 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:42 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 3001
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:42 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2475
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:42 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6188
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:50 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2104
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:52:50 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:53:31 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVjZsqNWsv2VitOPijrMCE5UVQfzKDEjiZcbzPO8AcHXX5VddtvXPdgd93WTK3OtXAlK7S9%2Ff7bNpzWd5rLvvr4h7%2FDbp7SL%2B6Ts8q9vnit%2Bpt7%2B%2Fu3LHLYNOnwwCyg6Ox2XdAafXsBu%2Fvj5yde3Zeo%2B%2BnAu548ubNP5A8QfDnPRP9B3%2BGOYetDHffP2iZnndAKvUlzfzUubTk46rWWcerb%2B9a0AYJg%2FIKhsyvCDwnEMipLpc5K2%2Fed5gL4Xgux0Hl7I9O0T%2F6JQdiH4ifYvyLRMPmdT3wH0fQbvL%2FR7kkLpE
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:53:31 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:53:31 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:10:53:31 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:03:51 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVhX06TYkf0rHZ8eiW68%2B2J6FEAVvvCueNnAFabwHn79MjMtaWal1UqKfb2kOXkyb2Zyf%2Frz3tRf1mycyq79%2FgF%2Fgz6%2BZG3SpWWbf%2F9wHf4r9fHnn3%2BaoqZG%2Bk9mmYvWyoYlm%2BYvl2I7ff725fvHMrafXTSV02cbNdn0OSefNvNQP5Fv0Gc%2FdnOXdPXHF2aasnG%2BXHFdOy1NNtrZuJZJ5lrq949invvpEwTLuow%2BKQxDwTgdv6ZZ032devAXR6CVTf2lmX18uV0Qyjaaf4X9F82sTL%2B%2Bxq6dkW%2FT%2FO3S%2FpZmYNZHH1%2F4bkyyX%2BF%2F%2F5jH5TIg3b5%2F%2FBdJkERKYCiBInRMxjiExhESkwlJvbKMxpBLbDKiaSrX7PvHK6p%2F8SxN05JJ7TRH7fz9A4Fg9CuEf0UQB6I%2FIfQTo7%2FhJBZ%2BfDF%2BRM2W7W9s%2FjOK4t%2BEpk%2FRcYyvVpaWY5bMH1%2B8v2TmEvr4kYfPXxGMv0%2FAPzce%2FYX1j5%2F%2FnuOLs2%2FzRWZSl1k7f5v6CIJ%2FAn%2Fv6K%2Fpv%2B9z1v4CZ%2Fr5p0vt894m49HPWfr7uvir0A98l%2BBvCbq8xlP5LV7a9Ne0SDfwimi%2Fqu1vhm7RHP3Q%2B%2BXDXxW3bfu2od%2B6MQcRCIJBCAMvqUviTx9fnKPP%2FgXBe501V4D%2Fw%2BWF85HNRZd%2BYeq8G8u5aP4FW1E2wQj1NYmTj38TLfjzT%2Bn0qWSH1L66H7rp9L9oQiBE%2F6KZTmX%2Bp7%2Fj6jLybzr%2F%2Fwh9nKKvXZT1X5v8Bfcfv4ZzK%2FMr8f%2BisT8ENRUR%2FPHv0XAxCP7DMH5Ex5V9kY2%2FFNIfDryoXrKftbUGLAvLnzKoQTfjMIbGQ1sOXUILtw%2FZ8H2JeCNYAHdLybjJCLEP338zxRJBDwfGVrGO9bp0MiXvIbzGHxxKSTnz%2FfsPSL939Yej3%2BCAf5fA6%2Bxv5fB3Afxn6f09CBzciu1Q90WlWLO5uSXG%2BvuzU2PhYFrm4qAbWA7O895jJOGiOfFWmDWMul1E8dWnvMEh5muNsNBYsh3DO2aTPYRpSrZRweEgNtPDkuxosPQUp4N1Vk6z2XY86GWjitBtzgAsH6h%2BuPOGQ%2FW7PyTu5gaogkNnzXCUk6386DJcokHhEw9gBTPqCxcEeTYVD3Vx8nt1atVQPVtg5oRBVypbIsZnMHuriOZ1QL1R%2BVXRClWoEw9WFiFnaW9YeuBMZvs83mFpJYhzLok1WupOvuXWHxK6OB%2FMCeegpRwAS2Q%2B3fCVmb5BGyWjMH7ih10ALndSrV%2BJxtupF25H6vhNdgzz9HWIwwZqAtyYRGyC5wv9LaT8uQx7uMEKb7dOxoN9a7KLRp0AKlxSh9cT7BspgsNNhV1MCkTF7FM53CwYxMLhRowedXXhKX9aN%2BR2Ww%2FDXwp1mPKQk4MguaXsU206mwP0d8rpDZMC8aFh0aSFWBI%2BgBu0bQh9ErvEo92QyeWWeeVwqAW6QH77mhvj7i4tQByCLLwOksJPQWfOM8DkuhasSFhRS7X3ZjBsa%2BiHZzaTmctllcFJd0YkjgIg%2BY1scWN4H9Y4GlSpqIJ2b3J59sezzswq4E5PPQcxa0zj5gk84e3NOKrBTR4B1yhnvdWEFsPjicAKbY19gXdfIaBDMwtHGSrEapIIqSmagWz6QJIXeefNzZjBcfxe8ODFchEChLYHLpjmBq6oO5s%2BWugOsajW9kjR4k14cF6uPkmXYAYvL%2FardMVKE9SKN8%2BMKuXMXzhYyswQPN0kH8No1%2BKHvMybDB1LVbEPrXh1XBiPCQTJyL5ct0UuDp%2FFXvaObfUj66Umu09Umy%2FGKJBuhZm3kS0gIznT%2BzPawpNx8SfCsdP97YuilzuKvizAyPiNTmwqroqEycnqq8icaXrABdG8trca4f01DXt7wdbGXBrrRkzmVFo1%2BzSso0u7o0H8yXqMgULn4mvl9qs0sJWOEBizG0kjjQGn6kpl91iWNQSHBiB4tYQG5GLsugqmqpQwVvdXu6DkBCIYR46CoKBDUyehGk2EpPCy5niuHpMeBRR6cPqKK2%2B4YRui61NeMQIqC4so%2FRBfXVZVSpc6jGFGdN9sd8p7bHBXN7RfwjIvcYpuSeYJRf7LCOKUfbNTv0aSBj%2BBk1t7uzYe1WLfKc0x73FPj9muPnJjqM8BEJ6sm7JeJxRZt7X31W1jpGug0o5BZqwIjTAe5Ci%2BGp8gu6vdL%2Be04mGp7hJtIWIYgY6at94SPU7Arf26LJCdE3upVUAynRMtUfFAydZadxrXPFV6eg%2BoJDOkTIPhve9ho6NaAGYJG3McEBGIiizyO%2FmaxIQuHUPOUExUk4KvJaDOT1DOnqCO5AFXocEsvybkFF5vxM9JlEIVZkLfMokMaPLwd5kIvR1gDZcRsDqU4U51Ipt8d4EP09pm39ma9jgM9phpG1USJW0Ii2CBEkFsvDEw7bVKb52Ey7CN1F3t23yLsqpUd%2FaUsaRMC5IZpjBCr2FViPbtfJ7AtamJHCgSFGiW1WOQ6gWDTzREg6ezFzfgbkJCjWKKmaYesfh52fO7i6jlvWqalQaXRRnMGIA70BdQ13DB9dUTSHRenc06ZGKFm1vjvgbjEeNrkBNT%2BUtbWodmCIG1fdxOnAUKtKdSytIY626GKgqxcDsGges4Vp749yH2DTBljhviE0BuMfVa8%2FKiJxwkkfLW4gJ80qX%2BNDtAydx4XHnr4ZmYQANrcE%2FA99t8r9A7SR0i5HYthaMmmT2XD96mDXnOJr0Uo1Py%2BcooB0I32lM8uMq4%2FOkY4sSX9vpOCrmDFRBmRwM28tLozD0umCdc8C5zZje9OlUpN1U%2BU%2Fgk4Zqcd8oUAzswktU23d6KPjW9jW45uNoyEZkOEbdYrh7dqjM1t7e9toQPca8093UAcw0sCyk%2F0k7CZAod4cmyJQTwA%2Bdobm9qHyu2keF9l2ZtA%2FWQ1I4bQQzeWuCyw48Ft3fFveICQhosFJ7RvmVZDeJ7GQ%2Fhievc5SLfLEfTih6PMRayNYoQas0PZKfPRrJIqA1EBL7Tde3fI3%2BGuPuE8Myox5mL%2BCAfckFHm0xcPoFwfQLW0nlUq7XFfq0n5ISS1ZLCAC1QT6AYPOPWbTBpTyLeqBICeZhTOhU2Nf501kO50XN7bU%2B5Fmf0s7pDjmbu43wCUlc7KUbwOiOOutDuUxEjrSjOppPvrZP4%2Bx0pWSrEb3S4qjtDA9YIgehZ5ilBDXqzc8o03xJAkMYsWDa%2FNvPAC%2FRGJPuYf8JX5wbp%2B110ev%2FFUAx1UA0%2FWlvTPtS5CRhdr9S1v0YhFJCLT6OTXXlRjlIa%2FzZRLALGeXs8Z4U4MVjTJx7GgGq79cx9YmjCLwagFI8FyjVp3TMw5M4XPZVPRt%2Bu3mLXauftC%2FSE8SzaocmOxUSllnvmk6%2FjUG66S4Pkvr%2FxJkK6LUe9kjZBkjRKfpRL5STUEJIKOSARayIqHXqOvYzt1Xt4OyA1THJycRD2T6HshjDS0dl5JQMWSaL%2F%2BuWOtE5UxSX%2B2E6FQvHpXI8eH18zJ3sbvHD0zhkHeXv0dgutGZGwz0yP7XV4yeLc1M3K04%2FtjqLWIhsrSWGbXQnVM4yL2701bhIeeid8HyhAmI0NTObCWRIqZFt2lGIBsu9gGENaqASUlxA%2BmfSMKwCmIkaxkuw1UIukISkITuqLdUZbNKS7PJUHOm5F1i743FupPZP2Iw9dYwt3%2BR7bYj7PBxaZ%2BXpfuFgJfdlEd3%2FbyWDGmKUbxiK5Gn5l748nnzfmW8EHx9ANh805400dcwp6bA2oAnrr1gk05FsvIK18KrOnPeGD0gTDQVuWaN8uLW7j2bzgjNwq3Z19vT6VWuf1p3Eg2jiWZbyltW66J%2F24T1oXIT7AspSVMQjIPnkCq0nrmpf4il3bB47TNqYAkyBYgzjTSp1qSYq7FNTNkGBdt5lnbH5%2BHqZCr3WGSOWG06FaA%2FdqFm%2B0W4uJjhSJwr5O2BUVSuyt60qyAvvSnqhEpTt%2FzQEtsuy8EzUePchTjrMb%2FrD38YnYdNsz6nNiFSTeKl6AcImBWeEBCpW0wmoZd7URPWYRHN08JnTYxZoXKZ0SY10Np3o7lg9p62NnDQdx2CuqOule%2FAHfEEpFNCDZYjftnaeiEjzdvbP1RY4Yv8Oy936Gk9GtNvKswlXGfLkAIXwZQc80te1VlQJhLQcSQkGcFbcl3O4bR6X%2B66DTHAjiwO%2BtEIng7upXgoDKZHswiKSbMuDKmu9D23MeGPLBm8pLmmImHeZXDccuR0F2vPk9gIfgEbw0hNcETJQEEQZGuwHbR%2BKDwbmGcPMWxTORx65yBy9aNNLpYlCL036og2JTzfqgRWElKnqUTQsilE1XMdqMql0e3NanjXRAIaW%2Finjb7lp6tq5wrT9b9GrIwKRfGN1lBFBr9dgTE43SL%2B1%2Ba2WFJM%2FzQbwbWdKACGXnupVIQ8fag5K16L4sD3zkqfgsSEi1RIvPMvxxP0zucStJLR6rXKHaZeUASq5x%2BzwFQRcNznn%2FZ%2F%2BQPw7%2F79eYn3%2B86fzxFQf8Bw97P%2F83&RelayState=85FCD17531B58A76E699F20CD820475F&Signature=pIJolmAjQOsKBUmedCTmcaFdycDvfvQbzkcsol6RJ7KXcAxtQJPcAj9MmWHscXjR0Vr%2BLD1UmmUTyK4zMYyaIufJptN3krYn2ESF8p7Nc2n8%2B87gvtySu1j79lsJoCQ8zpUykuut3hnenK5ZvoRroxg0s2qtlZ4nm1xp7VuyLdaiTy3bM7mz1FM2tNJ23G85d%2FWrTS0Zkdq31mkLyvYLPGqwuEY2HWpGMM%2BCEBy6bHFoypVfB3AZfF46LeTV%2B32PBUNaMG94QgWD4SwdFP%2B6LSnHQ3AjLCG4HkP5lXCdj7Zxu0l7bSnVBTDgVVlWhg8Oo%2FgwsYr%2BHbtp3deU%2BVz8dw%3D%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1 HTTP/1.1" 200 505
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:03:51 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:03:51 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:03:51 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:03:51 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2128
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:03:51 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:04:54 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?S
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:04:54 +0100" "POST /PSKRepositoryService/PSKRepositoryService HTTP/1.1" 200 337
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:04:54 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 1916
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:04:54 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6536
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:05:36 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 3001
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:05:36 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2475
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:05:36 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 6188
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:05:44 +0100" "POST /PAOSService/PAOSService HTTP/1.1" 200 2104
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:05:44 +0100" "POST /samlp/Authn/EPA HTTP/1.1" 302 0
"192.168.129.22" "NULL-AUTH-USER" "22/May/2013:11:05:56 +0100" "GET /samlp/profile/SAML2/Redirect/SSO?SAMLRequest=rVhXs6RGlv4rHXceib54Cm509wS%2BoKCAwvOygTeF98WvX1pqaaTVGGliXzOP%2BY4%2FmV%2F%2Bvjf1pzUdp7Jrv77B79Dbp7SNu6Rs869vtiV8Jt%2F%2B%2Fu3LFDY10n%2FQy1y0j3RY0mn%2BdDK208fPN1%2FflrH96MKpnD7asEmnjzn%2BMGlV%2BUDeoY9%2B7OYu7uq3T%2FQ0peN8qmK7dlqadDTTcS3j1H4oX9%2BKee6nDxAs6zL8IDEMBaNk%2FJykTfd56sHvisBHOvUnZ%2Fr2iTshlG04%2FwT7F860TD5nY9fOyPs0v5%2Fc70kKpn349knoxjj9Cf7Xt3lcTgES9%2FXtf2ISTlEYTuAkwbEIIpEozZAsItKEyCjsgp5kkx5OU7mmX9%2BysP6uWZqmJZXaaQ7b%2BesbAsHoZwj%2FjCAWRH1A%2BAdOvCMIFbx90n9YzZTtz978dy6KfiaaPq6WpX9%2BpEk5pvH89sn5JTIn0duPOHz8hGD8bQD%2BvfDwF6%2B%2Fffujj0%2Bfvc%2BnM%2BO6TNv5fepDCP4C%2FlbRr%2BHn9zltv8OZvn052T74Nh5f%2FZwmv82LX4l%2B4DsJfw7QqTWayvdoaZOfwiJx4GnRfmbbPwRx4Rz%2B4Pt%2B8Svjtm3vG%2FrejTmIQBAMQhh4Up0Uf3v7ZL369E8Q8nXanAb%2BH5UnTjWdiy75RNd5N5Zz0fwJWWE6wQj5OY7it7%2BIFvz2JZk%2BbulLarPuB28y%2FQtOCISo75

Comment by Shing Wai Chan [ 03/Jul/13 ]

The accesslog is in web container. Can you show us the steps for generating requests that causing the above errors.

Comment by psytester [ 05/Jul/13 ]

Hello,

I'm not sure about what you need in detail.
But for a retest, please create an application which is able to receive GET and POST requests (and which will proper answer).
For the GET Request you may send some senceless content, but is has to be a large contet length.

The AccessLog buffer needs to be filled with the small POST and large GET requests before it is flushed.
Finnaly the large GET request does not fit into the remaining buffer (accessLogBufferSize) and while the buffer is flushed to the file due to accessLogBufferSize/accessLogWriterInterval settings, we catch the BufferOverflowException.





[GLASSFISH-20710] Set domain for sso-cookie. Created: 18/Jul/13  Updated: 24/Apr/14

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

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

any


Tags: cookie, domain, sso, sso-cookie

 Description   

There is no way to set domain for sso-cookie.

I have tried hacking by intercepting response#addCookie, response#addHeader or any other possible method, but the org.apache.catalina.authenticator.AuthenticatorBase is not provided with my wrapped ServletResponse.



 Comments   
Comment by pljosh [ 20/Jul/13 ]

Here is my (ugly) workaround:

private void setupSsoCookieDomain(HttpServletResponse response) {
    if (domainName == null || domainName.indexOf('.') == -1) {
        return;
    }
    boolean first = true;
    for (String cookie : response.getHeaders("Set-Cookie")) {
        if (cookie.startsWith(SSO_COOKIE_NAME) && !cookie.contains("Domain")) {
            //insert Domain=.domain to apply cookie for any subdomain
            cookie = cookie.replace("Path=", "Domain=." + domainName + "; Path=");
        }
        if (first) {
            response.setHeader("Set-Cookie", cookie);
        } else {
            response.addHeader("Set-Cookie", cookie);
        }
        first = false;
    }
}




[GLASSFISH-20788] Order ServletContainerInitializers according to web-fragment order Created: 31/Aug/13  Updated: 31/Aug/13

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

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

Tags: order, servlet-container-initializer, web-fragment

 Description   

For context, see https://java.net/jira/browse/SERVLET_SPEC-79.

The Servlet 3.0 and 3.1 specs require no specific order for ServletContainerInitializers. This is a serious flaw in the spec, because it eliminates the ability to guarantee that certain code runs before any other code (for example, initialization of logging frameworks). In Servlet 2.5 and earlier, you could guarantee a exact ordering of startup code, but you can't do that anymore. To be clear, the spec does not prohibit the container from ordering them in a certain way, it just doesn't specify an order that should be followed.

Tomcat (confirmed), TomEE (confirmed), JBoss (confirmed), WebLogic (apparent), and WebSphere (apparent) order SCIs according to the order of the web-fragments they appear in. That way, either using <order> or <absolute-ordering>, an application can guarantee that a particular SCI will run first. GlassFish executes SCIs in the order they are returned by the ClassLoader.

I believe it would be an improvement for GlassFish and for the community as a whole if GlassFish would order SCIs according to the web-fragment order, just like the five aforementioned containers. Furthermore, since GlassFish currently copies the URL array from the ClassLoader, rips out URLs that would be excluded by the web-fragment order, then creates a NEW ClassLoader just to load SCIs using the ServiceLoader (a very clunky process, to say the least), this change would represent a major improvement to the process GlassFish uses to load SCIs, and could even improve startup performance.

Finally, I intend to lobby hard for this to be the required behavior in the Servlet 3.2 spec. If GlassFish 3 and 4 implemented this behavior, it would make the argument more compelling, and also require no changes in GlassFish 5 once Servlet 3.2 is finalized.

(FYI: I am filing similar enhancement requests for Resin and Jetty.)






[GLASSFISH-20842] X-Forwarded-Proto not honored by glassfish 4.0 Created: 02/Oct/13  Updated: 26/Nov/14

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

Type: Bug Priority: Major
Reporter: marcos_sakamoto Assignee: oleksiys
Resolution: Unresolved Votes: 7
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux and Windows


Issue Links:
Relates
relates to GLASSFISH-18685 X-Forwarded-Proto not honored by glas... Resolved
Tags: ssl-offload

 Description   

I'm using a NginX server as a SSL terminating proxy and set the following HTTP headers:

Host: <NginX host>
X-Forwarded-Proto: https

In Glassfish I set the following property:

asadmin set server.network-config.protocols.protocol.http-listener-1.http.scheme-mapping=X-Forwarded-Proto

Glassfish ignores the X-Forwarded-Proto and uses HTTP to build HttpServletRequest.getRequestURL() or evaluate HttpServletRequest.getScheme() and HttpServletRequest.isSecure()

I've tested on both Glassfish 3.1.2.2 and Glassfish 4.0 and on Glassfish 3.1.2.2 works like a charm!
But it's not working on Glassfish 4.0! Seems a regression? (Similar issue https://java.net/jira/browse/GLASSFISH-18685)



 Comments   
Comment by frederickkaempfer [ 06/Oct/14 ]

The issue still exists on Glassfish 4.1. Probably the patch in GLASSFISH-18685 was never ported to the 4.x branch.

Comment by juliohm1978 [ 06/Oct/14 ]

I can't express how disappointing that is. We were waiting for 4.1 hoping this would be fixed in the official release

Comment by smillidge-c2b2 [ 07/Oct/14 ]

If you have the patch available I can see if we can get it into a Payara build and upstream into a later GlassFish

Comment by notabenem [ 25/Nov/14 ]

I really need this patched in GF4.1 / payara. After a long-long search, I have finally found the patch needed (hopefully).
It was committed against Grizzly 1.9.50 and likely backported to 1.9.46 (based on the zips attached to GLASSFISH-18685).

The ticket in question with the corresponding commits is the following: GRIZZLY-1281
Commits: 6b35876, 42089bc and 58ce8c4
Note, it was committed against 1.9.50. Apparently (according to GIT), these fixes were not applied to branch 2.2.x (and thus neither to 2.3.x)

PS: I created a patch (created from those commits), but can't upload it here.

Comment by smillidge-c2b2 [ 25/Nov/14 ]

I've created this to see if we can help out and test this https://github.com/payara/Payara/issues/75

Comment by notabenem [ 26/Nov/14 ]

One more thing: I noticed the fix(es) for GRIZZLY-1281 were also included in the main trunk. Commits: e54698c and ed7de1e.
According to the git log, these commits made their ways to the 'master' branch, but never into the '2.3.x' branch from which the Glassfish 4.1 branch was forked.
BTW: not sure how the 2.3.x branch was kept up to date. The first commit in this branch after 8/6/2012 (commit e54698c) is from 3/6/2013 (a year later, commit: 09d8c82) and even that commit was not a squashed commit of all changes from master. Strange. Seems like a completely isolated branch from master

Comment by smillidge-c2b2 [ 26/Nov/14 ]

I would also suggest you raise the issue within the Grizzly project as the fix needs to go into Grizzly rather than GlassFish.

Comment by notabenem [ 26/Nov/14 ]

Check out the Payara issue linked above for the pull-request to have this solved. I also have a patched nucleus-grizzly-all.jar, but can't attach it here.
The related GRIZZLY issue is GRIZZLY-1720





[GLASSFISH-20868] Alternate Docroot does not work as server property Created: 23/Oct/13  Updated: 23/Oct/13

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

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

Ubuntu(64) jdk1.7.0_17 non-clustered



 Description   

Glassfish 4 build 89 jdk1.7 Ubuntu::
Server property: alternatedocroot_1 from=/exports/* dir=/apps/myApp
"166.34.148.150" "NULL-AUTH-USER" "22/Oct/2013:15:04:56 -0700" "GET /exports HTTP/1.1" 404 1082
Expected results is a directory listing

Glassfish 3.1.1 (build 12) clustered, jdk1.6, Solaris::
Does not work as server configuration or application property.
Server property results in 404.
Application property results in Invalid alternate_docroot from=/exports/* dir=/apps/myApp

Works in glassfish 2.1.1 on Solaris jdk1.5 in clustered environment

Does not matter how many times the cluster and server is bounced.



 Comments   
Comment by Shing Wai Chan [ 23/Oct/13 ]

There is no support for directory listing for alternated docroot.
http://docs.oracle.com/cd/E19798-01/821-1752/geqpl/index.html

Comment by UncleMoose [ 23/Oct/13 ]

So how do you get this added back? It works in version 2.1.1?





[GLASSFISH-20872] Update DefaultServlet to leverage non-blocking APIs added in Servlet 3.1. Created: 24/Oct/13  Updated: 24/Oct/13

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

Type: Improvement Priority: Major
Reporter: Ryan Lubke Assignee: Shing Wai Chan
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Per the summary.






[GLASSFISH-20917] a wrong implementation for web-fragment.xml with <distributable/> issue Created: 06/Dec/13  Updated: 09/Jun/14

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

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

fail with both Glassfish 3 and 4 version



 Description   

If a web application contains with a jar (for example Spring 3.2.2 version) that enables the attribute <distributable/> in the web-fragment.xml, this setting will cause glassfish server run in cluster environment.

You may refer to this fixed in Spring's tracker - https://jira.springsource.org/browse/SPR-10219

To reproduce this issue is to save a non-serializable object to session attribute, for example

<%
   session.setAttribute( "test", new java.io.ByteArrayOutputStream(20) );
%>

Note that the web.xml doesn't specify the <distributable/>.



 Comments   
Comment by Shing Wai Chan [ 09/Jun/14 ]

The implementation matches the spec.
The spec seems to have an issue here.
I have filed a spec issue as follows:
https://java.net/jira/browse/SERVLET_SPEC-89





[GLASSFISH-20932] Error occurs when default-web-module is set. Created: 17/Dec/13  Updated: 12/Feb/15

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

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

OS
Windows 7 Enterprise (Service Pack 1)

JDK
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21) Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

GlassFish build: glassfish-4.0.1-b02-07_22_2013



 Description   

Reproducible operational steps:

1) deploy a web application e.g. HelloServlet.war
asadmin deploy c:\tmp\HelloServlet.war
Application deployed with name HelloServlet.
Command deploy executed successfully.

2) set default-web-module to HelloServlet
asadmin set server.http-service.virtual-server.server.default-web-module=HelloServlet
server.http-service.virtual-server.server.default-web-module=HelloServlet
Command set executed successfully.

3) set http-listener-1.http.max-post-size-bytes
asadmin set server.network-config.protocols.protocol.http-listener-1.http.max-post-size-bytes=2000
server.network-config.protocols.protocol.http-listener-1.http.max-post-size-bytes=2000
Command set executed successfully.

4) error occurs in server.log

[2013-12-17T16:29:08.916+1100] [glassfish 4.0] [SEVERE] [AS-WEB-GLUE-00115] [javax.enterprise.web] [tid: _ThreadID=145 _ThreadName=pool-50-thread-1] [timeMillis: 1387258148916] [levelValue: 1000] [[
Exception processing HttpService configuration change
org.apache.catalina.LifecycleException: java.lang.Exception: No context matching /HelloServlet deployed on virtual server server
at com.sun.enterprise.web.WebContainer.updateDefaultWebModule(WebContainer.java:2340)
at com.sun.enterprise.web.WebContainer.updateHost(WebContainer.java:3157)
at com.sun.enterprise.web.reconfig.WebConfigListener$1.changed(WebConfigListener.java:156)
at org.jvnet.hk2.config.ConfigSupport.sortAndDispatch(ConfigSupport.java:331)
at com.sun.enterprise.web.reconfig.WebConfigListener.changed(WebConfigListener.java:132)
at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:400)
at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:390)
at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:280)
at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:278)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.Exception: No context matching /HelloServlet deployed on virtual server server
at org.glassfish.grizzly.http.server.util.Mapper.addDefaultContext(Mapper.java:791)
at org.glassfish.grizzly.http.server.util.Mapper.setDefaultContextPath(Mapper.java:755)
at com.sun.enterprise.web.WebContainer.updateDefaultWebModule(WebContainer.java:2332)
... 13 more
]]

5) get http-listener-1.http.max-post-size-bytes
asadmin get server.network-config.protocols.protocol.http-listener-1.http.max-post-size-bytes
server.network-config.protocols.protocol.http-listener-1.http.max-post-size-bytes=2000
Command get executed successfully.



 Comments   
Comment by jifeng [ 13/Jan/14 ]

Hi
Shing Wai Chan
xianwu

After a few investigation about the source, I found the exact precise place where the failure happens:

org.glassfish.grizzly.http.server.util.Mapper
private void addDefaultContext(Host host, String defaultContextPath)
            throws Exception {

        boolean defaultContextFound = false;

        Context[] contexts = host.contextList.contexts;

        if (contexts != null) {
            for (Context context1 : contexts) {
                if (context1.name.equals(defaultContextPath)) {
                    host.defaultContexts[0] = context1;
                    defaultContextFound = true;
                    break;
                }
            }
        }

        if (!defaultContextFound) {
            throw new Exception("No context matching " + defaultContextPath
                                + " deployed on virtual server "
                                + host.name);★
        }
    }

I have debuged the 'Mapper' class and found the [context.name] object has never been valued。

The [context.name] object's initialization processing as follows:

package com.sun.enterprise.v3.services.impl.ContainerMapper
private final static String ROOT = "";★
protected void configureMapper() {
    ......
    try {
    ....
         mapper.addContext(defaultHostName, ROOT★,
                    new ContextRootInfo(this, null),
                    new String[]{"index.html", "index.htm"}, null);
    ....
        } finally {
            mapperLock.writeLock().unlock();
        }
}

org.glassfish.grizzly.http.server.util.Mapper
public void addContext
            (String hostName, String path★, Object context,
            String[] welcomeResources, NamingContext resources,
            List<AlternateDocBase> alternateDocBases) {
    ......
    newContext.name = path;★//the [context.name] object's 
                             //value always equals to ""
    ......
 }
Comment by jifeng [ 24/Jan/14 ]

Hi
Shing Wai Chan
xianwu

I modify the following code, it works fine,could you please confirm it and give me some suggestions?

package com.sun.enterprise.v3.services.impl.ContainerMapper
@@ -69,6 +69,8 @@
 import org.glassfish.grizzly.http.util.MimeType;
 import org.glassfish.internal.grizzly.ContextMapper;
 import org.glassfish.kernel.KernelLoggerInfo;
+import com.sun.enterprise.config.serverbeans.ConfigBeansUtilities;
+import com.sun.enterprise.config.serverbeans.VirtualServer;
 
 /**
  * Container's mapper which maps {@link ByteBuffer} bytes representation to an  {@link HttpHandler}, {@link
@@ -148,7 +150,7 @@
         try {
             mapper.setDefaultHostName(defaultHostName);
             mapper.addHost(defaultHostName, new String[]{}, null);
-            mapper.addContext(defaultHostName, ROOT,
+            mapper.addContext(defaultHostName, getContextRoot(),
                     new ContextRootInfo(this, null),
                     new String[]{"index.html", "index.htm"}, null);
             // Container deployed have the right to override the default setting.
@@ -157,7 +159,29 @@
             mapperLock.writeLock().unlock();
         }
     }
-
+    
+    private String getContextRoot() {
+        String defaultWebModule = null;
+        String contextRoot = null;
+        Collection<VirtualServer> list = grizzlyService.getHabitat().getAllServices(VirtualServer.class);
+        ConfigBeansUtilities cbu = grizzlyService.getHabitat().getService(ConfigBeansUtilities.class);
+        for (VirtualServer virtualServer : list) {
+            if (virtualServer.getId().equals(defaultHostName)) {
+                defaultWebModule = virtualServer.getDefaultWebModule();
+                if (cbu == null) {
+                    contextRoot = null;
+                }
+                else {
+                    if (defaultWebModule != null) {
+                        contextRoot = cbu.getContextRoot(defaultWebModule);
+                    }
+                }
+                break;
+            }
+        }
+        return contextRoot == null ?ROOT:contextRoot;
+    }
+   
Comment by oleksiys [ 17/May/14 ]

IMO ContainerMapper has nothing to do with the problem. I think the problem occurs because WebContainer tries to set default web module even before this module is registered/deployed in the Mapper. The registration sequence has to be fixed in WebContainer.

Comment by bradvido [ 12/Feb/15 ]

I have this problem as well in 4.1.
I have a virtual server set up with a default web module defined. Whenever I update the settings for the network-listener that the virtual server uses, I get the same error. Moreover, the server becomes unresponsive and starts returning zero-length responses for all HTTP requests. Only a restart fixes it.





[GLASSFISH-20988] session replication occasionally not work on different physical machine Created: 18/Feb/14  Updated: 18/Feb/14

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

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

JDK1.7, Glassfish 3.1.2,apache 2.4.4



 Description   

I create a cluster using above mentioned enviroment. In this cluster, we have two different physical machine. We name them instance1 and instance2.
But the session replication between the two physical machine occasionally doesn't work. When the login request is sent to instance1, a session is created and the authentication information is stored in this session. When another new request for query data is forwarded by apache server to the instance2, the ssesion of instance1 is not correctly replicated from instance1. So there is no authentication information in instance2. Then the new request cannot query data from instance2.

I read before reported bugs for GF 3.1.1, and it indicates that this session replication lost bug has been fixed in GF 3.1.2. But for us, this bug is still exist. How can we fix this issue.

This is our glassfih-web.xml

<glassfish-web-app error-url="">
<context-root>/</context-root>

<session-config>
<session-manager persistence-type="replicated">
<manager-properties>
<property name="persistenceFrequency" value="time-based"/>
<property name="reapIntervalSeconds" value="30"/>
<property name="relaxCacheVersionSemantics" value="true"/>
</manager-properties>
<store-properties>
<property name="persistenceScope" value="session"/>
</store-properties>
</session-manager>
</session-config>
</glassfish-web-app>






[GLASSFISH-21009] The behavior of --timeout-seconds is not in line with the document Created: 19/Mar/14  Updated: 30/Oct/14

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

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

Tags: 4_0_1-approved, licbug

 Description   

One licensee found a contradicting behavior in Java EE 7 RI if 0 is set at
--timeout-seconds on command asadmin create-http.

There is such a description in GlassFish Reference Manual.

GlassFish Server Open Source Edition
Reference Manual Release 4.0
Page 1-77.
https://glassfish.java.net/docs/4.0/reference-manual.pdf

--timeout-seconds
The maximum time in seconds for which a keep alive connection is kept
open. A value of 0 or less means keep alive connections are kept open
indefinitely. The default is 30.

However, In Java EE 7 RI the connection is terminated immediately if
0 is set at --timeout-seconds which means 0 second is used.

It seems there is an inconsistent implementation in RI.

To reproduce.

1. Set following configurations
asadmin start-domain
asadmin create-protocol --securityenabled=false http-1
asadmin create-http --timeout-seconds 0 --default-virtual-server server http-1
asadmin create-network-listener --listenerport 7272 --protocol http-1 --enabled=true http-listener-3

The following config is set.
[domain.xml]
<protocol name="http-1">
<http timeout-seconds="0" default-virtual-server="server">
<file-cache></file-cache>
</http>
</protocol>

2. Connect the server
telnet 127.0.0.1 7272

You can see the connection is terminated immediately.



 Comments   
Comment by timmaher [ 30/Oct/14 ]

It gets even worse if you set the web session-timeout to 0 using the 4848 admin console.
Where previously there was no timeout entry in domain.xml when the timeout was set to 1800.
Saving 0 in the admin console results in the following:-
<web-container>
<session-config>
<session-manager>
<manager-properties></manager-properties>
<store-properties></store-properties>
</session-manager>
<session-properties timeout-in-seconds="0"></session-properties>
</session-config>
</web-container>
This is guaranteed to bomb all connections, including the admin console with a 500.
The only repair is to go into the domain.xml and reset the value to 1800 (I haven't tried removing it instead).





[GLASSFISH-21043] Glassfish 4 admin gui class loading issue when built from source (as at svn revision 63170) Created: 17/Apr/14  Updated: 19/Sep/14

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

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

Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 23:51:28+1000)
Maven home: /opt/local/share/java/maven3
Java version: 1.7.0_55, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: utf-8
OS name: "mac os x", version: "10.9.2", arch: "x86_64", family: "mac"


Tags: admin-gui

 Description   

The default domain starts without error. Attempting to access the admin application fails with the root cause being failure to locate com.sun.webui.jsf.faces.UIComponentELResolver.
The class in question exists within $INSTALL_ROOT/lib/install/applications/__admingui/WEB-INF/extra/webui-jsf-4.0.2.10.jar and was compiled using the same JDK I am using to start the container.

Root cause:

The current source for sun-web.xml in the __admingui module contains the following:

<class-loader delegate="true"
extra-class-path="WEB-INF/extra/webui-jsf-suntheme-4.0.2.10.jar
:WEB-INF/extra/dojo-ajax-nodemo-0.4.1.jar
:WEB-INF/extra/webui-jsf-4.0.2.10.jar
:WEB-INF/extra/commons-fileupload-1.1.1.jar
:WEB-INF/extra/commons-io-1.3.1.jar
:WEB-INF/extra/json-1.0.jar
:WEB-INF/extra/prototype-1.5.0.jar" />

com.sun.enterprise.glassfish.web.WarHandler.configureLoaderAttributes() does not strip whitespace characters when splitting extra-class-path into path elements.
See com.sun.enterprise.glassfish.web.WarHandler:286 for details.

Consequently at line 310:
URL url = file.toURI().toURL();

the spaces are URL encoded as %20 before passing the string to:
cloader.addRepository(url.toString());

which then silently fails to add the jar to the classpath.
Strangely addRepository(String) converts the string back to a URL before passing it (eventually) to URLClassPath.addURL(). I don't have the source for this class but it evidently doesn't like the trailing encoded whitespace characters, because after this call returns the classpath has not changed.

A patch for the issue is attached to https://www.java.net/forum/topic/glassfish/glassfish/glassfish-4-admin-console-class-loading-issue-when-built-source where the problem was first reported.



 Comments   
Comment by Dave Whitla [ 17/Apr/14 ]

When reviewing my changes to commit the fix (to my git clone) I noticed that the reformatting of sun-web.xml had actually been done automagically by my IDE (IntelliJ).
This explains the issue not affecting others.

While the conditions were thus self inflicted, I think this is still a latent bug.
The documentation does state that the extra-class-path consists of path elements separated by ':' or ';' with no explicit allowance for whitespace. However whitespace at the end of a path is perfectly valid and failure to handle it robustly is a future problem. Further, the root cause failure is silent in the shipped configuration, giving new users/developers no clue at all as to why their application fails to load.

Request that you apply the patch.

Comment by Anissa Lam [ 17/Apr/14 ]

Thanks for filing and debugging the issue.
The suspect code is in web container, I am transferring this to that team for further evaluation.
If we can't load the console, then this is very critical and we will need to upgrade this to P2 and need to be fixed for 4.0.1.

Comment by Dave Whitla [ 18/Apr/14 ]

Hi Anissa,

You may have missed that I already have a fix and that, on further analysis, this does not affect all users as first suspected - indeed it is a bit of an edge case.
I would attach my patch but I don't seem to have permissions to attach files to this bug report.

Please see the link in my original report for the patch I have created for this issue.

Comment by Anissa Lam [ 18/Apr/14 ]

Yes, looks like our comments cross each other, with 2 min. difference.
The web container team will make the decision on how to proceed with the bug.
thanks.





[GLASSFISH-21055] Provider a way to access SSO Session ID right after login using HttpServletRequest.login Created: 01/May/14  Updated: 01/May/14

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

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

Tags: SSOSessionID

 Description   

When SSO enabled. Sometime we need to get SSO Session ID right after we call HttpServletRequest.login(username, password). This method will change SSO Session ID internally but there is no way to access the new value of SSO session ID in Java code right after HttpServletRequest.login(username, password) called.

Suggested solution: use request attribute name "javax.servlet.request.sso_session_id" to store new SSO session id when login method called.






[GLASSFISH-21057] CLONE -Provider a way to access SSO Session ID right after login using HttpServletRequest.login Created: 01/May/14  Updated: 01/May/14

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

Type: New Feature Priority: Major
Reporter: anjinappa Assignee: Shing Wai Chan
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: SSOSessionID

 Description   

When SSO enabled. Sometime we need to get SSO Session ID right after we call HttpServletRequest.login(username, password). This method will change SSO Session ID internally but there is no way to access the new value of SSO session ID in Java code right after HttpServletRequest.login(username, password) called.

Suggested solution: use request attribute name "javax.servlet.request.sso_session_id" to store new SSO session id when login method called.






[GLASSFISH-21067] ClassCastException: org.glassfish.web.ha.session.management.ReplicationWebEventPersistentManager cannot be cast to org.apache.catalina.session.StandardManager Created: 18/May/14  Updated: 18/May/14

Status: Open
Project: glassfish
Component/s: load_balancer, web_container
Affects Version/s: 4.1_b05
Fix Version/s: None

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


 Description   

I have a cluster with 2 instances. When I deploy a web module on the cluster level and enable the option "Availability", the following exception occurs:

java.lang.Exception: java.lang.ClassCastException: org.glassfish.web.ha.session.management.ReplicationWebEventPersistentManager cannot be cast to org.apache.catalina.session.StandardManager
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:168)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:352)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:500)
at com.sun.enterprise.v3.server.ApplicationLifecycle.enable(ApplicationLifecycle.java:2169)
at com.sun.enterprise.v3.server.ApplicationLifecycle.enable(ApplicationLifecycle.java:113)
at com.sun.enterprise.v3.server.ApplicationConfigListener.enableApplication(ApplicationConfigListener.java:272)
at com.sun.enterprise.v3.server.ApplicationConfigListener.handleOtherAppConfigChanges(ApplicationConfigListener.java:223)
at com.sun.enterprise.v3.server.ApplicationConfigListener.transactionCommited(ApplicationConfigListener.java:170)
at org.jvnet.hk2.config.Transactions$TransactionListenerJob.process(Transactions.java:365)
at org.jvnet.hk2.config.Transactions$TransactionListenerJob.process(Transactions.java:356)
at org.jvnet.hk2.config.Transactions$ListenerNotifier$1.call(Transactions.java:213)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.jvnet.hk2.config.Transactions$Notifier$1$1.run(Transactions.java:167)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

It seems that the webapp cannot be started because of this line (com.sun.enterprise.web.WebModule:1752):

StandardManager manager = (StandardManager) getManager();

http://grepcode.com/file/maven.java.net/content/groups/promoted/org.glassfish.main.web/web-glue/4.0.1-b01/com/sun/enterprise/web/WebModule.java#WebModule.loadSessions%28java.util.Properties%29

`getManager()` returns a reference of type `org.glassfish.web.ha.session.management.ReplicationWebEventPersistentManager`, whereas it doesn't inherit from `org.apache.catalina.session.StandardManager`.






[GLASSFISH-21069] Clustered application does not work without web.xml Created: 23/May/14  Updated: 23/May/14

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

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

glassfish 4, AWS Linux


Tags: cluster, clustered, web-xml

 Description   

I was testing out a cluster setup on AWS and was getting errors trying to run bare bones application on the cluster. I was getting 200 OK responses, but no content for any request to my application:

[ec2-user@ip-10-0-0-248 glassfish]$ curl -v http://10.0.0.248:28080/simple/

  • Hostname was NOT found in DNS cache
  • Trying 10.0.0.248...
  • Connected to 10.0.0.248 (10.0.0.248) port 28080 (#0)
    > GET /simple/ HTTP/1.1
    > User-Agent: curl/7.36.0
    > Host: 10.0.0.248:28080
    > Accept: /
    >
    < HTTP/1.1 200 OK
    < X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition 4.0 Java/Oracle Corporation/1.7)
  • Server GlassFish Server Open Source Edition 4.0 is not blacklisted
    < Server: GlassFish Server Open Source Edition 4.0
    < Date: Fri, 23 May 2014 18:47:44 GMT
    < Content-Length: 0

Looking at the logs for the node instances, I saw these for every request to the application:
[2014-05-23T18:41:16.728+0000] [glassfish 4.0] [WARNING] [realmAdapter.noWebSecMgr] [javax.enterprise.system.container.web.com.sun.web.security] [tid: _ThreadID=21 _ThreadName=http-listener-1(4)] [timeMillis: 1400870476728] [levelValue: 900] [[
WEB9100: No WebSecurityManager found for context simple-1.0-SNAPSHOT/simple-1_0-SNAPSHOT]

No errors during deployment or any other warnings. I could access the root context welcome page for both cluster instances fine. In order for the application to work I needed to add a (basically empty) web.xml. After that, and a redeploy it worked on the clustered instances fine.

Also, I was able to deploy this to non-clustered instance (the DAS managing the cluster) and it worked fine.



 Comments   
Comment by ender01 [ 23/May/14 ]

Also, I can't seem to create an attachment, but the example application was a new Maven based web application created through Netbeans 8.0. It was simply created and built, no changes or anything else added to it. Going to the context should bring up 'Hello World'.





[GLASSFISH-21083] CDI and Tag File with Parameter Creates Memory Leak Created: 09/Jun/14  Updated: 07/Oct/14

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

Type: Bug Priority: Major
Reporter: slominskir Assignee: kchung
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

If you have CDI enabled and a tag file with an object parameter you get a memory leak where the object that is passed in accumulates in memory each time you view the page. Dump memory with jvisualvm or jmap and look for the object you passed in.

Similar to, but not the same as: GLASSFISH-18650. I can confirm that GLASSFISH-18650 is indeed fixed based on the attached test case, but it differs from this bug in that it doesn't use parameters.



 Comments   
Comment by slominskir [ 09/Jun/14 ]

I have a simple test case, but I don't see an option to attach it. I've instead attached it to the forum thread discussing the leak: https://www.java.net/forum/topic/glassfish/glassfish/glassfish-4-memory-leak. Alternatively you can create a simple test case by extending the test case attached to GLASSFISH-18650 to include a parameter of "java.util.List" which contains a bunch of some object that you create with a well known name and can search for when you do a heap dump.

Comment by douglassm [ 17/Jul/14 ]

I have the same problem. If i reload the .war application, in console administration, the memory is collected.

Comment by smillidge-c2b2 [ 03/Aug/14 ]

I've tested with the latest 4.1 builds and the problem still exists.

Comment by smillidge-c2b2 [ 03/Aug/14 ]

Adding the following raw commit to our copy of the glassfish src tree fixes the memory leak but will need reviewing by the GlassFish team

From ce3fb85d642323fa73ba9f3430556fbbb7882e09 Mon Sep 17 00:00:00 2001
From: Steve Millidge <smillidge-AT-c2b2.co.uk>
Date: Sun, 3 Aug 2014 16:16:07 +0100
Subject: [PATCH] Added destroy managed object to fix leak of CDI beans


.../src/main/java/com/sun/enterprise/web/jsp/ResourceInjectorImpl.java | 1 +
1 file changed, 1 insertion

diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/jsp/ResourceInjectorImpl.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/jsp/ResourceInjectorImpl.java
index 0ddd30f..c5953db 100644
— a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/jsp/ResourceInjectorImpl.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/jsp/ResourceInjectorImpl.java
@@ -116,6 +116,7 @@ public class ResourceInjectorImpl implements ResourceInjector {
if (desc != null) {
try

{ injectionMgr.invokeInstancePreDestroy(handler, desc); + injectionMgr.destroyManagedObject(handler); }

catch (Exception e) {
String msg = _rb.getString(EXCEPTION_DURING_JSP_TAG_HANDLER_PREDESTROY);
msg = MessageFormat.format(msg, handler);

1.8.5.2

Comment by smillidge-c2b2 [ 03/Aug/14 ]

Essentially the TagPoolHandler creates a new TagHandler via the ResourceInjector which creates a new tag handler instance as a managed object;

public <T extends JspTag> T createTagHandlerInstance(Class<T> clazz)
throws Exception

{ return webModule.getWebContainer().createTagHandlerInstance( webModule, clazz); }

However when the TagHandler calls release and then preDestroy on the ResourceInjector it never destroys the ManagedBean (TagHandler) therefore added an explicit call to destroy the managed object after preDestroy methods are called.

public void preDestroy(JspTag handler) {
if (desc != null) {
try

{ injectionMgr.invokeInstancePreDestroy(handler, desc); //line below fixes GLASSFISH-21083 injectionMgr.destroyManagedObject(handler); }

catch (Exception e)

{ String msg = _rb.getString(EXCEPTION_DURING_JSP_TAG_HANDLER_PREDESTROY); msg = MessageFormat.format(msg, handler); _logger.log(Level.WARNING, msg, e); }

}
}

Comment by kchung [ 04/Aug/14 ]

Thanks for the patch. I've committed the patch to the trunk.

Comment by smillidge-c2b2 [ 05/Aug/14 ]

Hi

Reviewing my patch I'm not sure injectionMgr.invokeInstancePreDestroy should be called as well as injectionMgr.destroyManagedObject(handler); as I think destroyManagedObject; calls preDestroy internally. I haven't tested it though.

Steve

Comment by mauritz.lovgren@hotmail.com [ 05/Aug/14 ]

Is there any chance whatsoever that this fix could make it into 4.0.1 final, or is it already too late?

Comment by kchung [ 06/Aug/14 ]

smillidge-cb: I think you are right. If you look at the source in appserver/common/container-common/src/main/java/com/sun/enterprise/container/common/impl/util/InjectionManagerImpl.java, you'll see that in the method destroyManagedObject calls managedBeanMgr.destroyManagedBean() if it is a managed beans, otherwise it calls invokeInstancePreDestroy(). So we need to remove the call to invokePreDestroy, else if it is not a managed bean, invokeInstancePredestroy will be called twice.

Please do more tests and let me know.

mauritz.lovgren, I'm trying to get the fix in 4.0.1, but time is running out.

Comment by smillidge-c2b2 [ 07/Oct/14 ]

This is in the 4.1 source tree so should be closed as resolved.





[GLASSFISH-21084] Call to HttpServletResponse.flushBuffer() has no effect on GFv4 b89 Created: 10/Jun/14  Updated: 10/Jun/14

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

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

Tags: HttpServletResponse

 Description   

Calling HttpServletResponse#flushBuffer does not flush the Buffer to the Client.






[GLASSFISH-21085] Secure flag is missing from availability cookies JSESSIONIDVERSION and JREPLICA Created: 11/Jun/14  Updated: 11/Jun/14

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

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

glassfish running on debian linux with nginx frontend.



 Description   

This only happens with the cookies when availability is enabled. Otherwise those cookies aren't shown at all.

Secure flag is correct when the first query is made:

$ curl -ki https://localhost:8443/TestingTool1/

HTTP/1.1 200 OK
X-Powered-By: JSP/2.2
Server: GlassFish Server Open Source Edition 3.1.2.2
Set-Cookie: JSESSIONID=af5568c7921b8990e1273ef1e5c1; Path=/TestingTool1; Secure; HttpOnly
Set-Cookie: JSESSIONIDVERSION=2f54657374696e67546f6f6c31:0; Path=/TestingTool1; Secure; HttpOnly
Set-Cookie: JREPLICA=i1; Path=/TestingTool1; Secure; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en
Transfer-Encoding: chunked
Date: Wed, 11 Jun 2014 12:44:32 GMT

but when the JSESSIONID is given in request, it is no longer in the response headers but the JSESSIONIDVERSION and JREPLICA are and without Secure-flag:

$ curl -ki -b "JSESSIONID=af5568c7921b8990e1273ef1e5c1; JSESSIONIDVERSION=2f54657374696e67546f6f6c31:0; JREPLICA=i1;" https://localhost:8443/TestingTool1/

HTTP/1.1 200 OK
X-Powered-By: JSP/2.2
Server: GlassFish Server Open Source Edition 3.1.2.2
Set-Cookie: JSESSIONIDVERSION=2f54657374696e67546f6f6c31:1; Path=/TestingTool1; HttpOnly
Set-Cookie: JREPLICA=i1; Path=/TestingTool1; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en
Transfer-Encoding: chunked
Date: Wed, 11 Jun 2014 12:46:20 GMT

Could it be that when the cookie comes in request, the object is not created correctly so that it is marked isSecure (we've put in the cookie-properties that all cookies should be secure)?

if I remember correctly from OutputBuffer, there's a check on JSESSIONIDVERSION that if JSESSIONID is secure, then JSESSIONIDVERSION is also secured, but in this case I suppose that as it came from browser/in request it is not marked secure.

Not sure if this is major bug or not as it doesn't affect the applications but this does affect Security of applications.






[GLASSFISH-21107] When uploading a large file using an async servlet, after 30 seconds it throws an InterruptedByTimeoutException Created: 26/Jun/14  Updated: 10/Dec/14

Status: Open
Project: glassfish
Component/s: configuration, grizzly-kernel, web_container
Affects Version/s: 4.1_b07
Fix Version/s: None

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

Windows 7 64 bit, Java JDK 1.7.0u60 64 bit Glassfish 4.0.1b7 nightly build downloaded on 2014-06-25



 Description   

I created an async servlet for users to upload files, that way the inputstream is buffered without having to load the whole file in memory, as there can be very big files uploaded.

When trying out to upload a 4.6GB file, after 30 seconds, the servlet enters the onError(Throwable t) method with the exception:

Severe:   java.nio.channels.InterruptedByTimeoutException
	at org.apache.catalina.connector.InputBuffer.disableReadHandler(InputBuffer.java:324)
	at org.apache.catalina.connector.Request.asyncTimeout(Request.java:4418)
	at org.apache.catalina.connector.Request.processTimeout(Request.java:4469)
	at org.apache.catalina.connector.Request.access$000(Request.java:156)
	at org.apache.catalina.connector.Request$6.onTimeout(Request.java:4300)
	at org.glassfish.grizzly.http.server.Response$SuspendTimeout.onTimeout(Response.java:2131)
	at org.glassfish.grizzly.http.server.Response$DelayQueueWorker.doWork(Response.java:2180)
	at org.glassfish.grizzly.http.server.Response$DelayQueueWorker.doWork(Response.java:2175)
	at org.glassfish.grizzly.utils.DelayedExecutor$DelayedRunnable.run(DelayedExecutor.java:158)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

Warning:   Context path from ServletContext:  differs from path from bundle: /
WARN:   WELD-000715: HttpContextLifecycle guard not set. The Servlet container is not fully compliant.

Now, I already configured Glassfish for longer timeouts on both Configurations-> server-config -> Network Config -> Network Listeners -> http-listener-1 -> HTTP So that timeout: -1, Connection upload timeout: 3600000 (1 hour), Request Timeout: -1, Max Post Size: -1

And on Configurations-> server-config -> Network Config -> Transports -> tcp so that Read Timeout: 3600000 (1 hour), Write Timeout: 3600000 (1 hour)

Now, AFAIK, because it's an NIO timeout exception, just by changing the tcp read and write timeout to 1 hour should avoid the issue, but still, the exception happens exactly 30 seconds later, as if the timeout configurations are being ignored.

I saw previous issues on grizzly ignoring the read and write timeouts, but they where closed as fixed in mid. 2013 so it shouldn't be an issue now.

For reference, here's my domain.xml:

<domain log-root="${com.sun.aas.instanceRoot}/logs" application-root="${com.sun.aas.instanceRoot}/applications" version="7">
  <security-configurations>
    <authentication-service default="true" name="adminAuth" use-password-credential="true">
      <security-provider name="spcrealm" type="LoginModule" provider-name="adminSpc">
        <login-module-config name="adminSpecialLM" control-flag="sufficient" module-class="com.sun.enterprise.admin.util.AdminLoginModule">
          <property name="config" value="server-config"></property>
          <property name="auth-realm" value="admin-realm"></property>
        </login-module-config>
      </security-provider>
      <security-provider name="filerealm" type="LoginModule" provider-name="adminFile">
        <login-module-config name="adminFileLM" control-flag="sufficient" module-class="com.sun.enterprise.security.auth.login.FileLoginModule">
          <property name="config" value="server-config"></property>
          <property name="auth-realm" value="admin-realm"></property>
        </login-module-config>
      </security-provider>
    </authentication-service>
    <authorization-service default="true" name="authorizationService">
      <security-provider name="simpleAuthorization" type="Simple" provider-name="simpleAuthorizationProvider">
        <authorization-provider-config support-policy-deploy="false" name="simpleAuthorizationProviderConfig"></authorization-provider-config>
      </security-provider>
    </authorization-service>
  </security-configurations>
  <managed-job-config></managed-job-config>
  <system-applications>
    <application context-root="" location="${com.sun.aas.installRootURI}/lib/install/applications/__admingui" directory-deployed="true" name="__admingui" object-type="system-admin">
      <module name="__admingui">
        <engine sniffer="web"></engine>
        <engine sniffer="security"></engine>
      </module>
    </application>
  </system-applications>
  <resources>
    <jdbc-resource pool-name="SamplePool" jndi-name="jdbc/sample"></jdbc-resource>
    <jdbc-resource pool-name="__TimerPool" jndi-name="jdbc/__TimerPool" object-type="system-admin"></jdbc-resource>
    <jdbc-resource pool-name="DerbyPool" jndi-name="jdbc/__default" object-type="system-all"></jdbc-resource>
    <jdbc-connection-pool datasource-classname="org.apache.derby.jdbc.EmbeddedXADataSource" res-type="javax.sql.XADataSource" name="__TimerPool">
      <property name="databaseName" value="${com.sun.aas.instanceRoot}/lib/databases/ejbtimer"></property>
      <property name="connectionAttributes" value=";create=true"></property>
    </jdbc-connection-pool>
    <jdbc-connection-pool datasource-classname="org.apache.derby.jdbc.ClientDataSource" is-isolation-level-guaranteed="false" res-type="javax.sql.DataSource" name="DerbyPool">
      <property name="PortNumber" value="1527"></property>
      <property name="Password" value="APP"></property>
      <property name="User" value="APP"></property>
      <property name="serverName" value="localhost"></property>
      <property name="DatabaseName" value="sun-appserv-samples"></property>
      <property name="connectionAttributes" value=";create=true"></property>
    </jdbc-connection-pool>
    <connector-connection-pool max-pool-size="250" steady-pool-size="1" name="jms/__defaultConnectionFactory-Connection-Pool" resource-adapter-name="jmsra" connection-definition-name="javax.jms.ConnectionFactory"></connector-connection-pool>
    <connector-resource pool-name="jms/__defaultConnectionFactory-Connection-Pool" jndi-name="jms/__defaultConnectionFactory" object-type="system-all-req"></connector-resource>
    <context-service jndi-name="concurrent/__defaultContextService" object-type="system-all"></context-service>
    <managed-executor-service jndi-name="concurrent/__defaultManagedExecutorService" object-type="system-all"></managed-executor-service>
    <managed-scheduled-executor-service jndi-name="concurrent/__defaultManagedScheduledExecutorService" object-type="system-all"></managed-scheduled-executor-service>
    <managed-thread-factory jndi-name="concurrent/__defaultManagedThreadFactory" object-type="system-all"></managed-thread-factory>
    <jdbc-connection-pool datasource-classname="org.apache.derby.jdbc.ClientDataSource" res-type="javax.sql.DataSource" name="SamplePool">
      <property name="DatabaseName" value="sample"></property>
      <property name="User" value="app"></property>
      <property name="Password" value="app"></property>
      <property name="URL" value="jdbc:derby://localhost:1527/sample"></property>
      <property name="PortNumber" value="1527"></property>
      <property name="serverName" value="localhost"></property>
    </jdbc-connection-pool>
  </resources>
  <servers>
    <server name="server" config-ref="server-config">
      <application-ref ref="__admingui" virtual-servers="__asadmin"></application-ref>
      <application-ref ref="VegosPortal" virtual-servers="server"></application-ref>
      <resource-ref ref="jdbc/__TimerPool"></resource-ref>
      <resource-ref ref="jdbc/__default"></resource-ref>
      <resource-ref ref="jms/__defaultConnectionFactory"></resource-ref>
      <resource-ref ref="concurrent/__defaultContextService"></resource-ref>
      <resource-ref ref="concurrent/__defaultManagedExecutorService"></resource-ref>
      <resource-ref ref="concurrent/__defaultManagedScheduledExecutorService"></resource-ref>
      <resource-ref ref="concurrent/__defaultManagedThreadFactory"></resource-ref>
      <resource-ref ref="jdbc/sample"></resource-ref>
    </server>
  </servers>
  <nodes>
    <node node-host="localhost" name="localhost-domain1" type="CONFIG" install-dir="${com.sun.aas.productRoot}"></node>
  </nodes>
  <configs>
    <config name="server-config">
      <system-property description="Port Number that JMS Service will listen for remote clients connection." name="JMS_PROVIDER_PORT" value="7676"></system-property>
      <http-service>
        <access-log></access-log>
        <virtual-server id="server" network-listeners="http-listener-1,http-listener-2"></virtual-server>
        <virtual-server id="__asadmin" network-listeners="admin-listener"></virtual-server>
      </http-service>
      <iiop-service>
        <orb use-thread-pool-ids="thread-pool-1"></orb>
        <iiop-listener id="orb-listener-1" port="3700" address="0.0.0.0" lazy-init="true"></iiop-listener>
        <iiop-listener id="SSL" port="3820" address="0.0.0.0" security-enabled="true">
          <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl>
        </iiop-listener>
        <iiop-listener id="SSL_MUTUALAUTH" port="3920" address="0.0.0.0" security-enabled="true">
          <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" client-auth-enabled="true"></ssl>
        </iiop-listener>
      </iiop-service>
      <admin-service system-jmx-connector-name="system" type="das-and-server">
        <jmx-connector port="8686" address="0.0.0.0" auth-realm-name="admin-realm" name="system">
          <ssl client-auth="want" classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl>
        </jmx-connector>
        <property name="adminConsoleContextRoot" value="/admin"></property>
        <property name="adminConsoleDownloadLocation" value="${com.sun.aas.installRoot}/lib/install/applications/admingui.war"></property>
        <property name="ipsRoot" value="${com.sun.aas.installRoot}/.."></property>
        <das-config></das-config>
      </admin-service>
      <connector-service></connector-service>
      <transaction-service tx-log-dir="${com.sun.aas.instanceRoot}/logs"></transaction-service>
      <batch-runtime-configuration></batch-runtime-configuration>
      <jms-service default-jms-host="default_JMS_host" type="EMBEDDED">
        <jms-host port="${JMS_PROVIDER_PORT}" host="localhost" name="default_JMS_host"></jms-host>
      </jms-service>
      <ejb-container>
        <ejb-timer-service></ejb-timer-service>
      </ejb-container>
      <web-container>
        <session-config>
          <session-manager>
            <manager-properties></manager-properties>
            <store-properties></store-properties>
          </session-manager>
          <session-properties></session-properties>
        </session-config>
      </web-container>
      <rest-config></rest-config>
      <cdi-service></cdi-service>
      <diagnostic-service></diagnostic-service>
      <security-service>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="admin-realm">
          <property name="file" value="${com.sun.aas.instanceRoot}/config/admin-keyfile"></property>
          <property name="jaas-context" value="fileRealm"></property>
        </auth-realm>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="file">
          <property name="file" value="${com.sun.aas.instanceRoot}/config/keyfile"></property>
          <property name="jaas-context" value="fileRealm"></property>
        </auth-realm>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate"></auth-realm>
        <jacc-provider policy-provider="com.sun.enterprise.security.provider.PolicyWrapper" name="default" policy-configuration-factory-provider="com.sun.enterprise.security.provider.PolicyConfigurationFactoryImpl">
          <property name="repository" value="${com.sun.aas.instanceRoot}/generated/policy"></property>
        </jacc-provider>
        <jacc-provider policy-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyProvider" name="simple" policy-configuration-factory-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyConfigurationFactory"></jacc-provider>
        <audit-module classname="com.sun.enterprise.security.ee.Audit" name="default">
          <property name="auditOn" value="false"></property>
        </audit-module>
        <message-security-config auth-layer="SOAP">
          <provider-config provider-type="client" provider-id="XWS_ClientProvider" class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="dynamic.username.password" value="false"></property>
            <property name="debug" value="false"></property>
          </provider-config>
          <provider-config provider-type="client" provider-id="ClientProvider" class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="dynamic.username.password" value="false"></property>
            <property name="debug" value="false"></property>
            <property name="security.config" value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml"></property>
          </provider-config>
          <provider-config provider-type="server" provider-id="XWS_ServerProvider" class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="debug" value="false"></property>
          </provider-config>
          <provider-config provider-type="server" provider-id="ServerProvider" class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="debug" value="false"></property>
            <property name="security.config" value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml"></property>
          </provider-config>
        </message-security-config>
        <message-security-config auth-layer="HttpServlet">
          <provider-config provider-type="server" provider-id="GFConsoleAuthModule" class-name="org.glassfish.admingui.common.security.AdminConsoleAuthModule">
            <request-policy auth-source="sender"></request-policy>
            <response-policy></response-policy>
            <property name="loginPage" value="/login.jsf"></property>
            <property name="loginErrorPage" value="/loginError.jsf"></property>
          </provider-config>
        </message-security-config>
        <property name="default-digest-algorithm" value="SHA-256"></property>
      </security-service>
      <java-config debug-options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="" classpath-suffix="">
        <jvm-options>-XX:MaxPermSize=256m</jvm-options>
        <jvm-options>-client</jvm-options>
        <jvm-options>-Djava.awt.headless=true</jvm-options>
        <jvm-options>-Djdk.corba.allowOutputStreamSubclass=true</jvm-options>
        <jvm-options>-Djavax.management.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder</jvm-options>
        <jvm-options>-XX:+UnlockDiagnosticVMOptions</jvm-options>
        <jvm-options>-Djava.endorsed.dirs=${com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}/lib/endorsed</jvm-options>
        <jvm-options>-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy</jvm-options>
        <jvm-options>-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf</jvm-options>
        <jvm-options>-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as</jvm-options>
        <jvm-options>-Xmx1024m</jvm-options>
        <jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks</jvm-options>
        <jvm-options>-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks</jvm-options>
        <jvm-options>-Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}/lib/ext</jvm-options>
        <jvm-options>-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver</jvm-options>
        <jvm-options>-DANTLR_USE_DIRECT_CLASS_LOADING=true</jvm-options>
        <jvm-options>-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory</jvm-options>
        <jvm-options>-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.shell.remote,org.apache.felix.fileinstall</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.port=6666</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.maxconn=1</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.ip=127.0.0.1</jvm-options>
        <jvm-options>-Dgosh.args=--nointeractive</jvm-options>
        <jvm-options>-Dfelix.fileinstall.dir=${com.sun.aas.installRoot}/modules/autostart/</jvm-options>
        <jvm-options>-Dfelix.fileinstall.poll=5000</jvm-options>
        <jvm-options>-Dfelix.fileinstall.log.level=2</jvm-options>
        <jvm-options>-Dfelix.fileinstall.bundles.new.start=true</jvm-options>
        <jvm-options>-Dfelix.fileinstall.bundles.startTransient=true</jvm-options>
        <jvm-options>-Dfelix.fileinstall.disableConfigSave=false</jvm-options>
        <jvm-options>-XX:NewRatio=2</jvm-options>
      </java-config>
      <network-config>
        <protocols>
          <protocol name="http-listener-1">
            <http request-timeout-seconds="-1" timeout-seconds="-1" connection-upload-timeout-millis="3600000" default-virtual-server="server" max-connections="1500">
              <file-cache></file-cache>
            </http>
          </protocol>
          <protocol security-enabled="true" name="http-listener-2">
            <http default-virtual-server="server" max-connections="250">
              <file-cache></file-cache>
            </http>
            <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" ssl3-enabled="false" cert-nickname="s1as"></ssl>
          </protocol>
          <protocol name="admin-listener">