Closed dimxy closed 1 year ago
My guess: in another thread some code is accessing pcoinsTip->cacheCoins object without locking, destroying it.
At the moment of crash in another thread there is MarmaraRunAutoSettlement function running:
#12 0x0000559137947043 in myGetTransaction (hash=..., txOut=..., hashBlock=...) at main.cpp:2289
#13 0x0000559137c60698 in enum_credit_loops<MarmaraRunAutoSettlement(int32_t, std::vector<CTransaction>&)::<lambda(const CTransaction&, const CTransaction&, const CTransaction&, const SMarmaraCreditLoopOpret&)> > (
callback=..., refcurrency="MARMARA", refpk=..., maxamount=1152921504606846976, minamount=0,
lastheight=1073741824, firstheight=0, cp=<optimized out>, nVoutMarker=3) at cc/marmara.cpp:4136
#14 MarmaraRunAutoSettlement (height=<optimized out>,
settlementTransactions=std::vector of length 0, capacity 0) at cc/marmara.cpp:4184
#15 0x000055913793f596 in komodo_createnodetransactions () at komodo_gateway.h:2729
#16 0x000055913788d2ae in ThreadUpdateKomodoInternals () at init.cpp:806
In MarmaraRunAutoSettlement there is a call to CCgettxout function which accesses pcoinsTip without locking cs_main. This may be a reason to crash. Now testing a fix with added locking cs_main critical section
A crash in marmara komodod on a NN dev node (on 12 Aug 2022). commit a92d8344d3c545b2641a1e04479c90d19588abe7 (HEAD, tag: v1.1.6, origin/master, origin/HEAD, master)
Backtrace: