0 Replies Latest reply: May 4, 2009 5:45 AM by 843829 RSS

    Thread in BLOCKED state holding lock?!

    843829
      Hi,

      in a thread dump I noticed a couple of threads waiting for locks in a ConcurrentHashMap$Segment while the one holding the lock is in BLOCKED state
      "ThreadPool OrbixWeb Request#0;thread#71" prio=10 tid=0x0000002b6f2bd400 nid=0x340a waiting for monitor entry [0x0000000041b4e000..0x0000000041b4ebb0]
         java.lang.Thread.State: BLOCKED (on object monitor)
              at EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Segment.synch(Unknown Source)
              - locked <0x0000002b3460de88> (a EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Segment)
              at EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$HashIterator.<init>(Unknown Source)
              at EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$KeyIterator.<init>(Unknown Source)
              at EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$KeySet.iterator(Unknown Source)
              at com.pironet.tools.common.caching.ItemCache.expireObject(ItemCache.java:219)
              at com.pironet.tools.common.caching.ItemCache.expireObject(ItemCache.java:228)
              at com.pironet.pb.bs.item.ItemConstant.expireAll(ItemConstant.java:1044)
              at com.pironet.pb.bs.item.ItemServerCallbackImpl.newMessage(ItemServerCallbackImpl.java:79)
              at com.pironet.pb.os.itemIDL._ItemServerCallbackSkeleton._invoke(Unknown Source)
              at com.pironet.pb.os.itemIDL._ItemServerCallbackSkeleton.invoke(Unknown Source)
              at IE.Iona.OrbixWeb.CORBA.ServerDispatcher.dispatch(ServerDispatcher.java:244)
              at IE.Iona.OrbixWeb.CORBA.ServerDispatcher.system_dispatch(ServerDispatcher.java:162)
              at IE.Iona.OrbixWeb.CORBA.BOAImpl.continueThreadDispatch(BOAImpl.java:1038)
              at IE.Iona.OrbixWeb.CORBA.ORB.continueThreadDispatch(ORB.java:422)
              at com.pironet.tools.common.orb.connections.OrbixWeb.MultiThreadEnabler.run(MultiThreadEnabler.java:77)
              at com.pironet.tools.common.multithreading.ThreadPoolThread.run(ThreadPoolThread.java:135)
      What might the reason be for this?

      Regards,
      Stefan