Receive SIGSEGV at random places when calling malloc
Closed this issue · 8 comments
shuaimu commented
A possible place is
./rrr/rpc/marshal.hpp :34
raw_bytes(size_t sz = min_size) { size = std::max(sz, min_size); ptr = new char[size]; }
shuaimu commented
another possible place is
./rrr/rpc/server.cpp: 154
Request* req = new Request; verify(req->m.read_from_marshal(in_, packet_size) == (size_t) packet_size); v64 v_xid; req->m >> v_xid; req->xid = v_xid.get(); complete_requests.push_back(req);
shuaimu commented
another possible place is
./deptran/rcc_rpc.h: 383
std::vector* in_1 = new std::vector;
shuaimu commented
another possible place is
./deptran/rcc_rpc.h: 385
rrr::i32* out_0 = new rrr::i32;
shuaimu commented
another possible place is
./deptran/rcc_rpc.h: 408
rrr::DeferredReply* __defer__ = new rrr::DeferredReply(req, sconn, __marshal_reply__, __cleanup__);
shuaimu commented
./deptran/rcc_rpc.h: 364
rrr::i32* out_0 = new rrr::i32;
shuaimu commented
may be also caused by some wrongful use of scope locks. seems solved
lamontnelson commented