Tracking a Python Memory Leak

I never knew such a thing existed until recently. No garbage collector is perfect, and Python’s is no exception. It must be pretty damn good to have remained invisible to me for so long. The issue I ran into is well documented, namely, Objects can create a reference cycle that cannot be collected if two or objects in the cycle have __del__() methods.

Specifically, I ran into this using the pyFilesystem library. While not a failing of the library itself, the library makes use of __del__() methods, file systems (the major object type in this library) also reference one another.

28.11.12 | no comments | Filed Under: linux, programming

Vagrant + VirtualBox + VPN == DNS FAIL

I have been using Vagrant to manage development VMs for a few weeks now. It works great. However a recent change to my VPN client configuration caused me problems.

I selected the VPN client option to use a remote DNS server. This allows me to access remote hosts by name instead of by IP address or using an /etc/hosts file. It is convenient, but totally broke DNS resolution in my guest VMs.

I did not try to figure out the root cause, but whenever I am connected to the VPN, the guest cannot resolve any hosts. My guests use NAT networking in


twodoteau would like to use this space to support the following projects:

SmartFile - multiprotol file sharing for the masses. Firefox 3 Get Thunderbird!