[ 
https://issues.apache.org/jira/browse/GEODE-7299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Blake Bender resolved GEODE-7299.
---------------------------------
    Fix Version/s: 1.12.0
       Resolution: Fixed

> Memory leak in PdxInstanceImpl::updatePdxStream
> -----------------------------------------------
>
>                 Key: GEODE-7299
>                 URL: https://issues.apache.org/jira/browse/GEODE-7299
>             Project: Geode
>          Issue Type: Bug
>          Components: native client
>            Reporter: Blake Bender
>            Priority: Major
>             Fix For: 1.12.0
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> The `PdxInstanceImpl::updatePdxStream` method assigns the result of 
> `DataInput::getBufferCopy` to its `m_buffer` member variable, but `m_buffer` 
> is deleted by `PdxInstanceImpl` in its destructor, implying that 
> `PdxInstanceImpl` owns the pointer, which means, in this case, that the 
> existing `m_buffer`, if there is one, is leaked in this call.  We discovered 
> that `updatePdxStream` is called on every put of a Pdx type, so in a tight 
> loop with a lot of puts we are potentially leaking _a lot_ of memory.
>  
> Repro steps:
> Run the soon-to-be-implemented `LeakPdxMemory` test in the NC integration 
> test suite.  Test will attempt to do a large number of puts of a large Pdx 
> object, and look for an out of memory exception.
>  
> Expected result:
> Test passes
>  
> Actual result:
> Test fails.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to