Open mfrey opened 11 years ago
Do you know which deque specifically is the problem?
No, that's actually the output from the log file. The rest of the log file is as follows
undisposed object: (Ieee80211DataFrameWithSNAP) EARAScenario.node[41].wlan[0].mac.DATA --
check module destructor
undisposed object: (ARA::omnetpp::OMNeTEARAPacket) EARAScenario.node[41].networkLayer.ara.DATA
-- check module destruct or
You can safely ignore the undisposed object messages for now. They come up when the simulation shuts down (in this case because it caught an exception) and there are objects that have not been deleted by their owners. This is not a surprise if an exception has been thrown which we didn't really expect.
I would advise turning on our own logging by setting **.ara.logLevel = "TRACE"
in the corresponding omnetpp.ini.
This way we can at least see, what happened right before the exception is thrown. Since this is no segfault it will be hard to figure out where it hides just using a debugger.
I'm going to try to repeat the simulations with the suggested log level. However, I couldn't repeat this issue with the last round of simulations I had run.
I've had finally some time left and did some simulations (and increased the log level as suggested). However, the higher log level didn't gave much more information:
133979 [211.580000] node[1] [DEBUG] Forwarding DATA packet 10598 from [1] to [2] via [37] (phi=129.14)
133980 ** Event #23742605 T=211.58025 Elapsed: 377.367s (6m 17s) 23% completed
133981 Speed: ev/sec=60494.9 simsec/sec=0.851313 ev/simsec=71060.7
133982 Messages: created: 20604752 present: 662 in FES: 146
133983
133984 <!> Error in module (ARA::omnetpp::EARA)
EARAScenario.node[37].networkLayer.ara (id=697) at event #23742605, t=211.58025:
std::out_of_range: deque::_M_range_check
This does only show one actual log entry. A couple of more would be more helpful. Sorry for the late answer I am currently very busy with work and everything
*\ EDIT: I've added a more detailed trace. The additional log messages are not part commited to the master.
[577.680544] node[47] [DEBUG] Forwarding DATA packet 28831 from [1] to [2] via [2] (phi=13.63)
[577.680838] node[2] [TRACE] Did not create new route to [1] via [47] (prevHop [11] or sender has been seen before)
[577.680838] node[2] [TRACE] receivePacket: will decrease TTL
[577.680838] node[2] [TRACE] hasBeenReceivedEarlier: get source
[577.680838] node[2] [TRACE] hasBeenReceivedEarlier: get sequence number
[577.680838] node[2] [TRACE] hasBeenReceivedEarlier: iterate over last received packets
[577.680838] node[2] [TRACE] hasBeenReceivedEarlier: found no packet
[577.680838] node[2] [TRACE] receivePacket: will register received packet
[577.680838] node[2] [TRACE] receivePacket: handle packet
[577.680838] node[2] [INFO] Packet 28831 from [1] reached its destination
[577.700000] node[1] [DEBUG] Forwarding DATA packet 28832 from [1] to [2] via [11] (phi=52.94)
[577.700250] node[11] [TRACE] Did not create new route to [1] via [1] (prevHop [1] or sender has been seen before)
[577.700250] node[11] [TRACE] receivePacket: will decrease TTL
[577.700250] node[11] [TRACE] hasBeenReceivedEarlier: get source
[577.700250] node[11] [TRACE] hasBeenReceivedEarlier: get sequence number
[577.700250] node[11] [TRACE] hasBeenReceivedEarlier: iterate over last received packets
[577.700250] node[11] [TRACE] hasBeenReceivedEarlier: found no packet
[577.700250] node[11] [TRACE] receivePacket: will register received packet
[577.700250] node[11] [TRACE] receivePacket: handle packet
[577.700250] node[11] [DEBUG] Forwarding DATA packet 28832 from [1] to [2] via [48] (phi=9.99)
[577.700544] node[48] [TRACE] Did not create new route to [1] via [11] (prevHop [1] or sender has been seen before)
[577.700544] node[48] [TRACE] receivePacket: will decrease TTL
[577.700544] node[48] [TRACE] hasBeenReceivedEarlier: get source
[577.700544] node[48] [TRACE] hasBeenReceivedEarlier: get sequence number
[577.700544] node[48] [TRACE] hasBeenReceivedEarlier: iterate over last received packets
[577.700544] node[48] [TRACE] hasBeenReceivedEarlier: found no packet
[577.700544] node[48] [TRACE] receivePacket: will register received packet
[577.700544] node[48] [TRACE] receivePacket: handle packet
[577.700544] node[48] [DEBUG] Forwarding DATA packet 28832 from [1] to [2] via [50] (phi=19.42)
[577.700838] node[0] [TRACE] Did not create new route to [1] via [48] (prevHop [11] or sender has been seen before)
[577.700838] node[0] [TRACE] receivePacket: will decrease TTL
[577.700838] node[0] [TRACE] hasBeenReceivedEarlier: get source
[577.700838] node[0] [TRACE] hasBeenReceivedEarlier: get sequence number
[577.700838] node[0] [TRACE] hasBeenReceivedEarlier: iterate over last received packets
[577.700838] node[0] [TRACE] hasBeenReceivedEarlier: found no packet
[577.700838] node[0] [TRACE] receivePacket: will register received packet
[577.700838] node[0] [TRACE] receivePacket: handle packet
[577.700838] node[0] [DEBUG] Forwarding DATA packet 28832 from [1] to [2] via [2] (phi=157.42)
[577.701132] node[2] [TRACE] receivePacket: will decrease TTL
[577.701132] node[2] [TRACE] hasBeenReceivedEarlier: get source
[577.701132] node[2] [TRACE] hasBeenReceivedEarlier: get sequence number
[577.701132] node[2] [TRACE] hasBeenReceivedEarlier: iterate over last received packets
[577.701132] node[2] [TRACE] hasBeenReceivedEarlier: found no packet
[577.701132] node[2] [TRACE] receivePacket: will register received packet
[577.701132] node[2] [TRACE] receivePacket: handle packet
[577.701132] node[2] [INFO] Packet 28832 from [1] reached its destination
** Event #40570195 T=577.72 Elapsed: 652.271s (10m 52s) 64% completed
Speed: ev/sec=65614.9 simsec/sec=0.988599 ev/simsec=66371.6
Messages: created: 34605172 present: 602 in FES: 102
<!> Error in module (ARA::omnetpp::EARA) EARAScenario.node[1].networkLayer.ara (id=85)
at event #40570195, t=577.72: std::out_of_range: deque::_M_range_check.
undisposed object: (ARA::omnetpp::OMNeTEARAPacket) EARAScenario.node[1].networkLayer.ara.DATA
-- check module destructor
End.
There seems to be a problem in the EARA scenarios (the following snippet is from a log file).
This looks like a range check fail in the node deque list. The simulation aborted at 57 % of its execution time.