Ian Rogers created HADOOP-11526: ----------------------------------- Summary: Memory leak in Bzip2Decompressor Key: HADOOP-11526 URL: https://issues.apache.org/jira/browse/HADOOP-11526 Project: Hadoop Common Issue Type: Bug Components: io Reporter: Ian Rogers
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)