[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;