Selvaganesan Govindarajan created TRAFODION-2853:
----------------------------------------------------

             Summary: Memory leak of ComDiagsArea in Context
                 Key: TRAFODION-2853
                 URL: https://issues.apache.org/jira/browse/TRAFODION-2853
             Project: Apache Trafodion
          Issue Type: Bug
          Components: sql-exe
    Affects Versions: any
            Reporter: Selvaganesan Govindarajan
            Assignee: Selvaganesan Govindarajan
             Fix For: 2.3-incubating


There were instances that the executor master process has more than 1 GB of 
memory account memory allocated, Looking at the size of allocation by 
traversing the heap, it was found ComDiagsArea is leaked in ContextHeap.

The heap traversal shows the addresses and the allocated size that were part of 
context Heap that was leaking

0x7fdef4cc69b8 336
0x7fdef4cc6bc8 336
0x7fdef4cc6d18 336
0x7fdef4cc6e68 336
0x7fdef4cc6fb8 336
0x7fdef4cc71e0 336
0x7fdef4cc7330 336
0x7fdef4cc7480 336

The actual address of the objects is 16 bytes from the above address

(gdb) p *(ComDiagsArea *)0x7fdef4cc69c8  
$9 = {
  <IpcMessageObj> = {
    _vptr.IpcMessageObj = 0x7fdfbe4bbc50, 
    s_ = {
      objType_ = 13501, 
      objVersion_ = 0, 
      refCount_ = 1, 
      objLength_ = 0, 
      next_ = 0x0, 
      endianness_ = 1 '\001', 
      spare1_ = 0 '\000', 
      spare2_ = 0, 
      vPtrPad_ = 0x0
    }
  }, 
  members of ComDiagsArea: 
  collHeapPtr_ = 0x7fdfb18eb128, 
  errors_ = {
    <NACollection<ComDiagsArea::DiagsCondition*>> = {
      <NABasicObject> = {
        _vptr.NABasicObject = 0x7fdfbe4bbf10, 
        h_ = 0x0
      }, 
      members of NACollection<ComDiagsArea::DiagsCondition*>: 
      maxLength_ = 0, 
      usedLength_ = 0, 
      entries_ = 0, 
      arr_ = 0x0, 
      usages_ = 0x0, 
      heap_ = 0x7fdfb18eb128
    }, 
    members of NAList<ComDiagsArea::DiagsCondition*>: 
    first_ = 111111111, 
    last_ = 111111111, 
    userIndexCache_ = 111111111, 
    arrayIndexCache_ = 111111111
  }, 
  warnings_ = {
---Type <return> to continue, or q <return> to quit---
    <NACollection<ComDiagsArea::DiagsCondition*>> = {
      <NABasicObject> = {
        _vptr.NABasicObject = 0x7fdfbe4bbf10, 
        h_ = 0x0
      }, 
      members of NACollection<ComDiagsArea::DiagsCondition*>: 
      maxLength_ = 0, 
      usedLength_ = 0, 
      entries_ = 0, 
      arr_ = 0x0, 
      usages_ = 0x0, 
      heap_ = 0x7fdfb18eb128
    }, 
    members of NAList<ComDiagsArea::DiagsCondition*>: 
    first_ = 111111111, 
    last_ = 111111111, 
    userIndexCache_ = 111111111, 
    arrayIndexCache_ = 111111111
  }, 
  newCondition_ = 0x0, 
  areMore_ = 0, 
  lengthLimit_ = 30, 
  rowCount_ = 0, 
  theSQLFunction_ = 0, 
  maxDiagsId_ = 0, 
  avgStreamWaitTime_ = -1, 
  cost_ = 0, 
  flags_ = 0, 
  rowsetRowCountArray_ = 0x0, 
  fillers_ = '\000' <repeats 59 times>
}

(gdb) (gdb) p *(NAHeap *)0x7fdfb18eb128
$10 = {
  <NAMemory> = {
    <NABasicObject> = {
      _vptr.NABasicObject = 0x7fdfc1001870, 
      h_ = 0x0
    }, 
    members of NAMemory: 
    name_ = "Heap in ContextCli\000\000", 
    type_ = NAMemory::DERIVED_MEMORY, 
    initialSize_ = 524288, 
    maximumSize_ = 18446744073709551615, 
    incrementSize_ = 4194304, 
    parent_ = 0xf18b38, 
    firstBlk_ = 0x7f3a44f75030, 
    allocSize_ = 1375405192, 
    upperLimit_ = 0, 
    highWaterMark_ = 1447646816, 
    intervalWaterMark_ = 1447646816, 
    allocCnt_ = 2837663, 
    totalSize_ = 1529356096, 
    blockCnt_ = 381, 
    thBlockCnt_ = 40, 
    segGlobals_ = 0x0, 
    memoryList_ = 0x7fdfb0e7aac0, 
    lastListEntry_ = 0x7fdeef140608, 
    nextEntry_ = 0x7fdfb18f12c8, 
    debugLevel_ = 0, 
    heapJumpBuf_ = 0xf18a30, 
    exhaustedMem_ = 0, 
    errorsMask_ = 0, 
    heapID_ = {
      heapNum = -1
    }, 




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to