Anonymous | Login | 2022-08-08 00:47 UTC | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0000081 | INET Framework | Base | public | 2009-06-17 09:16 | 2011-09-14 15:53 | ||||
Reporter | paatz | ||||||||
Assigned To | |||||||||
Priority | normal | Severity | crash | Reproducibility | always | ||||
Status | resolved | Resolution | open | ||||||
Platform | OS | OS Version | |||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0000081: usage of Failure Manager crashes Simulation | ||||||||
Description | I am trying to run the (unmodified) INET framework example mpls/testte_failure. At simtime T=2.0 the router LSR4 is replaced with a dummy router to simulate a failed router. But every time another router (e.g. LSR2) wants to send a message to LSR4, the simulation stops with the following error message: Error in module (PPP) RSVPTE4.LSR2.ppp[1].ppp (id=70): Cannot schedule message (cMessage)pppEndTXEvent to the past, t=0. or a Segmantation fault: 52 cException::init() /home/map/omnet/omnetpp-4.0/src/sim/cexception.cc:140 0xb7cd4ad9 51 cRuntimeError() /home/map/omnet/omnetpp-4.0/src/sim/cexception.cc:208 0xb7cd56aa 50 cComponent::getDisplayString() /home/map/omnet/omnetpp-4.0/src/sim/ccomponent.cc:192 0xb7cb7a1c 49 PPP::displayIdle() /home/map/omnet/inet-framework/src/linklayer/ppp/PPP.cc:277 0xb70ae6c2 48 PPP::handleMessage() /home/map/omnet/inet-framework/src/linklayer/ppp/PPP.cc:192 0xb70aeb18 47 cSimulation::doOneEvent() /home/map/omnet/omnetpp-4.0/src/sim/csimulation.cc:627 0xb7d0bd28 46 Tkenv::doRunSimulation() /home/map/omnet/omnetpp-4.0/src/tkenv/tkenv.cc:529 0xb7f31712 45 Tkenv::runSimulation() /home/map/omnet/omnetpp-4.0/src/tkenv/tkenv.cc:402 0xb7f31b4c | ||||||||
Additional Information | I used the following versions: OMNet++: omnetpp-4.0-src.tgz INET framework: INET-20090325-opp4-src.tgz, git version from 2009-06-11 After some debugging I found the reason for this message at PPP.cc Line 176. PPP.cc Line 175-177 // schedule an event for the time when last bit will leave the gate. simtime_t endTransmissionTime = datarateChannel->getTransmissionFinishTime(); scheduleAt(endTransmissionTime, endTransmissionEvent); The datarateChannel pointer points to the old channel and not to the new one copied in FailureManager.cc at simtime T=2.0. The function cDatarateChannel::deliver is correctly called with the new Pointer. It seems that only the PPP class works with the old channel pointers. Furthermore, some times, the simulation stops even before this message with a segmentation fault. I expect this to be due to the access of the (already freed) datarateChannel in the PPP class. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
![]() |
|
(0000556) zbojthe (developer) 2011-09-14 15:53 |
Fixed in PPP sometime. Added event handler to PPP for detecting connect/disconnect/change datarate, and added more bugfix for PPP in the year 2011. The mpls/testte_failure example works without any crash. |
![]() |
|||
Date Modified | Username | Field | Change |
2009-06-17 09:16 | paatz | New Issue | |
2011-09-14 15:53 | zbojthe | Note Added: 0000556 | |
2011-09-14 15:53 | zbojthe | Status | new => resolved |
Copyright © 2000 - 2022 MantisBT Team |