0

Seeing very strange behaviour. My code is executing well but not sure what happen, method is calling to other method but other method doesnt get called ( i cant see logs which is there in the first line of other method )

"jaxws-engine-1-thread-2" id=447 idx=0x73c tid=4031 prio=5 alive, parked, native_blocked, daemon
    at jrockit/vm/Locks.park0(J)V(Native Method)
    at jrockit/vm/Locks.park(Locks.java:2230)
    at sun/misc/Unsafe.park(ZJ)V(Native Method)
    at java/util/concurrent/locks/LockSupport.parkNanos(LockSupport.java:196)
    at java/util/concurrent/SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
    at java/util/concurrent/SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
    at java/util/concurrent/SynchronousQueue.poll(SynchronousQueue.java:874)
    at java/util/concurrent/ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:955)
    at java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
    at java/lang/Thread.run(Thread.java:682)
    at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)
    -- end of trace

Code -

  public static void startMicroSessionTimer(TimerName timerName, Data Data) {
        logger.debug("Starting a micro-timer for timer name: " + timerName);
        //Start a micro timer to process the soap response in worker thread
        SipApplicationSession applicationSession = Util.getAppSession((String)Data.get(DataAttribute.ID));
        Util. AbcTimer (applicationSession, 1L, timerName.getTimerName());
  }


public static void AbcTimer(SipApplicationSession appSession,
            long timeInMillies, String timerName) {

        logger.debug("Inside AbcTimer”);
        //Some Logic
}

Logs -

16 May 2018 09:13:07,506 [jaxws-engine-1-thread-12] DEBUG -----SOME LOGS…..
16 May 2018 09:13:07,506 [jaxws-engine-1-thread-12] DEBUG [AbcUtils] [ODhlNjQ0ZjAzMTMzN2U5MGNhMTE2MTgxOTg2MTdmYjA.] Starting a micro-timer for timer name: HAHAHA

Not able to see any log after above line for Thread jaxws-engine-1-thread-12. As per log this log Inside AbcTimer should come as it is in the starting of called method ie AbcTimer. There is no Exception occured.

I have taken ThreadDump as well which I have posted above.

Not Sure but think that it is a machine specific issue. Also google it and saw that this type of issue occurred to other people as well but i didnt get the solution.

Using below JRocket Version

java version "1.6.0_141"
Java(TM) SE Runtime Environment (build 1.6.0_141-b12)
Oracle JRockit(R) (build R28.3.13-15-173128-1.6.0_141-20161219-1845-linux-x86_64, compiled mode)
VJS
  • 2,891
  • 7
  • 38
  • 70
  • The thread dump just shows an executor thread that's waiting for a task to be run. – Kayaman May 21 '18 at 05:53
  • i waited for 15-20 seconds but i don't see my code flow going forward. Looks like its stuck. What should i do ? – VJS May 21 '18 at 05:55
  • 1
    Run it through a debugger? – Kayaman May 21 '18 at 05:56
  • Issue got solved after running through debugger. Getting some exception which was getting catch but no log was present. Bad Coding done by someone. – VJS May 24 '18 at 12:18

0 Answers0