You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Johannes Zillmann (JIRA)" <ji...@apache.org> on 2015/03/12 09:55:39 UTC
[jira] [Commented] (HADOOP-11526) Memory leak in Bzip2Compressor
and Bzip2Decompressor
[ https://issues.apache.org/jira/browse/HADOOP-11526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14358328#comment-14358328 ]
Johannes Zillmann commented on HADOOP-11526:
--------------------------------------------
Question on the implications of this bug...
Given you open a couple of hundreds bzip compressed files, all mostly below 1MB, could that crash an 2.5 GB jvm with an OutOfMemory ?
> Memory leak in Bzip2Compressor and Bzip2Decompressor
> ----------------------------------------------------
>
> Key: HADOOP-11526
> URL: https://issues.apache.org/jira/browse/HADOOP-11526
> Project: Hadoop Common
> Issue Type: Bug
> Components: io, native
> Affects Versions: 2.6.0
> Reporter: Ian Rogers
> Assignee: Anu Engineer
> Fix For: 2.7.0
>
> Attachments: HADOOP-11526.001.patch, HADOOP-11526.002.patch
>
>
> The use of JNI's GetStringUTFChars should be paired with ReleaseStringUTFChars or else the utf-8 char* created by Java's JNI implementation is leaked. It isn't in Bzip2Decompressor.c:
> https://apache.googlesource.com/hadoop-common/+/refs/heads/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/bzip2/Bzip2Decompressor.c#45
> A less error-prone way of handling JNI resources like local references and UTF strings is to use a smart pointer like the Apache licensed code in Android's ScopedLocalRef and ScopedUtfChars:
> https://android.googlesource.com/platform/libnativehelper/+/jb-mr1.1-dev-plus-aosp/include/nativehelper/ScopedLocalRef.h
> https://android.googlesource.com/platform/libnativehelper/+/jb-mr1.1-dev-plus-aosp/include/nativehelper/ScopedUtfChars.h
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)