-
Type: Bug
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: WT2.6.1
-
Component/s: None
WT crypto API calls customize regardless if any encryptors have been provided in the wiredtiger_open call. That is when mongod is started without --enableEncryption.
It would be nice to check if encryptors are provided and error out if necessary.
commands used: ./mongod --enableEncryption --encryptionKeyFile key db.test.insert({a:1}) ./mongod # crash LLDB log: ➜ dev.mongo git:(SERVER-19116) ✗ lldb -- ./mongod (lldb) target create "./mongod" Current executable set to './mongod' (x86_64). (lldb) r Process 2537 launched: './mongod' (x86_64) 2015-07-06T18:24:55.737-0400 I - [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'. 2015-07-06T18:24:55.737-0400 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=9G,session_max=20000,eviction=(threads_max=4),statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), Process 2537 stopped * thread #1: tid = 0x7b1b9, 0x000000010077dbbb mongod`mongo::EncryptionKeyManager::_acquireSystemKey() [inlined] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__is_long(this=0x646e616d6d6f63ac) const + 28 at string:1716, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) frame #0: 0x000000010077dbbb mongod`mongo::EncryptionKeyManager::_acquireSystemKey() [inlined] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__is_long(this=0x646e616d6d6f63ac) const + 28 at string:1716 1713 1714 _LIBCPP_INLINE_VISIBILITY 1715 bool __is_long() const _NOEXCEPT -> 1716 {return bool(__r_.first().__s.__size_ & __short_mask);} 1717 1718 #if _LIBCPP_DEBUG_LEVEL >= 2 1719 (lldb) bt * thread #1: tid = 0x7b1b9, 0x000000010077dbbb mongod`mongo::EncryptionKeyManager::_acquireSystemKey() [inlined] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__is_long(this=0x646e616d6d6f63ac) const + 28 at string:1716, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) * frame #0: 0x000000010077dbbb mongod`mongo::EncryptionKeyManager::_acquireSystemKey() [inlined] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__is_long(this=0x646e616d6d6f63ac) const + 28 at string:1716 frame #1: 0x000000010077db9f mongod`mongo::EncryptionKeyManager::_acquireSystemKey() [inlined] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::size(this=0x646e616d6d6f63ac) const + 14 at string:1483 frame #2: 0x000000010077db91 mongod`mongo::EncryptionKeyManager::_acquireSystemKey() [inlined] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::empty(this=0x646e616d6d6f63ac) const + 14 at string:1497 frame #3: 0x000000010077db83 mongod`mongo::EncryptionKeyManager::_acquireSystemKey(this=0x0000000104d005d0) + 67 at encryption_key_manager.cpp:192 frame #4: 0x000000010077d6af mongod`mongo::EncryptionKeyManager::getKey(this=0x0000000104d005d0, keyID=0x00007fff5fbfc5d0) + 95 at encryption_key_manager.cpp:78 frame #5: 0x00000001007a6bb4 mongod`mongo::(anonymous namespace)::customize(encryptor=0x0000000104d05290, session=0x0000000106800000, encryptConfig=0x00007fff5fbfcb80, customEncryptor=0x00007fff5fbfc938) + 788 at wiredtiger_encryption_callbacks.cpp:92 frame #6: 0x0000000101b9a019 mongod`__wt_encryptor_config(session=0x0000000106800000, cval=0x00007fff5fbfcaa8, keyid=0x00007fff5fbfca88, cfg_arg=0x00007fff5fbfcb80, kencryptorp=0x00000001058345c0) + 665 at conn_api.c:443 frame #7: 0x0000000101b9bcab mongod`wiredtiger_open(home=0x000000010218e229, event_handler=0x0000000104d041f0, config=0x0000000104d045a0, wt_connp=0x0000000104d041e8) + 3963 at conn_api.c:2006 frame #8: 0x0000000100ef9e01 mongod`mongo::WiredTigerKVEngine::WiredTigerKVEngine(this=0x0000000104d041e0, path=0x000000010218e228, extraOpenOptions=0x000000010218e110, durable=true, repair=false) + 5201 at wiredtiger_kv_engine.cpp:121 frame #9: 0x0000000100efaeac mongod`mongo::WiredTigerKVEngine::WiredTigerKVEngine(this=0x0000000104d041e0, path=0x000000010218e228, extraOpenOptions=0x000000010218e110, durable=true, repair=false) + 76 at wiredtiger_kv_engine.cpp:143 frame #10: 0x0000000100ef7f77 mongod`mongo::(anonymous namespace)::WiredTigerFactory::create(this=0x0000000103e35350, params=0x000000010218e208, lockFile=0x0000000104d04190) const + 215 at wiredtiger_init.cpp:64 frame #11: 0x0000000100d72d90 mongod`mongo::ServiceContextMongoD::initializeGlobalStorageEngine(this=0x0000000103e5e000) + 3936 at service_context_d.cpp:144 frame #12: 0x0000000100001d0d mongod`mongo::_initAndListen(listenPort=27017) + 1021 at db.cpp:416 frame #13: 0x00000001000014c3 mongod`mongo::initAndListen(listenPort=27017) + 19 at db.cpp:594 frame #14: 0x0000000100004c03 mongod`mongoDbMain(argc=1, argv=0x00007fff5fbffac8, envp=0x00007fff5fbffad8) + 803 at db.cpp:823 frame #15: 0x00000001000048ca mongod`main(argc=1, argv=0x00007fff5fbffac8, envp=0x00007fff5fbffad8) + 42 at db.cpp:639 frame #16: 0x00007fff9c1615c9 libdyld.dylib`start + 1 frame #17: 0x00007fff9c1615c9 libdyld.dylib`start + 1 (lldb)
- is related to
-
SERVER-19100 Start WiredTiger engine with the config_base=false
- Closed