byzhang / leveldb

Automatically exported from code.google.com/p/leveldb
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

LevelDB occassionally crash when Snappy enabled #215

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

Sorry, I will try to find a way to reproduce the problem later. But see the 
core dump below, does anyone have any ideas?

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

leveldb-1.14.0, snappy-1.1.0(static library)

Please provide any additional information below.

(1):
#0 0×000000000044c6bf in leveldb::ReadBlock(leveldb::RandomAccessFile*, 
leveldb::ReadOptions const&, leveldb::BlockHandle const&, 
leveldb::BlockContents*) ()
(gdb) bt
#0 0×000000000044c6bf in leveldb::ReadBlock(leveldb::RandomAccessFile*, 
leveldb::ReadOptions const&, leveldb::BlockHandle const&, 
leveldb::BlockContents*) ()
#1 0×00000000004450fc in leveldb::Table::BlockReader(void*, 
leveldb::ReadOptions const&, leveldb::Slice const&) ()
#2 0×00000000004460d0 in leveldb::(anonymous 
namespace)::TwoLevelIterator::InitDataBlock() ()
#3 0×00000000004462fb in leveldb::(anonymous 
namespace)::TwoLevelIterator::SkipEmptyDataBlocksForward() ()
#4 0×000000000044635e in leveldb::(anonymous 
namespace)::TwoLevelIterator::Next() ()
#5 0×0000000000443460 in leveldb::(anonymous 
namespace)::MergingIterator::Next() ()
#6 0×000000000042f6c2 in 
leveldb::DBImpl::DoCompactionWork(leveldb::DBImpl::CompactionState*) ()
#7 0×000000000042fe80 in leveldb::DBImpl::BackgroundCompaction() ()
#8 0×000000000043097b in leveldb::DBImpl::BackgroundCall() ()
#9 0×000000000044ccef in leveldb::(anonymous 
namespace)::PosixEnv::BGThreadWrapper(void*) ()
#10 0×00007f8453145e9a in start_thread (arg=0×7f843a645700) at 
pthread_create.c:308
#11 0×00007f8452e72ccd in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0×0000000000000000 in ?? ()
(2):
#0 __memcpy_ssse3_back () at 
../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:2065
#1 0×00007f95e29e0bc8 in std::string::append(char const*, unsigned long) () 
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2 0×000000000044a0bb in leveldb::BlockBuilder::Add(leveldb::Slice const&, 
leveldb::Slice const&) ()
#3 0×0000000000444579 in leveldb::TableBuilder::Add(leveldb::Slice const&, 
leveldb::Slice const&) ()
#4 0×000000000042f6a2 in 
leveldb::DBImpl::DoCompactionWork(leveldb::DBImpl::CompactionState*) ()
#5 0×000000000042fe80 in leveldb::DBImpl::BackgroundCompaction() ()
#6 0×000000000043097b in leveldb::DBImpl::BackgroundCall() ()
#7 0×000000000044ccef in leveldb::(anonymous 
namespace)::PosixEnv::BGThreadWrapper(void*) ()
#8 0×00007f95e2219e9a in start_thread (arg=0×7f95c6ac8700) at 
pthread_create.c:308
#9 0×00007f95e1f46ccd in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0×0000000000000000 in ?? ()
(3):
#0 0×000000000045157d in UnalignedCopy64 (dst=0×7f8ebced8304, 
src=0×7f8e9c3efffd) at snappy-stubs-internal.h:195
#1 TryFastAppend (len=1, available=7147, ip=0×7f8e9c3efff5 <Address 
0×7f8e9c3efff5 out of bounds>, this=<optimized out>) at snappy.cc:1000
#2 DecompressAllTags<snappy::SnappyArrayWriter> (writer=<synthetic pointer>, 
this=0×7f8ed15ce630) at snappy.cc:730
#3 InternalUncompressAllTags<snappy::SnappyArrayWriter> 
(decompressor=0×7f8ed15ce630, max_len=4294967295, uncompressed_len=<optimized 
out>, writer=<synthetic pointer>) at snappy.cc:866
#4 InternalUncompress<snappy::SnappyArrayWriter> (writer=<synthetic pointer>, 
r=<optimized out>, max_len=<optimized out>) at snappy.cc:850
#5 snappy::RawUncompress (compressed=<optimized out>, 
uncompressed=0×7f8ebced6000 "") at snappy.cc:1042
#6 0×0000000000451702 in snappy::RawUncompress (compressed=<optimized out>, 
n=<optimized out>, uncompressed=<optimized out>) at snappy.cc:1037
#7 0×000000000044c7ee in leveldb::ReadBlock(leveldb::RandomAccessFile*, 
leveldb::ReadOptions const&, leveldb::BlockHandle const&, 
leveldb::BlockContents*) ()
#8 0×00000000004450fc in leveldb::Table::BlockReader(void*, 
leveldb::ReadOptions const&, leveldb::Slice const&) ()
#9 0×00000000004460d0 in leveldb::(anonymous 
namespace)::TwoLevelIterator::InitDataBlock() ()
#10 0×00000000004462fb in leveldb::(anonymous 
namespace)::TwoLevelIterator::SkipEmptyDataBlocksForward() ()
#11 0×000000000044635e in leveldb::(anonymous 
namespace)::TwoLevelIterator::Next() ()
#12 0×0000000000443460 in leveldb::(anonymous 
namespace)::MergingIterator::Next() ()
#13 0×000000000042f6c2 in 
leveldb::DBImpl::DoCompactionWork(leveldb::DBImpl::CompactionState*) ()
#14 0×000000000042fe80 in leveldb::DBImpl::BackgroundCompaction() ()
#15 0×000000000043097b in leveldb::DBImpl::BackgroundCall() ()
#16 0×000000000044ccef in leveldb::(anonymous 
namespace)::PosixEnv::BGThreadWrapper(void*) ()
#17 0×00007f8fb9c63e9a in start_thread (arg=0×7f8ed15cf700) at 
pthread_create.c:308
#18 0×00007f8fb9990ccd in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#19 0×0000000000000000 in ?? ()

Original issue reported on code.google.com by wuzuy...@gmail.com on 7 Nov 2013 at 11:23

GoogleCodeExporter commented 9 years ago
I'm seeing this too.

Original comment by jcoffl...@gmail.com on 14 Dec 2014 at 4:21