==29910== Invalid read of size 8
==29910== at 0x4F75F0: _M_deallocate_nodes (hashtable.h:467)
==29910== by 0x4F75F0: clear (hashtable.h:1121)
==29910== by 0x4F75F0: ~_Hashtable (hashtable.h:640)
==29910== by 0x4F75F0: ~__unordered_map (unordered_map.h:43)
==29910== by 0x4F75F0: ~unordered_map (unordered_map.h:180)
==29910== by 0x4F75F0: ~hash_map (hash.h:172)
==29910== by 0x4F75F0: google::protobuf::FileDescriptorTables::~FileDescriptorTables() (descriptor.cc:606)
==29910== by 0x6212E48: __run_exit_handlers (in /usr/lib64/libc-2.17.so)
==29910== by 0x6212E94: exit (in /usr/lib64/libc-2.17.so)
==29910== by 0x61FBAFB: (below main) (in /usr/lib64/libc-2.17.so)
==29910== Address 0x702f020 is 0 bytes inside a block of size 96 free'd
==29910== at 0x4C2B131: operator delete(void*) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==29910== by 0x4F7650: deallocate (new_allocator.h:110)
==29910== by 0x4F7650: _M_deallocate_buckets (hashtable.h:509)
==29910== by 0x4F7650: ~_Hashtable (hashtable.h:641)
==29910== by 0x4F7650: ~__unordered_map (unordered_map.h:43)
==29910== by 0x4F7650: ~unordered_map (unordered_map.h:180)
==29910== by 0x4F7650: ~hash_map (hash.h:172)
==29910== by 0x4F7650: google::protobuf::FileDescriptorTables::~FileDescriptorTables() (descriptor.cc:606)
==29910== by 0x62131B9: __cxa_finalize (in /usr/lib64/libc-2.17.so)
==29910== by 0xF4C44E2: ???
==29910== by 0x40146F0: _dl_close_worker (in /usr/lib64/ld-2.17.so)
==29910== by 0x401525B: _dl_close (in /usr/lib64/ld-2.17.so)
==29910== by 0x400F2F3: _dl_catch_error (in /usr/lib64/ld-2.17.so)
==29910== by 0x52AA62C: _dlerror_run (in /usr/lib64/libdl-2.17.so)
==29910== by 0x52AA10E: dlclose (in /usr/lib64/libdl-2.17.so)