Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.1.1
-
Fix Version/s: EE-4.1.0.GA, 4.2.BETA, 4.2
-
Component/s: ACE-Components
-
Labels:None
-
Environment:showcase-portlet on liferay-portal-6.2-ce-ga5
-
Assignee Priority:P1
Description
java io.NotSerializableException when removing showcase-portlet from liferay 6.2:
An exception was seen after removing the showcase-portlet folder from the webapps directory while the server was running.
Note** the tooltip component was added to the portlet page during the session.
{code}
INFO: Undeploying context [/showcase-portlet]
Jun 07, 2016 7:31:51 PM org.apache.catalina.session.StandardSession writeObject
WARNING: Cannot serialize session attribute org.icefaces.impl.application.Window
ScopeManager for session A0FE592AFDEECAA85A295B6D303D5EB2
java.io.NotSerializableException: org.icefaces.ace.component.tooltip.Tooltip
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java
:1547)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:15
08)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.HashMap.writeObject(HashMap.java:1133)
at sun.reflect.GeneratedMethodAccessor875.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:98
8)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
95)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.HashMap.writeObject(HashMap.java:1133)
at sun.reflect.GeneratedMethodAccessor875.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:98
8)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
95)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.icefaces.impl.application.WindowScopeManager$State.writeExternal(
WindowScopeManager.java:539)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:
1458)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.apache.catalina.session.StandardSession.writeObject(StandardSessi
on.java:1695)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardS
ession.java:1101)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.
java:430)
at org.apache.catalina.session.StandardManager.unload(StandardManager.ja
va:351)
at org.apache.catalina.session.StandardManager.stopInternal(StandardMana
ger.java:516)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext
.java:5719)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java
:1028)
at org.apache.catalina.startup.HostConfig.undeploy(HostConfig.java:1547)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java
:1474)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1695)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:333)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBas
e.java:1374)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.p
rocessChildren(ContainerBase.java:1546)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.p
rocessChildren(ContainerBase.java:1556)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.r
un(ContainerBase.java:1524)
at java.lang.Thread.run(Thread.java:745)
19:31:51,432 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]][HotD
eployEvent:145] Plugin showcase-portlet requires marketplace-portlet
19:31:51,532 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]][Port
letHotDeployListener:525] Unregistering portlets for showcase-portlet
19:31:51,582 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]][Port
letHotDeployListener:565] 179 portlets for showcase-portlet were unregistered
Jun 07, 2016 7:31:51 PM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
19:31:51,582 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]][Plug
inPackageUtil:1016] Reading plugin package for showcase-portlet
Jun 07, 2016 7:31:53 PM org.apache.catalina.loader.WebappClassLoader checkThread
LocalMapForLeaks
SEVERE: The web application [/showcase-portlet] created a ThreadLocal with key o
f type [org.icefaces.ace.context.RequestContext$1] (value [org.icefaces.ace.cont
ext.RequestContext$1@590c14ff]) and a value of type [org.icefaces.ace.context.De
faultRequestContext] (value [org.icefaces.ace.context.DefaultRequestContext@2836
9f05]) but failed to remove it when the web application was stopped. Threads are
going to be renewed over time to try and avoid a probable memory leak.
{code}
An exception was seen after removing the showcase-portlet folder from the webapps directory while the server was running.
Note** the tooltip component was added to the portlet page during the session.
{code}
INFO: Undeploying context [/showcase-portlet]
Jun 07, 2016 7:31:51 PM org.apache.catalina.session.StandardSession writeObject
WARNING: Cannot serialize session attribute org.icefaces.impl.application.Window
ScopeManager for session A0FE592AFDEECAA85A295B6D303D5EB2
java.io.NotSerializableException: org.icefaces.ace.component.tooltip.Tooltip
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java
:1547)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:15
08)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.HashMap.writeObject(HashMap.java:1133)
at sun.reflect.GeneratedMethodAccessor875.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:98
8)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
95)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.HashMap.writeObject(HashMap.java:1133)
at sun.reflect.GeneratedMethodAccessor875.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:98
8)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
95)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.icefaces.impl.application.WindowScopeManager$State.writeExternal(
WindowScopeManager.java:539)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:
1458)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.apache.catalina.session.StandardSession.writeObject(StandardSessi
on.java:1695)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardS
ession.java:1101)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.
java:430)
at org.apache.catalina.session.StandardManager.unload(StandardManager.ja
va:351)
at org.apache.catalina.session.StandardManager.stopInternal(StandardMana
ger.java:516)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext
.java:5719)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java
:1028)
at org.apache.catalina.startup.HostConfig.undeploy(HostConfig.java:1547)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java
:1474)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1695)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:333)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBas
e.java:1374)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.p
rocessChildren(ContainerBase.java:1546)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.p
rocessChildren(ContainerBase.java:1556)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.r
un(ContainerBase.java:1524)
at java.lang.Thread.run(Thread.java:745)
19:31:51,432 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]][HotD
eployEvent:145] Plugin showcase-portlet requires marketplace-portlet
19:31:51,532 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]][Port
letHotDeployListener:525] Unregistering portlets for showcase-portlet
19:31:51,582 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]][Port
letHotDeployListener:565] 179 portlets for showcase-portlet were unregistered
Jun 07, 2016 7:31:51 PM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
19:31:51,582 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]][Plug
inPackageUtil:1016] Reading plugin package for showcase-portlet
Jun 07, 2016 7:31:53 PM org.apache.catalina.loader.WebappClassLoader checkThread
LocalMapForLeaks
SEVERE: The web application [/showcase-portlet] created a ThreadLocal with key o
f type [org.icefaces.ace.context.RequestContext$1] (value [org.icefaces.ace.cont
ext.RequestContext$1@590c14ff]) and a value of type [org.icefaces.ace.context.De
faultRequestContext] (value [org.icefaces.ace.context.DefaultRequestContext@2836
9f05]) but failed to remove it when the web application was stopped. Threads are
going to be renewed over time to try and avoid a probable memory leak.
{code}
I haven't been able to reproduce this issue. Please provide a detailed sequence of steps on how to deploy the showcase-portlet.war and how to reproduce the issue.
I have never been able to deploy showcase-portlet.war by simply dropping the .war file inside the /webapps folder (inside /liferay-portal-6.2-ce-ga3/tomcat-7.0.42), so I can't reproduce this issue by simply removing the .war file, as the description suggests, since there's no .war file in /webapps. I've deleted the /showcase-portlet folder instead, but that produces no exceptions.
The way I deploy showcase-portlet.war is through the Liferay UI. I follow these steps to deploy it:
Then, I have to shut down Liferay, and then I delete icepush.jar from the /showcase-portlet folder, because, otherwise, an exception keeps occurring whenever I try to load a portlet from the showcase, and the portlet itself fails to load. Then, I restart Liferay and continue to work normally. Without icepush.jar, everything works as expected.