So the program I’ve written has a semi-severe memory leak which means it needs to be restarted about once a week. Days upon days later, it still has a memory leak.
I just cannot get a handle on it, because Ruby is horrible. There are memory profiling tools and some tricks you can do in the newest version, but I’m not using the newest version because gems I require use the older version.
This basically stems from the GC being horrible and not releasing objects that are referenced by other objects, even if those objects no longer have a program context. So if an object points to a second object that points back to the original object, it never gets removed, despite nowhere from the actual program referencing them any more.
At this point, I honestly don’t even know if it’s my code, it’s quite possible it’s the external libraries I’m utilizing, in which case this will probably never be fixed.