[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
debugging ns:
I make some changes to ns and now experience semi-random SIGSEGV (because
it may occur at different places with a high probability at one certain
place.) It normally fail at Replicator::recv(). Whenever I try use
breakpoint to see Classifier::install() in order to figure out how a bad
slot is installed, the NEXT Classifier::install() must be a SIGSEGV on
"maxslot_ = slot;" which doesn't look like SIGSEGV-prone to me.
The two SIGSEGV are listed below. I highly appreciate any guesses, hints,
and suggestions!
---------------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x80090cc in Replicator::recv (this=0x81b0190, p=0x81ac038) at
replicator.cc:118
118 slot_[maxslot_]->recv(p);
(gdb) p slot_
$6 = (NsObject **) 0x81b4758
(gdb) p slot_[maxslot_]
$7 = (NsObject *) 0x89
(gdb) p *slot_[maxslot_]
Cannot access memory at address 0x89.
------------------------------------------------------------------------
Breakpoint 4, Classifier::install (this=0x812f840, slot=0, p=0x81324f0)
at classifier.cc:95
95 maxslot_ = slot;
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
Classifier::install (this=0x812f840, slot=0, p=0x81324f0) at
classifier.cc:95
95 maxslot_ = slot;