So, this is pretty rough and blobby at the moment, but this is what I have been working on most of today, and a bit of yesterday:

NickLaMuro/miq_tools@a078165

Basically, I can attach to a running ruby process using gdb, and use this script to monitor each malloc, calloc, etc that is made, and determine where in the ruby and c-stack they are being called from

here is an example call from the script we have been testing with that is looping and calling require 'linux_admin' (though, it was triggered by doing a ruby_eval "MiqSystem.num_cpus" in gdb... but same diff):

That specific malloc line happens 6 times in the require call, and the ruby line doesn't change either. Not terribly surprising, but I guess I was expecting to see something in there besides ActiveSupport, and I didn't.

well, mine specifically is one invocation of malloc and the stacktrace at the point of the malloc call, and that shows that it is mostly happening in c. @jrafanie's screen shot at least shows that he is getting the same callstack as well.

What that means, to me at least, is that it is somehow how the strings and our environment is setup that is messing with the ruby internals to cause the leak. At least that is the conclusion that I am at currently