-
Bug
-
Resolution: Fixed
-
P4
-
8, 11, 17, 18, 19
-
b18
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8286235 | 18u-cpu | Zhengyu Gu | P4 | Resolved | Fixed | master |
JDK-8286129 | 18.0.2 | Zhengyu Gu | P4 | Resolved | Fixed | b06 |
JDK-8286108 | 17.0.5-oracle | Tobias Hartmann | P4 | Resolved | Fixed | b01 |
JDK-8286127 | 17.0.4 | Zhengyu Gu | P4 | Resolved | Fixed | b02 |
JDK-8286169 | 11.0.17-oracle | Tobias Hartmann | P4 | Resolved | Fixed | b01 |
JDK-8286128 | 11.0.16 | Zhengyu Gu | P4 | Resolved | Fixed | b02 |
JDK-8287229 | openjdk8u342 | Zhengyu Gu | P4 | Resolved | Fixed | b04 |
When Stack allocated CodeBuffer owns _overflow_arena, it works fine, because its destructor frees _overflow_arena. But if resource allocated CodeBuffer owns _overflow_arena, the arena is leaked, because its destructor is never called.
==1139627== 2,096 (96 direct, 2,000 indirect) bytes in 2 blocks are definitely lost in loss record 12,196 of 12,553
==1139627== at 0x484486F: malloc (vg_replace_malloc.c:381)
==1139627== by 0x5AE5B9E: malloc (os.cpp:656)
==1139627== by 0x5AE5B9E: os::malloc(unsigned long, MEMFLAGS, NativeCallStack const&) (os.cpp:632)
==1139627== by 0x527F216: AllocateHeap(unsigned long, MEMFLAGS, NativeCallStack const&, AllocFailStrategy::AllocFailEnum) (allocation.cpp:42)
==1139627== by 0x52887B8: Arena::operator new(unsigned long, MEMFLAGS) (arena.cpp:286)
==1139627== by 0x545E16E: CodeBuffer::create_patch_overflow() (codeBuffer.cpp:245)
==1139627== by 0x529A1BA: Label::add_patch_at(CodeBuffer*, int, char const*, int) (assembler.cpp:166)
==1139627== by 0x529ED05: Assembler::jcc(Assembler::Condition, Label&, bool) (assembler_x86.cpp:2320)
==1139627== by 0x5188724: jmpConUNode::emit(CodeBuffer&, PhaseRegAlloc*) const (x86_64.ad:12758)
==1139627== by 0x5B0759F: PhaseOutput::fill_buffer(CodeBuffer*, unsigned int*) (output.cpp:1681)
==1139627== by 0x548A7C1: Compile::Code_Gen() (compile.cpp:2858)
==1139627== by 0x548E7BC: Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*) (compile.cpp:849)
==1139627== by 0x53CD12F: C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*) (c2compiler.cpp:112)
==1139627== by 0x5496A03: CompileBroker::invoke_compiler_on_method(CompileTask*) (compileBroker.cpp:2294)
==1139627== by 0x54975FF: CompileBroker::compiler_thread_loop() (compileBroker.cpp:1967)
==1139627== by 0x5D496BD: JavaThread::thread_main_inner() (thread.cpp:1291)
==1139627== by 0x5D4F3AF: Thread::call_run() (thread.cpp:356)
==1139627== by 0x5AF0EA7: thread_native_entry(Thread*) (os_linux.cpp:706)
==1139627== by 0x4927B19: start_thread (pthread_create.c:443)
==1139627== by 0x49AB8E3: clone (clone.S:100)
- backported by
-
JDK-8286108 CodeBuffer may leak _overflow_arena
- Resolved
-
JDK-8286127 CodeBuffer may leak _overflow_arena
- Resolved
-
JDK-8286128 CodeBuffer may leak _overflow_arena
- Resolved
-
JDK-8286129 CodeBuffer may leak _overflow_arena
- Resolved
-
JDK-8286169 CodeBuffer may leak _overflow_arena
- Resolved
-
JDK-8286235 CodeBuffer may leak _overflow_arena
- Resolved
-
JDK-8287229 CodeBuffer may leak _overflow_arena
- Resolved
- relates to
-
JDK-8287537 8u JDK-8284620 backport broke AArch64 build
- Resolved
-
JDK-8336692 Redo fix for JDK-8284620
- Resolved
- links to
-
Commit openjdk/jdk8u-dev/eb5711be
-
Commit openjdk/jdk11u-dev/7d87cb78
-
Commit openjdk/jdk17u-dev/a1da138b
-
Commit openjdk/jdk18u/6cc0a752
-
Commit openjdk/jdk/4d45c3eb
-
Review openjdk/jdk8u-dev/52
-
Review openjdk/jdk11u-dev/1068
-
Review openjdk/jdk17u-dev/380
-
Review openjdk/jdk18u/114
-
Review openjdk/jdk/8172