Comparing Jenkins startup in Docker

Containers are increasingly becoming the preferred way of deploying applications. They facilitate consistency between development and operations, allow for an easy way to build layers for reuse, and make it very easy for users to try out an application without having to deal with setting up all the prerequisites. However, just because applications have moved…

Leveraging Docker for Eclipse OpenJ9

This post adds on to Dockerfile for Building and Testing OpenJ9. At Eclipse OpenJ9 we want to be able to compile & test code on different architecture and operating system combinations. However we are constrained by the number of machines we have access to, so we use Docker containers to supplement them. Docker containers are…

Gather Diagnostic Data from your Containerized Java Application on the fly

Ever tried to debug Java issues in Docker containers? How does one go about doing it? This article talks about one mechanism in Eclipse OpenJ9 that makes it a lot easier to obtain debug information from Java applications running inside Docker containers. A running OpenJ9 JVM includes mechanisms for producing different types of diagnostic data when events of interest occur. In general, the…

Eclipse OpenJ9 in Containers

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…

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…

Categoriesvm