incubator-pegasus icon indicating copy to clipboard operation
incubator-pegasus copied to clipboard

coredump on thrift_helper

Open neverchanje opened this issue 4 years ago • 0 comments

Bug Report

Please answer these questions before submitting your issue. Thanks!

  1. What did you do? If possible, provide a recipe for reproducing the error.

Normal setup

  1. What did you expect to see?

No coredump

  1. What did you see instead?
#1  0x00007f4249b5d8c8 in abort () from /lib64/libc.so.6
#2  0x00007f4249b55146 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007f4249b551f2 in __assert_fail () from /lib64/libc.so.6
#4  0x00007f424dadcb9f in dsn::binary_reader::read (this=0x7f421f220d40,
    buffer=buffer@entry=0x7f421f220b90 "\001\001\300MB\177", sz=sz@entry=2)
    at /home/wutao1/pegasus-release/rdsn/src/core/core/binary_reader.cpp:80
#5  0x00000000005e30e5 in read (len=2,
    buf=0x7f421f220b90 "\001\001\300MB\177", this=0x7f421f220c10)
    at /home/wutao1/pegasus-release/DSN_ROOT/include/dsn/cpp/serialization_helper/thrift_helper.h:66
#6  apache::thrift::transport::readAll<dsn::binary_reader_transport> (
    trans=..., buf=0x7f421f220b90 "\001\001\300MB\177", len=2)
    at /home/wutao1/pegasus-release/rdsn/thirdparty/output/include/thrift/transport/TTransport.h:41
#7  0x00000000005d4ae3 in readAll (len=2,
    buf=0x7f421f220b90 "\001\001\300MB\177", this=<optimized out>)
    at /home/wutao1/pegasus-release/rdsn/thirdparty/output/include/thrift/transport/TTransport.h:121
#8  readI16 (this=<optimized out>, i16=@0x7f421f220bda: 1)
    at /home/wutao1/pegasus-release/rdsn/thirdparty/output/include/thrift/protocol/TBinaryProtocol.tcc:360
#9  readFieldBegin (name=..., fieldId=@0x7f421f220bda: 1,
    fieldType=<optimized out>, this=0x7f421f220c30)
    at /home/wutao1/pegasus-release/rdsn/thirdparty/output/include/thrift/protocol/TBinaryProtocol.tcc:259
#10 apache::thrift::protocol::TVirtualProtocol<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>, apache::thrift::protocol::TProtocolDefaults>::readFieldBegin_virt (this=0x7f421f220c30, name=...,
    fieldType=@0x7f421f220bdc: apache::thrift::protocol::T_VOID,
    fieldId=@0x7f421f220bda: 1)
    at /home/wutao1/pegasus-release/rdsn/thirdparty/output/include/thrift/protocol/TVirtualProtocol.h:415
#11 0x00000000005eb4d0 in readFieldBegin (fieldId=@0x7f421f220bda: 1,
    fieldType=@0x7f421f220bdc: apache::thrift::protocol::T_VOID, name=...,
    this=0x7f421f220c30)
    at /home/wutao1/pegasus-release/rdsn/thirdparty/output/include/thrift/protocol/TProtocol.h:451
#12 dsn::unmarshall_thrift_internal<dsn::apps::update_request> (val=...,
    proto=proto@entry=0x7f421f220c30)
    at /home/wutao1/pegasus-release/DSN_ROOT/include/dsn/cpp/serialization_helper/thrift_helper.h:669
#13 0x00000000006364b3 in unmarshall_thrift_binary<dsn::apps::update_request>
    (val=..., reader=..., this=<optimized out>)
    at /home/wutao1/pegasus-release/DSN_ROOT/include/dsn/cpp/serialization_helper/thrift_helper.h:703
#14 dsn::unmarshall<dsn::apps::update_request> (reader=..., value=...,
    fmt=<optimized out>)
    at /home/wutao1/pegasus-release/DSN_ROOT/include/dsn/cpp/serialization.h:73
#15 0x000000000062c8c7 in unmarshall<dsn::apps::update_request> (val=..., msg=
    0x24b8d794)
    at /home/wutao1/pegasus-release/DSN_ROOT/include/dsn/cpp/serialization.h:101
#16 internal (req=0x24b8d794, this=0x244d51e78)
    at /home/wutao1/pegasus-release/DSN_ROOT/include/dsn/cpp/rpc_holder.h:248
#17 construct<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, dsn::message_ex*&> (__p=0x244d51e78, this=<optimized out>)
    at /home/wutao1/app/include/c++/4.8.2/ext/new_allocator.h:120
#18 _S_construct<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, dsn::message_ex*&> (__p=0x244d51e78, __a=...)
    at /home/wutao1/app/include/c++/4.8.2/bits/alloc_traits.h:254
#19 construct<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, dsn::message_ex*&> (__p=0x244d51e78, __a=...)
    at /home/wutao1/app/include/c++/4.8.2/bits/alloc_traits.h:393
#20 _Sp_counted_ptr_inplace<dsn::message_ex*&> (__a=..., this=0x244d51e60)
    at /home/wutao1/app/include/c++/4.8.2/bits/shared_ptr_base.h:399
#21 construct<std::_Sp_counted_ptr_inplace<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal>, (__gnu_cxx::_Lock_policy)2>, std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal> const, dsn::message_ex*&> (
    __p=<optimized out>, this=<synthetic pointer>)
    at /home/wutao1/app/include/c++/4.8.2/ext/new_allocator.h:120
#22 _S_construct<std::_Sp_counted_ptr_inplace<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal>, (__gnu_cxx::_Lock_policy)2>, std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal> const, dsn::message_ex*&> (
    __p=<optimized out>, __a=<synthetic pointer>)
    at /home/wutao1/app/include/c++/4.8.2/bits/alloc_traits.h:254
#23 construct<std::_Sp_counted_ptr_inplace<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal>, (__gnu_cxx::_Lock_policy)2>, std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal> const, dsn::message_ex*&> (
    __p=<optimized out>, __a=<synthetic pointer>)
    at /home/wutao1/app/include/c++/4.8.2/bits/alloc_traits.h:393
#24 __shared_count<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal>, dsn::message_ex*&> (__a=...,
    this=<optimized out>)
    at /home/wutao1/app/include/c++/4.8.2/bits/shared_ptr_base.h:502
#25 __shared_ptr<std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal>, dsn::message_ex*&> (__a=..., __tag=...,
    this=<optimized out>)
    at /home/wutao1/app/include/c++/4.8.2/bits/shared_ptr_base.h:957
#26 shared_ptr<std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal>, dsn::message_ex*&> (__a=..., __tag=...,
    this=<optimized out>)
    at /home/wutao1/app/include/c++/4.8.2/bits/shared_ptr.h:316
#27 allocate_shared<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, std::allocator<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal>, dsn::message_ex*&> (__a=...)
    at /home/wutao1/app/include/c++/4.8.2/bits/shared_ptr.h:598
#28 make_shared<dsn::rpc_holder<dsn::apps::update_request, dsn::apps::update_response>::internal, dsn::message_ex*&> ()
    at /home/wutao1/app/include/c++/4.8.2/bits/shared_ptr.h:614
#29 rpc_holder (req=0x24b8d794, this=0x7f421f220d30)
    at /home/wutao1/pegasus-release/DSN_ROOT/include/dsn/cpp/rpc_holder.h:85
#30 auto_reply (req=0x24b8d794)
    at /home/wutao1/pegasus-release/DSN_ROOT/include/dsn/cpp/rpc_holder.h:207
#31 pegasus::server::pegasus_server_write::on_batched_writes (
    this=this@entry=0x1350be00, requests=requests@entry=0x7f421f220ec0,
    count=count@entry=1)
    at /home/wutao1/pegasus-release/src/server/pegasus_server_write.cpp:91
#32 0x000000000062d896 in pegasus::server::pegasus_server_write::on_batched_write_requests (this=0x1350be00, requests=0x7f421f220ec0, count=1,
    decree=<optimized out>, timestamp=<optimized out>)
    at /home/wutao1/pegasus-release/src/server/pegasus_server_write.cpp:70
#33 0x00007f424da2d7fa in dsn::replication::replication_app_base::apply_mutation (this=0x4003000, mu=0x240c90dc0)
    at /home/wutao1/pegasus-release/rdsn/src/dist/replication/lib/replication_app_base.cpp:511
#34 0x00007f424d99b689 in dsn::replication::replica::execute_mutation (
    this=0x292d600, mu=...)
    at /home/wutao1/pegasus-release/rdsn/src/dist/replication/lib/replica.cpp:268
#35 0x00007f424d997096 in dsn::replication::prepare_list::commit (
    this=0x2df78f0, d=<optimized out>,
    ct=ct@entry=dsn::replication::COMMIT_ALL_READY)
    at /home/wutao1/pegasus-release/rdsn/src/dist/replication/lib/prepare_list.cpp:182
#36 0x00007f424d99d31f in dsn::replication::replica::do_possible_commit_on_primary (this=this@entry=0x292d600, mu=...)
    at /home/wutao1/pegasus-release/rdsn/src/dist/replication/lib/replica_2pc.cpp:265
#37 0x00007f424d9a1d9b in dsn::replication::replica::on_append_log_completed (
    this=0x292d600, mu=..., err=..., size=<optimized out>)
    at /home/wutao1/pegasus-release/rdsn/src/dist/replication/lib/replica_2pc.cpp:448
#38 0x00007f424db1d428 in operator() (__args#1=<optimized out>, __args#0=...,
    this=<optimized out>)
    at /home/wutao1/app/include/c++/4.8.2/functional:2464
#39 dsn::aio_task::exec (this=<optimized out>)
    at /home/wutao1/pegasus-release/rdsn/include/dsn/tool-api/task.h:600
#40 0x00007f424db1afd9 in dsn::task::exec_internal (
    this=this@entry=0x24b8d648)
    at /home/wutao1/pegasus-release/rdsn/src/core/core/task.cpp:180
#41 0x00007f424db2f22d in dsn::task_worker::loop (this=0x2689a20)
    at /home/wutao1/pegasus-release/rdsn/src/core/core/task_worker.cpp:211
#42 0x00007f424db2f3f9 in dsn::task_worker::run_internal (this=0x2689a20)
    at /home/wutao1/pegasus-release/rdsn/src/core/core/task_worker.cpp:191
#43 0x00007f424a4b4600 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimized out>)
    at /home/qinzuoyan/git.xiaomi/pegasus/toolchain/objdir/../gcc-4.8.2/libstdc++-v3/src/c++11/thread.cc:84
#44 0x00007f424afc6dc5 in start_thread () from /lib64/libpthread.so.0
#45 0x00007f4249c1e73d in clone () from /lib64/libc.so.6
  1. What version of Pegasus are you using?

1.12.3

neverchanje avatar Jan 27 '21 13:01 neverchanje