To allow for standalone testing of WT_STORAGE_SOURCE interfaces, we added the WT_CONNECTION::get_storage_source() API. This looks up a storage source that was added by name during a wiredtiger_open call. A consequence of this is that a test application (or any application) can get a storage source object and call its terminate method. That method frees its storage. Then when WT_CONNECTION::close is called, WT also calls terminate on the storage source pointer, but it has been freed.
To reproduce, modify test_tiered06.py to call local.terminate.