RSSAmplifier

Blog

Rustam Kovhaev's blog

Recent content on Rustam Kovhaev's blog

rustylife.github.ioRSS feed ↗5 posts

Latest posts

Introducing tcpdiff

Network issues analysis could be very time consuming and complicated. I’ve seen people struggle at every step along the way to the RCA, especially if they are new to troubleshooting. I know I’ve had my fair share of struggle when I was young. I have been working on a small utility that automates network issues analysis for TCP protocol. For a proper RCA of a network issue you need two…

Debugging a superblock percpu_rw_semaphore deadlock

There are many ways you can go about analyzing a kernel deadlock. While some prefer using lockdep, I find it easier to analyze a kernel dump file. The issue that has recently come up is this: [ 2335.487579] INFO: task mariadbd:1914 blocked for more than 122 seconds. ... [ 2335.489157] INFO: task peer local sock:2449 blocked for more than 122 seconds. The kernel watchdog has detected that the tasks…

Debugging a kdump kernel crash

Debugging a kernel bug could be a challenging task. Let’s say a bug lies within the memory management subsystem, slub allocator or page allocator. Depending on the debugging tools that you have chosen for troubleshooting, these tools might be calling into the mm subsystem, because they themselves need to allocate memory to show you the trace/debug output that you are interested in, and,…

Debugging a futex crash

I was enjoying my quiet afternoon, when an interesting application core has been submitted to me for research. And what made it interesting is that I did not have to load proprietary/private symbols for the application that crashed. The first thing to check is whether the file is indeed a core file, and it turns out it is not. rusty@nuc10:~/futex$ file veeamagent.0.crash veeamagent.0.crash: ASCII…

Linux kernel stack, PID 0 swapper processes

https://www.youtube.com/watch?v=Pe8FiIVAwfY