Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crash in cursor iterator #53

Open
hyc opened this issue Jun 25, 2014 · 0 comments
Open

crash in cursor iterator #53

hyc opened this issue Jun 25, 2014 · 0 comments
Labels

Comments

@hyc
Copy link

hyc commented Jun 25, 2014

Using rev 493d4ba

Happens pretty consistently. Test program source is here https://github.com/hyc/leveldb/tree/benches/doc/bench

violino:/home/software/leveldb> gdb db_bench_sophia
GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /home/software/leveldb/db_bench_sophia...done.
(gdb) run
Starting program: /home/software/leveldb/db_bench_sophia
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Sophia: version 1.1
Date: Wed Jun 25 08:27:46 2014
CPU: 4 * Intel(R) Core(TM)2 Extreme CPU Q9300 @ 2.53GHz
CPUCache: 6144 KB
Keys: 16 bytes each
Values: 100 bytes each (50 bytes after compression)
Entries: 1000000
RawSize: 110.6 MB (estimated)
FileSize: 62.9 MB (estimated)
WARNING: Optimization is disabled: benchmarks unnecessarily slow

WARNING: Assertions are enabled; benchmarks unnecessarily slow

[New Thread 0x7ffff6fd5700 (LWP 16023)]
[New Thread 0x7ffff67d4700 (LWP 16024)]
fillrandsync : 12.553 micros/op 79662 ops/sec; 8.8 MB/s (1000 ops)
[Thread 0x7ffff67d4700 (LWP 16024) exited]
132 /tmp/test1/dbbench_sph-1
132 /tmp/test1
[Thread 0x7ffff6fd5700 (LWP 16023) exited]
[New Thread 0x7ffff6fd5700 (LWP 16028)]
[New Thread 0x7ffff5fd3700 (LWP 16029)]
fillrandom : 5.952 micros/op 167997 ops/sec; 18.6 MB/s
[Thread 0x7ffff5fd3700 (LWP 16029) exited]
150144 /tmp/test1/dbbench_sph-2
150144 /tmp/test1
[Thread 0x7ffff6fd5700 (LWP 16028) exited]
[New Thread 0x7ffff6fd5700 (LWP 16033)]
[New Thread 0x7ffff57d2700 (LWP 16034)]
fillrandbatch : 3.222 micros/op 310360 ops/sec; 34.3 MB/s
[Thread 0x7ffff57d2700 (LWP 16034) exited]
155956 /tmp/test1/dbbench_sph-3
155956 /tmp/test1
[Thread 0x7ffff6fd5700 (LWP 16033) exited]
[New Thread 0x7ffff6fd5700 (LWP 16039)]
[New Thread 0x7ffff4fd1700 (LWP 16040)]
fillseqsync : 12.770 micros/op 78308 ops/sec; 8.7 MB/s (1000 ops)
[Thread 0x7ffff4fd1700 (LWP 16040) exited]
132 /tmp/test1/dbbench_sph-4
132 /tmp/test1
[Thread 0x7ffff6fd5700 (LWP 16039) exited]
[New Thread 0x7ffff6fd5700 (LWP 16044)]
[New Thread 0x7fffeffff700 (LWP 16045)]
fillseq : 4.804 micros/op 208164 ops/sec; 23.0 MB/s
[Thread 0x7fffeffff700 (LWP 16045) exited]
130856 /tmp/test1/dbbench_sph-5
130856 /tmp/test1
[Thread 0x7ffff6fd5700 (LWP 16044) exited]
[New Thread 0x7ffff6fd5700 (LWP 16050)]
[New Thread 0x7fffef7fe700 (LWP 16051)]
fillseqbatch : 2.276 micros/op 439402 ops/sec; 48.6 MB/s
[Thread 0x7fffef7fe700 (LWP 16051) exited]
130992 /tmp/test1/dbbench_sph-6
130992 /tmp/test1
[New Thread 0x7fffec963700 (LWP 16053)]
overwrite : 6.335 micros/op 157848 ops/sec; 17.5 MB/s
[Thread 0x7fffec963700 (LWP 16053) exited]
239348 /tmp/test1/dbbench_sph-6
239348 /tmp/test1
[New Thread 0x7fffeeffd700 (LWP 16055)]
readrandom : 3.568 micros/op 280256 ops/sec; (1000000 of 1000000 found)
[Thread 0x7fffeeffd700 (LWP 16055) exited]
[New Thread 0x7fffee7fc700 (LWP 16056)]
db_bench_sophia: cursor.c:283: sp_next: Assertion `c->r.v.vh == c->pv' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffee7fc700 (LWP 16056)]
0x00007ffff700d037 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff700d037 in __GI_raise (sig=sig@entry=6)

at ../nptl/sysdeps/unix/sysv/linux/raise.c:56

#1 0x00007ffff7010698 in __GI_abort () at abort.c:90
#2 0x00007ffff7005e03 in __assert_fail_base (

fmt=0x7ffff715d158 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
assertion=assertion@entry=0x41e293 "c->r.v.vh == c->pv", file=file@entry=0x41e242 "cursor.c", 
line=line@entry=283, function=function@entry=0x41e2bf <__PRETTY_FUNCTION__.5459> "sp_next")
at assert.c:92

#3 0x00007ffff7005eb2 in __GI___assert_fail (assertion=0x41e293 "c->r.v.vh == c->pv",

file=0x41e242 "cursor.c", line=283, function=0x41e2bf <__PRETTY_FUNCTION__.5459> "sp_next")
at assert.c:101

#4 0x0000000000416b57 in sp_next (c=0x7fffe8652c00) at cursor.c:283
#5 0x00000000004172fa in sp_iterate (c=0x7fffe8652c00) at cursor.c:453
#6 0x0000000000410234 in sp_fetch (o=0x7fffe8652c00) at sp.c:748
#7 0x0000000000404d99 in leveldb::Benchmark::ReadSequential (this=0x7fffffffe500, thread=0x62d510)

at doc/bench/db_bench_sophia.cc:809

#8 0x00000000004078bc in leveldb::Benchmark::ThreadBody (v=0x628e50)

at doc/bench/db_bench_sophia.cc:657

#9 0x0000000000407eca in leveldb::(anonymous namespace)::StartThreadWrapper(void*) ()
#10 0x00007ffff73a6f8e in start_thread (arg=0x7fffee7fc700) at pthread_create.c:311
#11 0x00007ffff70d0a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

(gdb) frame 7
#7 0x0000000000404d99 in leveldb::Benchmark::ReadSequential (this=0x7fffffffe500, thread=0x62d510)

at doc/bench/db_bench_sophia.cc:809

809 while (sp_fetch(cursor) == 1) {
(gdb) p bytes
$1 = 928
(gdb) p *thread
$2 = {tid = 0, rand = {seed_ = 1000}, stats = {id_ = 0, start_ = 1403710092992610,
finish_ = 1403710092992610, seconds_ = 0, done_ = 8, last_report_done_ = 0,
next_report_ = 100, bytes_ = 0, last_op_finish_ = 1403710092990744,
last_report_finish_ = 1403710092992610, hist_ = {min_ = 9.9999999999999997e+199, max_ = 0,
num_ = 0, sum_ = 0, sum_squares_ = 0, static kBucketLimit = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
12, 14, 16, 18, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 120, 140, 160, 180, 200,
250, 300, 350, 400, 450, 500, 600, 700, 800, 900, 1000, 1200, 1400, 1600, 1800, 2000,
2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000, 10000, 12000, 14000, 16000,
18000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 60000, 70000, 80000, 90000,
100000, 120000, 140000, 160000, 180000, 200000, 250000, 300000, 350000, 400000, 450000,
500000, 600000, 700000, 800000, 900000, 1000000, 1200000, 1400000, 1600000, 1800000,
2000000, 2500000, 3000000, 3500000, 4000000, 4500000, 5000000, 6000000, 7000000, 8000000,
9000000, 10000000, 12000000, 14000000, 16000000, 18000000, 20000000, 25000000, 30000000,
35000000, 40000000, 45000000, 50000000, 60000000, 70000000, 80000000, 90000000, 100000000,
120000000, 140000000, 160000000, 180000000, 200000000, 250000000, 300000000, 350000000,
400000000, 450000000, 500000000, 600000000, 700000000, 800000000, 900000000, 1000000000,
1200000000, 1400000000, 1600000000, 1800000000, 2000000000, 2500000000, 3000000000,
3500000000, 4000000000, 4500000000, 5000000000, 6000000000, 7000000000, 8000000000,
9000000000, 9.9999999999999997e+199}, buckets_ = {0 <repeats 154 times>}}, message_ = {
static npos = ,
_M_dataplus = {std::allocator = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x627558 <ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4+24> ""}},
exclude_from_merge
= false}, shared = 0x7fffffffe0d0}
(gdb)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants