Simulating & troubleshooting StackOverflowError in Scala

This post explains how to simulate a StackOverflowError in Scala through a recursive program. The example demonstrates infinite method calls leading to the error. It discusses diagnosis methods, including manual analysis of logs and using the yCrash tool for automated analysis, which identifies error sources effectively.

Simulating & troubleshooting OOMError in Kotlin 

This content discusses simulating and troubleshooting the ‘java.lang.OutOfMemoryError: Java Heap space’ issue in Kotlin applications. It describes a sample program that causes this error by indefinitely inserting records into a HashMap. It also outlines manual and automated approaches for diagnosing the problem, emphasizing the importance of capturing heap dumps before the error occurs.

Simulating & troubleshooting StackOverflowError in Kotlin

This post discusses simulating and diagnosing StackOverflow errors in Kotlin. A sample program demonstrates how recursive calls cause this runtime error, exceeding the thread's stack size. Manual and automated approaches, including the yCrash tool, are outlined for diagnosing the error, pinpointing infinite loops and providing insights for resolution.

Simulating & troubleshooting Thread leak in Kotlin

This post explains how to simulate and troubleshoot thread leaks in Kotlin, focusing on generating a 'java.lang.OutOfMemoryError: unable to create new native thread.’ It describes a sample program that infinitely creates non-terminating threads and outlines both manual and automated approaches to diagnose and resolve the issue, emphasizing the use of tools like yCrash.

Simulating & troubleshooting BLOCKED threads in Kotlin 

This article explores how threads enter a BLOCKED state in Kotlin due to lock contention. It includes a sample program demonstrating how ten threads can be blocked when accessing a synchronized method that forces them into prolonged sleep. Additionally, it discusses methods for diagnosing blocked threads, including both manual and automated approaches using tools like yCrash.

Simulating & troubleshooting CPU spike in Kotlin

This article describes how to simulate a CPU spike in Kotlin using an example program that launches six threads running infinite loops. It explains methods for troubleshooting high CPU consumption through both manual and automated approaches, highlighting the use of the yCrash tool to identify problematic threads and code lines causing the issue.

Troubleshooting App unresponsiveness due to Oracle DB

The application experienced a slowdown when connecting to Oracle RAC due to resource constraints, impacting response times. Troubleshooting involved using the yCrash script for artifact collection and analysis, revealing that 46% of threads were blocking on database calls. The Oracle DBA confirmed resource issues, which, once resolved, restored normal application performance.

Troubleshooting deadlock in an Apache opensource library

Apache PDFBox is a Java library for handling PDF documents. A recent deadlock issue was identified, blocking two threads that were waiting for each other's resources. Troubleshooting involved capturing thread dumps and analyzing them, which led to filing a bug report with the Apache PDFBox team, who promptly addressed the issue.

Simulating & troubleshooting deadlock in Kotlin

This post discusses deadlocks in multi-threaded applications, particularly in Kotlin. It defines deadlock, illustrates it with an example involving trains, and provides a sample Kotlin program demonstrating deadlock between two threads. The post also suggests troubleshooting methods, including using thread dumps and the yCrash tool for root cause analysis.

Chaos Engineering – Metaspace OutOfMemoryError

JVM memory consists of various regions, including Young Generation, Old Generation, and Metaspace. 'java.lang.OutOfMemoryError: Metaspace' occurs when the Metaspace is full due to excessive metadata from dynamically created classes. Solutions include increasing Metaspace size or troubleshooting memory leaks. A sample program demonstrates this memory issue.