There has been a lot of talk about Java not behaving properly when running in a docker container. Many blogs like this cover the problems that Java faces in containers. Although these talks are targeting OpenJDKs that use the Hotspot JVM, such issues are mostly applicable to Eclipse OpenJ9 too. The root cause of these problems can be attributed to the fact…
Month: June 2018
Reading Verbose JIT Logs
This article is the first in a series that provides useful information for analyzing JIT compiler operations. In this first article I’ll explain how to obtain JIT verbose logs and the basics for how to read them. A JIT verbose log is a summary of what methods were compiled by the JIT and some of…
Debugging OpenJ9 in Docker with GDB
Recently, one of my OpenJ9 commits caused intermittent segmentation faults with Open Liberty. I created the test environment to recreate the failure in a Docker container, and I decided to use GDB to further investigate and identify the source of the segmentation fault. To my surprise, I found that GDB doesn’t work by default in…