0
votes

When i run castalia/simulations/simpleAggregation then found the following error:

Starting...

$ cd C:/omnetpp-4.6/samples/castalia/simulations/simpleAggregation
$ ../../src/castalia.exe -r 0 -n ..;../../src omnetpp.ini

OMNeT++ Discrete Event Simulation  (C) 1992-2014 Andras Varga, OpenSim Ltd.
Version: 4.6, build: 141202-f785492, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Tkenv...
Loading NED files from ..: 3
Loading NED files from ../../src: 33
Loading NED files from C:\omnetpp-4.6\samples\castalia\src: 33

Loading images from C:\omnetpp-4.6\images: *: 0  abstract/*: 90  background/*: 4  block/*: 320  device/*: 195  logo/*: 1  maps/*: 9  misc/*: 70  msg/*: 55  old/*: 111  status/*: 28  

Plugin path: ./plugins
undisposed object: (cTopology) SN.wirelessChannel.topo -- check module destructor
undisposed object: (cTopology) SN.wirelessChannel.topo -- check module destructor

End.
1

1 Answers

2
votes

This is no classical error case. The undisposed object messages hint that a message, a packet or another OMNeT++ object wasn't deleted in the source code after you're done using it.

This is typically a sign that there are some memory leaks in the code. For example, a packet gets created when you encapsulate or decapsulate it in another packet, afterwards you use and delete the en/de-capsulated message, but not the copy that got created during the en/de-capsulation process. OMNeT++ would then display undisposed object with the name of said packet.

You can use Valgrind to check for memory leaks when executing the simulation in the command environment from within Valgrind to find out where exactly the undisposed object was created. Or you can simply ignore the message, it (usually) won't break the execution.