I ran into strange problem with my program that uses the shelve module to maintain program settings, which later turned out to be caused by the corrupted shelve data. It looks like the shelve module itself is not capable of detecting the data corruption. I wonder if there's anything we can do to address this issue. Thanks.