polardbx-engine icon indicating copy to clipboard operation
polardbx-engine copied to clipboard

xengine core dump with simple put

Open dongdongwcpp opened this issue 2 years ago • 0 comments

the simple code like this would coredump:

// Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
//  This source code is licensed under both the GPLv2 (found in the
//  COPYING file in the root directory) and Apache 2.0 License
//  (found in the LICENSE.Apache file in the root directory).

#include <cstdio>
#include <string>
// #include <gflags/gflags.h>
#include "xengine/db.h"
#include "xengine/statistics.h"

#include "cache/lru_cache.h"
#include "db/column_family.h"
#include "db/internal_stats.h"
#include "xengine/slice.h"
#include "xengine/options.h"
#include "xengine/table.h"
#include <iostream>
using namespace std;
using namespace xengine;
using namespace xengine::db;
using namespace xengine::common;
using namespace xengine::cache;
using namespace xengine::table;

std::string kDBPath = "/tmp/rocksdb_simple_example";


int main(int argc, char* argv[]) {


  xengine::db::DB* db;
  common::Options options;
  table::BlockBasedTableOptions table_options;
  table_options.filter_policy.reset(NewBloomFilterPolicy(10, true));  
  table_options.cache_index_and_filter_blocks =true;  

  options.table_factory.reset(
      xengine::table::NewExtentBasedTableFactory(table_options));  
  options.create_if_missing = true;

  // open DB
  Status s = DB::Open(options, kDBPath, &db);
  assert(s.ok());
  WriteOptions wop;
  wop.disableWAL = true;
  for(int i=0;i<100;i++){
    // Put key-value
    string value;
    value.assign(1024*1024,'a');
    s = db->Put(wop, "key11" + std::to_string(i), value);
    if(!s.ok()){
      cout <<"put not ok:"<< s.ToString()<<endl;      
    }
  }

  cout <<"-----------------------begin flush-------------------------------"<<endl;  
  s = db->Flush(FlushOptions(),db->DefaultColumnFamily());
  if(!s.ok()){
      cout <<"put not ok:"<< s.ToString()<<endl;      
  }


  delete db;

  return 0;
}



(gdb) 
#0  0x00007fafa9377428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007fafa937902a in __GI_abort () at abort.c:89
#2  0x00007fafa93b97ea in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7fafa94d2ed8 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007fafa93c237a in malloc_printerr (ar_ptr=<optimized out>, ptr=<optimized out>, str=0x7fafa94d2fe8 "double free or corruption (out)", action=3) at malloc.c:5006
#4  _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3867
#5  0x00007fafa93c653c in __GI___libc_free (mem=<optimized out>) at malloc.c:2968
#6  0x00000000004c26fe in main (argc=1, argv=0x7ffd3122c3b8) at simple_example.cc:64
(gdb) 

Working on ·Ubuntu 16.04.4 LTS ,by using cmd: g++ -ggdb --std=c++11 simple_example.cc -I/root/tmp/galaxyengine/storage/xengine/core/build/include -I../ -DROCKSDB_PLATFORM_POSIX ../libxengine.a -lpthread -laio 。

and the options is:

[2021-12-23 06:58:47.379836] INFO  [25571] [XENGINE] DumpDBFileSummary(db_info_dumper.cc:129) Write Ahead Log file in /tmp/rocksdb_simple_example: 
[2021-12-23 06:58:47.379843] INFO  [25571] [XENGINE] Dump(db_options.cc:109)                         Options.error_if_exists: 0
[2021-12-23 06:58:47.379849] INFO  [25571] [XENGINE] Dump(db_options.cc:111)                       Options.create_if_missing: 1
[2021-12-23 06:58:47.379854] INFO  [25571] [XENGINE] Dump(db_options.cc:113)                         Options.paranoid_checks: 1
[2021-12-23 06:58:47.379860] INFO  [25571] [XENGINE] Dump(db_options.cc:115)                                     Options.env: 0xa71be0
[2021-12-23 06:58:47.379865] INFO  [25571] [XENGINE] Dump(db_options.cc:117)                          Options.max_open_files: -1
[2021-12-23 06:58:47.379870] INFO  [25571] [XENGINE] Dump(db_options.cc:119)                Options.max_file_opening_threads: 16
[2021-12-23 06:58:47.379876] INFO  [25571] [XENGINE] Dump(db_options.cc:121)                               Options.use_fsync: 0
[2021-12-23 06:58:47.379881] INFO  [25571] [XENGINE] Dump(db_options.cc:124)                       Options.max_log_file_size: 0
[2021-12-23 06:58:47.379887] INFO  [25571] [XENGINE] Dump(db_options.cc:127)                  Options.max_manifest_file_size: 18446744073709551615
[2021-12-23 06:58:47.379892] INFO  [25571] [XENGINE] Dump(db_options.cc:130)                   Options.log_file_time_to_roll: 0
[2021-12-23 06:58:47.379897] INFO  [25571] [XENGINE] Dump(db_options.cc:133)                       Options.keep_log_file_num: 1000
[2021-12-23 06:58:47.379903] INFO  [25571] [XENGINE] Dump(db_options.cc:136)                    Options.recycle_log_file_num: 0
[2021-12-23 06:58:47.379908] INFO  [25571] [XENGINE] Dump(db_options.cc:138)                         Options.allow_fallocate: 1
[2021-12-23 06:58:47.379914] INFO  [25571] [XENGINE] Dump(db_options.cc:140)                        Options.allow_mmap_reads: 0
[2021-12-23 06:58:47.379919] INFO  [25571] [XENGINE] Dump(db_options.cc:142)                       Options.allow_mmap_writes: 0
[2021-12-23 06:58:47.379924] INFO  [25571] [XENGINE] Dump(db_options.cc:144)                        Options.use_direct_reads: 0
[2021-12-23 06:58:47.379930] INFO  [25571] [XENGINE] Dump(db_options.cc:148)                        Options.use_direct_io_for_flush_and_compaction: 0
[2021-12-23 06:58:47.379936] INFO  [25571] [XENGINE] Dump(db_options.cc:150)          Options.create_missing_column_families: 0
[2021-12-23 06:58:47.379941] INFO  [25571] [XENGINE] Dump(db_options.cc:152)                              Options.db_log_dir: 
[2021-12-23 06:58:47.379947] INFO  [25571] [XENGINE] Dump(db_options.cc:154)                                 Options.wal_dir: /tmp/rocksdb_simple_example
[2021-12-23 06:58:47.379952] INFO  [25571] [XENGINE] Dump(db_options.cc:156)                Options.table_cache_numshardbits: 7
[2021-12-23 06:58:47.379957] INFO  [25571] [XENGINE] Dump(db_options.cc:159)                      Options.max_subcompactions: 1
[2021-12-23 06:58:47.379963] INFO  [25571] [XENGINE] Dump(db_options.cc:161)                  Options.max_background_flushes: 1
[2021-12-23 06:58:47.379968] INFO  [25571] [XENGINE] Dump(db_options.cc:164)                         Options.WAL_ttl_seconds: 0
[2021-12-23 06:58:47.379973] INFO  [25571] [XENGINE] Dump(db_options.cc:167)                       Options.WAL_size_limit_MB: 0
[2021-12-23 06:58:47.379979] INFO  [25571] [XENGINE] Dump(db_options.cc:170)             Options.manifest_preallocation_size: 4194304
[2021-12-23 06:58:47.379984] INFO  [25571] [XENGINE] Dump(db_options.cc:172)                     Options.is_fd_close_on_exec: 1
[2021-12-23 06:58:47.379990] INFO  [25571] [XENGINE] Dump(db_options.cc:174)                   Options.advise_random_on_open: 1
[2021-12-23 06:58:47.379995] INFO  [25571] [XENGINE] Dump(db_options.cc:177)                    Options.db_write_buffer_size: 0
[2021-12-23 06:58:47.380000] INFO  [25571] [XENGINE] Dump(db_options.cc:180)              Options.db_total_write_buffer_size: 0
[2021-12-23 06:58:47.380005] INFO  [25571] [XENGINE] Dump(db_options.cc:182)         Options.access_hint_on_compaction_start: 1
[2021-12-23 06:58:47.380011] INFO  [25571] [XENGINE] Dump(db_options.cc:184)  Options.new_table_reader_for_compaction_inputs: 0
[2021-12-23 06:58:47.380016] INFO  [25571] [XENGINE] Dump(db_options.cc:187)               Options.compaction_readahead_size: 0
[2021-12-23 06:58:47.380022] INFO  [25571] [XENGINE] Dump(db_options.cc:190)           Options.random_access_max_buffer_size: 1048576
[2021-12-23 06:58:47.380027] INFO  [25571] [XENGINE] Dump(db_options.cc:193)           Options.writable_file_max_buffer_size: 1048576
[2021-12-23 06:58:47.380033] INFO  [25571] [XENGINE] Dump(db_options.cc:195)                      Options.use_adaptive_mutex: 0
[2021-12-23 06:58:47.380038] INFO  [25571] [XENGINE] Dump(db_options.cc:197)                            Options.rate_limiter: (nil)
[2021-12-23 06:58:47.380044] INFO  [25571] [XENGINE] Dump(db_options.cc:200)     Options.sst_file_manager.rate_bytes_per_sec: 0
[2021-12-23 06:58:47.380050] INFO  [25571] [XENGINE] Dump(db_options.cc:203)                          Options.bytes_per_sync: 0
[2021-12-23 06:58:47.380056] INFO  [25571] [XENGINE] Dump(db_options.cc:206)                      Options.wal_bytes_per_sync: 0
[2021-12-23 06:58:47.380061] INFO  [25571] [XENGINE] Dump(db_options.cc:208)                       Options.wal_recovery_mode: 1
[2021-12-23 06:58:47.380066] INFO  [25571] [XENGINE] Dump(db_options.cc:210)                       Options.enable_aio_wal_reader: 1
[2021-12-23 06:58:47.380071] INFO  [25571] [XENGINE] Dump(db_options.cc:212)                       Options.parallel_wal_recovery: 1
[2021-12-23 06:58:47.380076] INFO  [25571] [XENGINE] Dump(db_options.cc:214)                       Options.parallel_recovery_thread_num: 0
[2021-12-23 06:58:47.380082] INFO  [25571] [XENGINE] Dump(db_options.cc:216)                  Options.enable_thread_tracking: 0
[2021-12-23 06:58:47.380088] INFO  [25571] [XENGINE] Dump(db_options.cc:218)         Options.allow_concurrent_memtable_write: 1
[2021-12-23 06:58:47.380093] INFO  [25571] [XENGINE] Dump(db_options.cc:220)      Options.enable_write_thread_adaptive_yield: 1
[2021-12-23 06:58:47.380098] INFO  [25571] [XENGINE] Dump(db_options.cc:223)             Options.write_thread_max_yield_usec: 100
[2021-12-23 06:58:47.380104] INFO  [25571] [XENGINE] Dump(db_options.cc:226)            Options.write_thread_slow_yield_usec: 3
[2021-12-23 06:58:47.380110] INFO  [25571] [XENGINE] Dump(db_options.cc:233)                               Options.row_cache: None
[2021-12-23 06:58:47.380115] INFO  [25571] [XENGINE] Dump(db_options.cc:237)                              Options.wal_filter: None
[2021-12-23 06:58:47.380120] INFO  [25571] [XENGINE] Dump(db_options.cc:240)             Options.avoid_flush_during_recovery: 0
[2021-12-23 06:58:47.380126] INFO  [25571] [XENGINE] Dump(db_options.cc:242)                         Options.compaction_type: Stream
[2021-12-23 06:58:47.380131] INFO  [25571] [XENGINE] Dump(db_options.cc:244)                         Options.compaction_mode: 0
[2021-12-23 06:58:47.380137] INFO  [25571] [XENGINE] Dump(db_options.cc:246)               Options.cpu_compaction_thread_num: 8
[2021-12-23 06:58:47.380142] INFO  [25571] [XENGINE] Dump(db_options.cc:248)              Options.fpga_compaction_thread_num: 8
[2021-12-23 06:58:47.380147] INFO  [25571] [XENGINE] Dump(db_options.cc:250)                          Options.fpga_device_id: 0
[2021-12-23 06:58:47.380152] INFO  [25571] [XENGINE] Dump(db_options.cc:252)                        Options.table_cache_size: 1073741824
[2021-12-23 06:58:47.380158] INFO  [25571] [XENGINE] Dump(db_options.cc:326)             Options.base_background_compactions: 1
[2021-12-23 06:58:47.380164] INFO  [25571] [XENGINE] Dump(db_options.cc:328)              Options.max_background_compactions: 1
[2021-12-23 06:58:47.380169] INFO  [25571] [XENGINE] Dump(db_options.cc:330)             Options.avoid_flush_during_shutdown: 0
[2021-12-23 06:58:47.380175] INFO  [25571] [XENGINE] Dump(db_options.cc:333)                      Options.delayed_write_rate: 16777216
[2021-12-23 06:58:47.380181] INFO  [25571] [XENGINE] Dump(db_options.cc:336)                      Options.max_total_wal_size: 0
[2021-12-23 06:58:47.380186] INFO  [25571] [XENGINE] Dump(db_options.cc:339)     Options.delete_obsolete_files_period_micros: 21600000000
[2021-12-23 06:58:47.380192] INFO  [25571] [XENGINE] Dump(db_options.cc:341)                   Options.stats_dump_period_sec: 600
[2021-12-23 06:58:47.380197] INFO  [25571] [XENGINE] Dump(db_options.cc:344)             Options.batch_group_slot_array_size: 5
[2021-12-23 06:58:47.380203] INFO  [25571] [XENGINE] Dump(db_options.cc:347)              Options.batch_group_max_group_size: 80
[2021-12-23 06:58:47.380208] INFO  [25571] [XENGINE] Dump(db_options.cc:350)     Options.batch_group_max_leader_wait_time_us: 200
[2021-12-23 06:58:47.380214] INFO  [25571] [XENGINE] Dump(db_options.cc:353)     Options.concurrent_writable_file_buffer_num: 4
[2021-12-23 06:58:47.380219] INFO  [25571] [XENGINE] Dump(db_options.cc:356) Options.concurrent_writable_file_single_buffer_size: 4194304
[2021-12-23 06:58:47.380225] INFO  [25571] [XENGINE] Dump(db_options.cc:359) Options.concurrent_writable_file_buffer_switch_limit: 524288
[2021-12-23 06:58:47.380231] INFO  [25571] [XENGINE] Dump(db_options.cc:362)                Options.use_direct_write_for_wal: 1
[2021-12-23 06:58:47.380236] INFO  [25571] [XENGINE] Dump(db_options.cc:365)                  Options.query_trace_enable_count: 1
[2021-12-23 06:58:47.380242] INFO  [25571] [XENGINE] Dump(db_options.cc:368)                 Options.query_trace_print_stats: 0
[2021-12-23 06:58:47.380248] INFO  [25571] [XENGINE] Dump(db_options.cc:371)            Options.mutex_backtrace_threshold_ns: 100000000
[2021-12-23 06:58:47.380253] INFO  [25571] [XENGINE] Dump(db_options.cc:374)            Options.auto_shrink_enabled: 1)
[2021-12-23 06:58:47.380259] INFO  [25571] [XENGINE] Dump(db_options.cc:377)            Options.max_free_extent_percent: 10)
[2021-12-23 06:58:47.380265] INFO  [25571] [XENGINE] Dump(db_options.cc:380)            Options.shrink_allocate_interval: 3600)
[2021-12-23 06:58:47.380270] INFO  [25571] [XENGINE] Dump(db_options.cc:383)            Options.max_shrink_extent_count: 512)
[2021-12-23 06:58:47.380276] INFO  [25571] [XENGINE] Dump(db_options.cc:386)            Options.total_max_shrink_extent_count: 7680)
[2021-12-23 06:58:47.380281] INFO  [25571] [XENGINE] Dump(db_options.cc:389)            Options.idle_tasks_schedule_time: 60)
[2021-12-23 06:58:47.380287] INFO  [25571] [XENGINE] Dump(db_options.cc:392)            Options.auto_shrink_schedule_interval: 3600)
[2021-12-23 06:58:47.380293] INFO  [25571] [XENGINE] DumpSupportInfo(db_impl.cc:157) Compression algorithms supported:
[2021-12-23 06:58:47.380299] INFO  [25571] [XENGINE] DumpSupportInfo(db_impl.cc:158)    Snappy supported: 0
[2021-12-23 06:58:47.380305] INFO  [25571] [XENGINE] DumpSupportInfo(db_impl.cc:159)    Zlib supported: 0
[2021-12-23 06:58:47.380310] INFO  [25571] [XENGINE] DumpSupportInfo(db_impl.cc:160)    Bzip supported: 0
[2021-12-23 06:58:47.380316] INFO  [25571] [XENGINE] DumpSupportInfo(db_impl.cc:161)    LZ4 supported: 0
[2021-12-23 06:58:47.380322] INFO  [25571] [XENGINE] DumpSupportInfo(db_impl.cc:162)    ZSTD supported: 0
[2021-12-23 06:58:47.380327] INFO  [25571] [XENGINE] DumpSupportInfo(db_impl.cc:164) Fast CRC32 supported: 

dongdongwcpp avatar Dec 23 '21 07:12 dongdongwcpp