facebook / rocksdb

A library that provides an embeddable, persistent key-value store for fast storage.
http://rocksdb.org
GNU General Public License v2.0
28.74k stars 6.34k forks source link

Rocksdb 6.0.1 crashed rocksdb::DBIter::FindNextUserEntryInternal #5523

Open zhuam opened 5 years ago

zhuam commented 5 years ago

Rocksdb 6.0.1 crashed

Java_hs_err:

A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0x00007f24c551a4f6, pid=26921, tid=0x00007f1fd44cf700
JRE version: Java(TM) SE Runtime Environment (8.0_131-b11) (build 1.8.0_131-b11)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.131-b11 mixed mode linux-amd64 compressed oops)
 Problematic frame:
C  [libc.so.6+0x16a4f6]  __memcmp_sse4_1+0x12d6

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

If you would like to submit a bug report, please visit:
  http://bugreport.java.com/bugreport/crash.jsp
The crash happened outside the Java Virtual Machine in native code.
 See problematic frame for where to report the bug.

---------------  T H R E A D  ---------------

Current thread (0x00007f2198016dd0):  JavaThread "Boss/threadPool--1-thread-105" daemon [_thread_in_native, id=31017, stack(0x00007f1fd43cf000,0x00007f1fd44d0000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000000

Registers:
RAX=0x00007f1ff8010f40, RBX=0x000000000000001b, RCX=0x00007f24c551a4f1, RDX=0x000000000000001b
RSP=0x00007f1fd44ce088, RBP=0x00007f1fd44ce0a0, RSI=0x000000000000001b, RDI=0x00007f227c5007ec
R8 =0x00007f22c8ff2260, R9 =0x00007f22c8ff2260, R10=0x00007f1ff8004930, R11=0x00007f24c553c3c0
R12=0x000000000000001b, R13=0x0000000000000000, R14=0x00007f1ff8082a10, R15=0x00007f1ff8011370
RIP=0x00007f24c551a4f6, EFLAGS=0x0000000000010203, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
  TRAPNO=0x000000000000000e

Top of Stack: (sp=0x00007f1fd44ce088)
0x00007f1fd44ce088:   00007f22c8ff22a0 00007f1ff8010e80
0x00007f1fd44ce098:   0000000000000000 00007f1fd44ce1c0
0x00007f1fd44ce0a8:   00007f22c8e510dd 00000007f7fcf494
0x00007f1fd44ce0b8:   00007f1fd44ce100 00000007bfe7a4a0
0x00007f1fd44ce0c8:   00007f1ff8010f40 01007f1fd44ce180
0x00007f1fd44ce0d8:   00007f1fd44ce160 00007f1f00000001
0x00007f1fd44ce0e8:   00007f1fd44ce170 00000001ba16416a
0x00007f1fd44ce0f8:   00000005d0b20b38 00000001ba16416a
0x00007f1fd44ce108:   00000005d0b20b50 0000000000000006
0x00007f1fd44ce118:   00000007bfe7a470 00007f227c5007d1
0x00007f1fd44ce128:   000000000000001b 000000000be9f225
0x00007f1fd44ce138:   00000005d0ad5601 00007f1ff8004930
0x00007f1fd44ce148:   0000000000000023 00007f1ff8004930
0x00007f1fd44ce158:   0000000000000023 00000005d0ad56a0
0x00007f1fd44ce168:   00000005d0b20b38 00000005d0b20b38
0x00007f1fd44ce178:   00000005c0d0df90 00007f2198016d00
0x00007f1fd44ce188:   0000000000000000 00007f2198016dd0
0x00007f1fd44ce198:   00007f1ff8010e80 0000000000000001
0x00007f1fd44ce1a8:   00000000ba164167 000000005a122541
0x00007f1fd44ce1b8:   00007f2198016dd0 00007f1fd44ce220
0x00007f1fd44ce1c8:   00007f22c8e522b1 0000006000600000
0x00007f1fd44ce1d8:   0000000000000000 0000000000000000
0x00007f1fd44ce1e8:   00007f1ff80023b8 0000000000000000
0x00007f1fd44ce1f8:   0000000500000000 00000005d0b20b50
0x00007f1fd44ce208:   00000000ba164191 0000000000000000
0x00007f1fd44ce218:   00000000ba164167 00007f1fd44ce270
0x00007f1fd44ce228:   00007f24aaa864b0 0000000682291478
0x00007f1fd44ce238:   00000010d0ad56a0 00000005ba16416a
0x00007f1fd44ce248:   0000000700000001 00000005ba16416a
0x00007f1fd44ce258:   00007f24aa5575f0 00000000ba164167
0x00007f1fd44ce268:   00000000ba16416a 0000000682291478
0x00007f1fd44ce278:   00007f24aae8f424 0000000682291498 

Instructions: (pc=0x00007f24c551a4f6)
0x00007f24c551a4d6:   f3 0f 6f 57 d5 f3 0f 6f 4e d5 b2 d5 66 0f ef d1
0x00007f24c551a4e6:   66 0f 38 17 c2 0f 83 17 03 00 00 f3 0f 6f 57 e5
0x00007f24c551a4f6:   f3 0f 6f 4e e5 b2 e5 66 0f ef d1 66 0f 38 17 c2
0x00007f24c551a506:   0f 83 fc 02 00 00 48 8b 47 f5 48 8b 4e f5 48 39 

Register to memory mapping:

RAX=0x00007f1ff8010f40 is an unknown value
RBX=0x000000000000001b is an unknown value
RCX=0x00007f24c551a4f1: <offset 0x16a4f1> in /lib64/libc.so.6 at 0x00007f24c53b0000
RDX=0x000000000000001b is an unknown value
RSP=0x00007f1fd44ce088 is pointing into the stack for thread: 0x00007f2198016dd0
RBP=0x00007f1fd44ce0a0 is pointing into the stack for thread: 0x00007f2198016dd0
RSI=0x000000000000001b is an unknown value
RDI=0x00007f227c5007ec is an unknown value
R8 =0x00007f22c8ff2260: <offset 0x449260> in /tmp/librocksdbjni1976707435465570858.so at 0x00007f22c8ba9000
R9 =0x00007f22c8ff2260: <offset 0x449260> in /tmp/librocksdbjni1976707435465570858.so at 0x00007f22c8ba9000
R10=0x00007f1ff8004930 is an unknown value
R11=0x00007f24c553c3c0: <offset 0x18c3c0> in /lib64/libc.so.6 at 0x00007f24c53b0000
R12=0x000000000000001b is an unknown value
R13=0x0000000000000000 is an unknown value
R14=0x00007f1ff8082a10 is an unknown value
R15=0x00007f1ff8011370 is an unknown value

Stack: [0x00007f1fd43cf000,0x00007f1fd44d0000],  sp=0x00007f1fd44ce088,  free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x16a4f6]  __memcmp_sse4_1+0x12d6
C  [librocksdbjni1976707435465570858.so+0x2a80dd]  rocksdb::DBIter::FindNextUserEntryInternal(bool, bool)+0x117d
C  [librocksdbjni1976707435465570858.so+0x2a92b1]  rocksdb::DBIter::Next()+0x1c1
J 3746  org.rocksdb.RocksIterator.next0(J)V (0 bytes) @ 0x00007f24aaa864b0 [0x00007f24aaa86400+0xb0]
J 6279 C2 com.feeyo.newdb.storage.rocksdb.RocksDBCursor.next()Z (59 bytes) @ 0x00007f24aae8f424 [0x00007f24aae8f040+0x3e4]
J 6678 C2 com.feeyo.newdb.storage.mvcc.reader.MvccReader.seekWrite([BJZZ)Lcom/feeyo/newdb/storage/mvcc/model/WriteKV; (403 bytes) @ 0x00007f24ab52c5bc [0x00007f24ab52b140+0x147c]
J 6706 C2 com.feeyo.newdb.sql.executor.batch.BatchChecker.batchGetInsertKeys(Lcom/feeyo/newdb/sql/session/SessionContext;Lcom/feeyo/newdb/sql/table/Table;Ljava/util/List;)V (331 bytes) @ 0x00007f24ab5d5574 [0x00007f24ab5d3600+0x1f74]
J 6380 C2 com.feeyo.newdb.sql.executor.InsertExec.insertRows()V (558 bytes) @ 0x00007f24ab417628 [0x00007f24ab417240+0x3e8]
J 6328 C2 com.feeyo.newdb.sql.handler.InsertStatementHandler.handle(Ljava/lang/String;)Ljava/util/List; (132 bytes) @ 0x00007f24ab32b1cc [0x00007f24ab3296c0+0x1b0c]
J 6320 C2 com.feeyo.newdb.sql.SqlExecuteUtils.execute(Lcom/feeyo/newdb/mysql/MysqlConnection;Ljava/lang/String;I)V (341 bytes) @ 0x00007f24ab3301c4 [0x00007f24ab32f700+0xac4]
J 5011 C2 com.feeyo.newdb.mysql.MysqlConnection.execute(Ljava/lang/String;I)V (37 bytes) @ 0x00007f24aaa90d50 [0x00007f24aaa90c60+0xf0]
J 4593 C2 com.feeyo.newdb.mysql.MysqlConnectionHandler$1.run()V (216 bytes) @ 0x00007f24aae12ee4 [0x00007f24aae10340+0x2ba4]
J 4795% C2 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (225 bytes) @ 0x00007f24aa410148 [0x00007f24aa40ff80+0x1c8]
J 8864 C1 java.util.concurrent.ThreadPoolExecutor$Worker.run()V (9 bytes) @ 0x00007f24ab87c50c [0x00007f24ab87c400+0x10c]
J 8810 C1 java.lang.Thread.run()V (17 bytes) @ 0x00007f24ab868c0c [0x00007f24ab868ac0+0x14c]
v  ~StubRoutines::call_stub
V  [libjvm.so+0x691d16]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x1056
V  [libjvm.so+0x692221]  JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x321
V  [libjvm.so+0x6926c7]  JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x47
V  [libjvm.so+0x72da50]  thread_entry(JavaThread*, Thread*)+0xa0
V  [libjvm.so+0xa76833]  JavaThread::thread_main_inner()+0x103
V  [libjvm.so+0xa7697c]  JavaThread::run()+0x11c
V  [libjvm.so+0x927568]  java_start(Thread*)+0x108
C  [libpthread.so.0+0x7dd5]  start_thread+0xc5

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 3746  org.rocksdb.RocksIterator.next0(J)V (0 bytes) @ 0x00007f24aaa86438 [0x00007f24aaa86400+0x38]
J 6279 C2 com.feeyo.newdb.storage.rocksdb.RocksDBCursor.next()Z (59 bytes) @ 0x00007f24aae8f424 [0x00007f24aae8f040+0x3e4]
J 6678 C2 com.feeyo.newdb.storage.mvcc.reader.MvccReader.seekWrite([BJZZ)Lcom/feeyo/newdb/storage/mvcc/model/WriteKV; (403 bytes) @ 0x00007f24ab52c5bc [0x00007f24ab52b140+0x147c]
J 6706 C2 com.feeyo.newdb.sql.executor.batch.BatchChecker.batchGetInsertKeys(Lcom/feeyo/newdb/sql/session/SessionContext;Lcom/feeyo/newdb/sql/table/Table;Ljava/util/List;)V (331 bytes) @ 0x00007f24ab5d5574 [0x00007f24ab5d3600+0x1f74]
J 6380 C2 com.feeyo.newdb.sql.executor.InsertExec.insertRows()V (558 bytes) @ 0x00007f24ab417628 [0x00007f24ab417240+0x3e8]
J 6328 C2 com.feeyo.newdb.sql.handler.InsertStatementHandler.handle(Ljava/lang/String;)Ljava/util/List; (132 bytes) @ 0x00007f24ab32b1cc [0x00007f24ab3296c0+0x1b0c]
J 6320 C2 com.feeyo.newdb.sql.SqlExecuteUtils.execute(Lcom/feeyo/newdb/mysql/MysqlConnection;Ljava/lang/String;I)V (341 bytes) @ 0x00007f24ab3301c4 [0x00007f24ab32f700+0xac4]
J 5011 C2 com.feeyo.newdb.mysql.MysqlConnection.execute(Ljava/lang/String;I)V (37 bytes) @ 0x00007f24aaa90d50 [0x00007f24aaa90c60+0xf0]
J 4593 C2 com.feeyo.newdb.mysql.MysqlConnectionHandler$1.run()V (216 bytes) @ 0x00007f24aae12ee4 [0x00007f24aae10340+0x2ba4]
J 4795% C2 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (225 bytes) @ 0x00007f24aa410148 [0x00007f24aa40ff80+0x1c8]
J 8864 C1 java.util.concurrent.ThreadPoolExecutor$Worker.run()V (9 bytes) @ 0x00007f24ab87c50c [0x00007f24ab87c400+0x10c]
J 8810 C1 java.lang.Thread.run()V (17 bytes) @ 0x00007f24ab868c0c [0x00007f24ab868ac0+0x14c]
v  ~StubRoutines::call_stub
sagar0 commented 5 years ago

Hi @zhuam - Is this consistently reproducible? If so, could you provide us a small narrowed down test case with the non-RocksDB code stripped out? That should greatly help in debugging further.