ICEfaces
  1. ICEfaces
  2. ICE-11056

java io.NotSerializableException when removing showcase-portlet from liferay 6.2

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major 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}

        Activity

        Hide
        Arturo Zambrano added a comment - - edited

        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:

        • Click on the plus sign at the top left corner to open the left-hand menu.
        • Select the 'Applications' tab at the top.
        • Scroll down along the left-hand menu, and click on the button 'Install More Applications'.
        • Select the 'App Manager' tab at the top.
        • Then, select the 'Install' tab at the second level.
        • Select the 'File Upload' option.
        • Select the showcase-portlet.war file.
        • Click on the 'Install' button.
        • Wait for the portlets to be installed.

        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.

        Show
        Arturo Zambrano added a comment - - edited 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: Click on the plus sign at the top left corner to open the left-hand menu. Select the 'Applications' tab at the top. Scroll down along the left-hand menu, and click on the button 'Install More Applications'. Select the 'App Manager' tab at the top. Then, select the 'Install' tab at the second level. Select the 'File Upload' option. Select the showcase-portlet.war file. Click on the 'Install' button. Wait for the portlets to be installed. 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.
        Hide
        Liana Munroe added a comment -

        Sorry the description should not have included ".war", it happened when I removed the showcase-portlet folder from /webapps.
        When I install the showcase app on liferay I have never used the UI. I simply drop the showcase-portlet.war file into the \liferay-portal-6.2-ce-ga5\deploy folder.
        Then to the liferay-portal-6.2-ce-ga5\tomcat-7.0.62\bin folder and run startup.bat. The server takes a few mins to start then automatically opens your default browser to the liferay page. From there you must log on etc... Never have I had to stop the server or delete jars.

        I saw the exception after removing the showcase-portlet folder from /webapps. During that session I was testing the tooltip application for ICE-10949 as well as other portlet related JIRAs. I usually only place one component on a page, test it, then remove it before adding another component.

        Show
        Liana Munroe added a comment - Sorry the description should not have included ".war", it happened when I removed the showcase-portlet folder from /webapps. When I install the showcase app on liferay I have never used the UI. I simply drop the showcase-portlet.war file into the \liferay-portal-6.2-ce-ga5\deploy folder. Then to the liferay-portal-6.2-ce-ga5\tomcat-7.0.62\bin folder and run startup.bat. The server takes a few mins to start then automatically opens your default browser to the liferay page. From there you must log on etc... Never have I had to stop the server or delete jars. I saw the exception after removing the showcase-portlet folder from /webapps. During that session I was testing the tooltip application for ICE-10949 as well as other portlet related JIRAs. I usually only place one component on a page, test it, then remove it before adding another component.
        Hide
        Liana Munroe added a comment -

        Tested again with ICEfaces EE-4.1.0.GA Jenkins build 2. I was able to reproduce the io NotSerializableException with the tooltip > delegate demo.
        To reproduce.
        1.) Install the showcase-portlet.war file on liferay liferay-portal-6.2-ce-ga5. Direct steps in the comment above.
        2.) Make a new page and add the tooltip > Delegate demo to it.
        3.) Interact with the demo, mouse over the rows, select the checkbox, use the paginator etc.
        4.) From the \tomcat-7.0.62\webapps directory remove the showcase-portlet folder. The server error will be shown.

        Show
        Liana Munroe added a comment - Tested again with ICEfaces EE-4.1.0.GA Jenkins build 2. I was able to reproduce the io NotSerializableException with the tooltip > delegate demo. To reproduce. 1.) Install the showcase-portlet.war file on liferay liferay-portal-6.2-ce-ga5. Direct steps in the comment above. 2.) Make a new page and add the tooltip > Delegate demo to it. 3.) Interact with the demo, mouse over the rows, select the checkbox, use the paginator etc. 4.) From the \tomcat-7.0.62\webapps directory remove the showcase-portlet folder. The server error will be shown.
        Hide
        Arturo Zambrano added a comment -

        r48933: made the Tooltip component class serializable

        Show
        Arturo Zambrano added a comment - r48933: made the Tooltip component class serializable
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces 4 trunk r48933. Liferay-portal-6.2-ce-ga5.

        Show
        Liana Munroe added a comment - Verified ICEfaces 4 trunk r48933. Liferay-portal-6.2-ce-ga5.
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces EE-4.1.0.GA Jenkins build 5. Liferay-portal-6.2-ce-ga5.

        Show
        Liana Munroe added a comment - Verified ICEfaces EE-4.1.0.GA Jenkins build 5. Liferay-portal-6.2-ce-ga5.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Liana Munroe
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: