I recently upgraded an application to the newest version of SQLObject (previously it was using a version from early 2012).  This app was caching SQLObject objects in Redis to avoid querying the database for commonly used data.  But after upgrading, a bug fix released as part of SQLObject 1.2.3 broke the caching after running into unpickling errors.  With the new version of SQLObject, it was refusing to unpickle objects that were already in SQLObject's cache.  An example of the error message I received is below (which comes from main.py:1692)

eg. "Cannot unpickle User row with id=1 - a different instance with the id already exists in the cache"

I've already worked around this to keep my caching working but I was wondering what the bug was that was fixed in 1.2.3 that necessitated this change. The site only says "Fixed a bug in cache handling while unpickling." which I found ironic because it broke caching in my app. Was the bug a memory leak due to having multiple instances with the same ID in memory or was there something else? I ask because my app never seemed to experience any adverse side effects from taking advantage of this "bug".