奏之章
1c1bafa668
Fix VersionStorageInfo::EstimateLiveDataSize seg fault
Summary:
`HandleEstimateLiveDataSize`'s `need_out_of_mutex` is true
402b7aa07f/db/internal_stats.cc (L412-L413)
so , is will ref a `SuperVersion`
402b7aa07f/db/db_impl.cc (L1896-L1908)
so , the param `version` of `InternalStats::HandleEstimateLiveDataSize` is safe , but `cfd_->current()` is not safe !
402b7aa07f/db/internal_stats.cc (L790-L795)
the `cfd_->current()` maybe invalid ...
here's mongo-rocks crash backtrace
```
mongod(mongo::printStackTrace(std::basic_ostream<char, std::char_traits<char> >&)+0x41) [0x7fe3a3137c51]
mongod(+0x2152E89) [0x7fe3a3136e89]
mongod(+0x21534F6) [0x7fe3a31374f6]
libpthread.so.0(+0xF5E0) [0x7fe39f5e45e0]
mongod(rocksdb::InternalKeyComparator::Compare(rocksdb::Slice const&, rocksdb::Slice const&) const+0x17) [0x7fe3a22375a7]
mongod(rocksdb::VersionStorageInfo::EstimateLiveDataSize() const+0x3AA) [0x7fe3a228daba]
mongod(rocksdb::InternalStats::HandleEstimateLiveDataSize(unsigned long*, rocksdb::DBImpl*, rocksdb::Version*)+0x20) [0x7fe3a2250d70]
mongod(rocksdb::DBImpl::GetIntPropertyInternal(rocksdb::ColumnFamilyData*, rocksdb::DBPropertyInfo const&, bool, unsigned long*)+0xEF) [0x7fe3a21e3dbf]
```
Closes https://github.com/facebook/rocksdb/pull/3912
Differential Revision: D8179944
Pulled By: yiwu-arbug
fbshipit-source-id: 26f314a8f98f4c2dc4348745d759f26f0e8d95e1
2018-05-28 11:27:08 -07:00
..
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-04-12 17:59:16 -07:00
2018-05-24 22:28:52 -07:00
2018-05-25 11:57:51 -07:00
2018-05-03 15:43:09 -07:00
2018-04-27 11:57:39 -07:00
2018-04-15 17:26:26 -07:00
2018-05-21 14:43:11 -07:00
2018-03-05 13:13:41 -08:00
2017-08-19 14:10:08 -07:00
2018-03-05 13:13:41 -08:00
2018-03-06 11:57:42 -08:00
2018-03-05 13:13:41 -08:00
2018-04-15 17:26:26 -07:00
2018-04-27 11:57:39 -07:00
2018-05-21 14:43:11 -07:00
2018-05-03 16:42:13 -07:00
2018-04-05 19:58:20 -07:00
2018-05-03 16:42:13 -07:00
2017-12-11 13:27:06 -08:00
2018-05-11 11:28:54 -07:00
2018-04-27 11:57:39 -07:00
2018-05-03 16:42:13 -07:00
2018-05-03 16:42:13 -07:00
2018-05-17 18:27:16 -07:00
2018-05-21 14:43:11 -07:00
2018-05-17 02:56:56 -07:00
2018-04-15 17:26:26 -07:00
2018-03-06 16:27:54 -08:00
2017-10-17 08:57:09 -07:00
2018-05-24 15:57:33 -07:00
2018-04-12 17:59:16 -07:00
2018-03-16 13:27:55 -07:00
2018-05-14 14:57:15 -07:00
2018-04-15 17:26:26 -07:00
2017-07-15 16:11:23 -07:00
2018-03-21 22:13:34 -07:00
2018-05-03 15:43:09 -07:00
2018-05-14 14:57:15 -07:00
2018-05-14 10:57:56 -07:00
2017-10-05 18:11:43 -07:00
2018-05-03 15:43:09 -07:00
2018-05-14 10:57:56 -07:00
2018-05-21 14:43:11 -07:00
2018-03-15 11:58:12 -07:00
2018-05-22 12:16:25 -07:00
2018-05-21 14:43:11 -07:00
2018-05-14 10:57:56 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-26 21:11:47 -07:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-04-15 17:26:26 -07:00
2018-03-05 13:13:41 -08:00
2018-03-02 16:27:21 -08:00
2018-05-21 16:42:22 -07:00
2018-05-25 18:42:43 -07:00
2018-04-27 11:57:39 -07:00
2018-04-12 17:59:16 -07:00
2017-07-15 16:11:23 -07:00
2017-09-28 18:17:30 -07:00
2018-04-15 17:26:26 -07:00
2018-05-09 19:42:58 -07:00
2018-04-05 19:58:20 -07:00
2018-05-03 15:43:09 -07:00
2018-05-22 12:16:25 -07:00
2018-05-14 14:57:15 -07:00
2018-05-03 15:43:09 -07:00
2018-05-14 21:13:35 -07:00
2017-07-15 16:11:23 -07:00
2018-04-13 11:27:17 -07:00
2018-03-23 13:26:55 -07:00
2018-04-15 17:26:26 -07:00
2018-04-12 17:59:16 -07:00
2017-07-15 16:11:23 -07:00
2018-04-12 17:59:16 -07:00
2017-11-28 11:27:02 -08:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-05-03 15:43:09 -07:00
2018-05-07 12:29:58 -07:00
2018-03-05 13:13:41 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2018-05-21 14:43:11 -07:00
2018-03-05 13:13:41 -08:00
2018-05-28 11:27:08 -07:00
2018-05-03 15:43:09 -07:00
2018-05-09 10:13:53 -07:00
2018-04-10 15:59:24 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-01-29 12:56:42 -08:00
2018-03-07 12:42:12 -08:00
2018-05-14 10:57:56 -07:00
2018-05-14 10:57:56 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-03-06 16:27:54 -08:00
2017-07-15 16:11:23 -07:00
2018-05-17 02:56:56 -07:00
2018-05-17 02:56:56 -07:00
2018-05-03 16:13:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2018-05-21 14:43:11 -07:00
2018-03-23 12:14:30 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-09 14:57:54 -08:00
2018-02-09 14:57:54 -08:00
2017-07-15 16:11:23 -07:00
2018-03-05 13:13:41 -08:00
2018-04-15 17:26:26 -07:00
2018-04-15 17:26:26 -07:00
2018-04-23 17:58:54 -07:00
2017-07-15 16:11:23 -07:00
2018-05-21 14:43:11 -07:00
2018-04-05 11:12:16 -07:00
2018-04-15 17:26:26 -07:00
2017-11-28 11:27:02 -08:00
2018-05-21 09:57:00 -07:00
2018-05-04 16:45:15 -07:00
2017-09-11 09:14:48 -07:00
2018-04-15 17:26:26 -07:00
2018-05-21 14:43:11 -07:00
2018-03-05 13:13:41 -08:00
2017-07-15 16:11:23 -07:00
2018-04-02 20:27:41 -07:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2018-03-05 13:13:41 -08:00
2017-11-10 17:28:12 -08:00
2017-07-15 16:11:23 -07:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-05-03 15:43:09 -07:00
2018-05-23 16:12:59 -07:00
2018-05-03 15:43:09 -07:00
2018-03-05 13:13:41 -08:00
2018-05-21 14:43:11 -07:00
2018-05-21 14:43:11 -07:00
2018-04-15 17:26:26 -07:00
2018-01-11 18:57:33 -08:00
2018-01-11 18:57:33 -08:00
2017-07-15 16:11:23 -07:00
2018-03-08 10:27:25 -08:00
2018-03-05 13:13:41 -08:00
2018-04-20 15:28:19 -07:00
2018-04-15 17:26:26 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-05-22 12:16:25 -07:00
2018-02-05 18:43:24 -08:00