"""Script demonstrating cleanup regression with weakref change Prints nothing on earlier versions, but with Python 2.7 outputs similar to: Exception TypeError: "'NoneType' object is not callable" in ignored """ import os, logging def register_handler(): """Create, add, and remove a handler, and return it""" handler = logging.StreamHandler(open(os.devnull, "w")) logger = logging.getLogger("test") logger.addHandler(handler) logger.removeHandler(handler) return handler if __name__ == "__main__": # This is a simplification, and depends on dict cleanup order logging._ref_holder = register_handler()