ICEpush
  1. ICEpush
  2. PUSH-181

ICEpush causes no response if log level is FINE

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 3.3
    • Component/s: None
    • Labels:
      None
    • Environment:
      Windows 7, jdk 1.6.33, jboss 7.1.1

      Description

      The root cause:

      This only happens when IcePush is present, using jboss, and the log level is set to Level.FINE. Logic read from
       org.icefaces.impl.push.servlet.ICEpushResourceHandler#ICEpushResourceHandler
       

      If these conditions are met, the constructor create a BlockingICEpushResourceHandlerWrapper which blocks all method calls until the thread created in the constructor signal them.

      The problem is that within that thread created in the constructor, this method getPhaseId() is called by the JSF LifeCycleImpl and blocked. So the thread that is supposed to signal other threads get locked itself

       # this is from com/sun/faces/lifecycle/LifecycleImpl
       # http://grepcode.com/file/repository.jboss.org/maven2/javax.faces/jsf-impl/1.2_04-p02/com/sun/faces/lifecycle/LifecycleImpl.java#LifecycleImpl.addPhaseListener%28com.sun.faces.lifecycle.PhaseListener%29
       
       158 if (LOGGER.isLoggable(Level.FINE)) {
       159 LOGGER.fine("addPhaseListener(" + listener.getPhaseId().toString()
       160 + "," + listener);
       161 }
       

      And this is the stacktrace of this thread:

      "Thread-67@11079" prio=5 tid=0x5f nid=NA waiting
         java.lang.Thread.State: WAITING
        at sun.misc.Unsafe.park(Unsafe.java:-1)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitUninterruptibly(AbstractQueuedSynchronizer.java:1923)
        at org.icefaces.impl.push.servlet.ICEpushResourceHandler$BlockingICEpushResourceHandlerWrapper.getPhaseId(ICEpushResourceHandler.java:358)
        at org.icefaces.impl.push.servlet.ICEpushResourceHandler.getPhaseId(ICEpushResourceHandler.java:119)
        at com.sun.faces.lifecycle.LifecycleImpl.addPhaseListener(LifecycleImpl.java:166)
        at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResourceHandlerImpl.initialize(ICEpushResourceHandler.java:275)
        at org.icefaces.impl.push.servlet.ICEpushResourceHandler$BlockingICEpushResourceHandlerWrapper.initialize(ICEpushResourceHandler.java:431)
        at org.icefaces.impl.push.servlet.ICEpushResourceHandler$1.run(ICEpushResourceHandler.java:89)
        at java.lang.Thread.run(Thread.java:662)
       
         

        Activity

        Zag Zag created issue -
        Ted Goddard made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s EE-3.0.0.GA_P01 [ 10329 ]
        Affects Version/s 3.0 [ 10259 ]
        Ted Goddard made changes -
        Assignee Mircea Toma [ mircea.toma ]
        Ken Fyten made changes -
        Salesforce Case []
        Fix Version/s 3.2 [ 10340 ]
        Mircea Toma made changes -
        Salesforce Case []
        Fix Version/s 3.1 [ 10310 ]
        Fix Version/s EE-3.2.0.GA [ 10323 ]
        Fix Version/s EE-3.0.0.GA_P01 [ 10329 ]
        Fix Version/s 3.2 [ 10340 ]
        Ken Fyten made changes -
        Salesforce Case []
        Fix Version/s 3.2 [ 10340 ]
        Fix Version/s 3.1 [ 10310 ]
        Fix Version/s EE-3.2.0.GA [ 10323 ]
        Migration made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Migration made changes -
        Fix Version/s 3.3 [ 10374 ]
        Fix Version/s 3.2 [ 10340 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Zag Zag
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: