Out of memory?   DOS VSE Deja Vu. 😎

On Thursday, May 12, 2016, Fangzhou (JIRA) <j...@apache.org> wrote:

>
>      [
> https://issues.apache.org/jira/browse/ARROW-198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
> ]
>
> Fangzhou updated ARROW-198:
> ---------------------------
>     Priority: Minor  (was: Major)
>
> > OutOfMemoryError for vector test case
> > -------------------------------------
> >
> >                 Key: ARROW-198
> >                 URL: https://issues.apache.org/jira/browse/ARROW-198
> >             Project: Apache Arrow
> >          Issue Type: Bug
> >          Components: Java - Memory, Java - Vectors
> >            Reporter: Fangzhou
> >            Priority: Minor
> >
> > When executing vector component  TestValueVector test
> cases(testVariableVectorReallocation,testFixedVectorReallocation),exception
> can be seen.
> > Exception:
> > java.lang.Exception: Unexpected exception,
> expected<org.apache.arrow.vector.util.OversizedAllocationException> but
> was<org.apache.arrow.memory.OutOfMemoryException>
> > where the issue comes from:
> > public void testFixedVectorReallocation() {
> > ....
> >  try {
> >       vector.allocateNew(expectedValueCapacity);   <-- where the
> exception comes from
> > ....
> > analysis:
> > allocateNew will invoke classes from io.netty.buffer from memory
> component and finally invoke netty third party package.I assume there is no
> issue when invoking  memory  part.Then I trace that the issue is caused by
> oversizing value of initialCapacity setting when invoking
> AbstractByteBufAllocator class in third party
> netty-buffer-4.0.27.final.jar. I create a test case which can reproduces
> the issue. value of parameter initialCapacity and maxCapacity are obtained
> from debugging procedure
> > public void testAllocator(){
> >                 int initialCapacity=2147483644;
> >               int maxCapacity=2147483647;
> >               ByteBuf buf =
> UnpooledByteBufAllocator.DEFAULT.directBuffer(initialCapacity, maxCapacity);
> > }
> > And I checked the rooted affected class java.nio.Bits:
> > static void reserveMemory(long size, int cap) {
> > .....
> > if (totalCapacity + cap > maxMemory)
> >     throw new OutOfMemoryError("Direct buffer memory");
> > .....
> > maxMemory can only be set to 1836056576 at most,but cap(initialCapacity)
> was 2147483644 at this moment.
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)
>

Reply via email to