.NET Debugging Demos Lab 6: Debugging Challenge

1 minute read

Here is the debugging challenge for lab 6, this one is really tricky.

I will post the step-by-step instructions and walkthrough in about a week, but for now I will only post a problem description.

As with lab 5, your mission, should you choose to accept it, is to troubleshoot the problem with only that problem description. Post intermediate findings, questions, potential solutions etc. in the comments, and don’t worry if you go down the wrong path a couple of times (that’s just part of the debugging experience :)). Try not to peak at the code unless you have identified a problematic function during the troubleshooting process.

Btw, I realized when I started counting the problems I had introduced in the buggy bits website that there will only be 7 labs (which technically speaking is around 10, but of course it isn’t 10 :)) On the flip side I think these 7 labs account for most of the major buckets we typically troubleshoot, but I might create a new lab set at a later time.

Problem description

We have started getting OutOfMemoryExceptions on the buggy bits site and we have been able to determine a scenario in which we think we are leaking memory but we can’t seem to figure out where the memory is going.

The leak seems to be occurring on our product details page for example https://localhost:44350/Products/Details/Bugspray and we can reproduce it by stress testing.

It seems like it is leaking just a small bit every time but since it is something that customers look at a lot and over time the process will crash with an out of memory exception.

Any help is greatly appreciated!

Hint: you can use tinyget to request the page a 1000 times to generate a leak. This will not cause a major leak but should be big enough for you to troubleshoot.

The challenge is on´:) Tess

Previous demos and setup instructions

If you are new to the debugging labs, here you can find information on how to set up the labs as well as links to the previous labs in the series.