The Lazarus effect: Raising a ColdFusion server from the dead with 1 simple code change

Tuesday, February 22, 2011

My coworker (and all around good egg) Scott Stroz and I hit an interesting memory problem recently in one of our applications. The fix, and our story, is now documented, with pretty pictures.

Enjoy.

--marc

3 comments:

Styggiti said...

Marc, since you already have the tests setup for this... I wonder if the same effect is present when looping over a query and simply outputting query contents as HTML.

orangepips said...

This one is a pain in the ass. I've actually go a stackoverflow question going on it that lists your solution and, another approach, and several scenarios that produce the problem:

http://stackoverflow.com/questions/4628060/memory-leak-looping-cfmodule-inside-cffunction

Marc Esher said...

Matt,

That is darn interesting. I see that your original but was closed... are you saying that adobe closed the bug but it was not in fact fixed?

I see some of the commenters on your post saying that it's not a bug but is unfortunate behavior. If my experience shows one thing, it's that -- and I'm talking only about my case -- we now have an example where it most certainly is not unfortunate but is indeed aberrant behavior. If two different loops styles, which do the same thing, result in a) a server crashing and b) a server not crashing, then that's a bug.

Has your problem been solved satisfactorily?