1 Reply Latest reply: Jul 30, 2014 5:56 AM by jim_b_o RSS

    "Object Allocation in New TLA" events shown in JFR

    user748966

      In our application we are getting a stuck thread and looking at the events from JFR for this stuck thread we see many object allocation events were shown. This event is followed by "Pending Allocation Request Created" and "GC Requested" .

      The "GC Requested" even is showing reason as allocation failed . These events are there for the entire duration of the stuck thread . Please let me know if there is any jvm setting could cause this issue .

       

      java.vm.version    R28.2.9-13-157938-1.6.0_65-20130920-0910-linux-x86_64

       

       

      Event:Object Allocation in New TLA

      Name    Value    Identifier    Content Type    Relational Key

      Object : Class    java.util.AbstractList$ListItr    object:class    class   

      Object : Size    32    object:size    unknown   

      TLA Size    2,624    tlaSize    unknown   

      GCs Performed    1    numGCs    count   

      Event Thread    [STUCK] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'    thread       

             AbstractList.listIterator(int) line: 315           

       

      Event: Pending Allocation Request Created

      Name    Value    Identifier    Content Type    Relational Key

      Request ID    1,950    requestId    unknown    http://www.oracle.com/jrockit/jvm/vm/gc/allocqueue/request/id

      Size    65,536    size    unknown   

      Class    Bootstrap Class Loader    class    class   

      Is TLA    true    isTla    unknown   

      Event Thread    [STUCK] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'    thread       

             AbstractList.listIterator(int) line: 315           

       

      Event: GC Requested

      Name    Value    Identifier    Content Type    Relational Key

      GC ID    1,799    gcId    unknown    http://www.oracle.com/jrockit/jvm/vm/gc/id

      Request ID    1,950    requestId    unknown    http://www.oracle.com/jrockit/jvm/vm/gc/allocqueue/request/id

      Reason    Allocation request failed    reason    count   

      Artificial Reason        artificialReason    text   

      Full GC Reason    Allocation request failed    fullReason    text   

      Event Thread    [STUCK] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'    thread       

             AbstractList.listIterator(int) line: 315           

        • 1. Re: "Object Allocation in New TLA" events shown in JFR
          jim_b_o

          A [STUCK] thread is a WebLogic managed thread that WebLogic has decided has been busy for too long.  This might be quite normal for a background process or batch process.  It does not necessarily indicate a real problem.  The object allocation and subsequent GC is also normal behaviour.

           

          So is your thread really stuck or is it just running for longer than WebLogic is configured to expect?  You can use WebLogic thread pool configurations and the CommonJ API to avoid threads being marked as [STUCK] by declaring that they are long running (and assuming you're using a new enough version of WebLogic that honours this - it used to still mark them as [STUCK]).

           

          If your thread is truly stuck it is more likely to be to do with your code than an object allocation / GC issue.