Actions
Bug #30
closed
Async cross layer messages causes seg fault
Start date:
11/07/2025
Due date:
% Done:
0%
Estimated time:
Description
Test script: test_uwtdma.tcl
Protocol stack:
# +-------------------------+
# | 7. UW/CBR |
# +-------------------------+
# | 6. UW/UDP |
# +-------------------------+
# | 5. UW/STATICROUTING |
# +-------------------------+
# | 4. UW/IP |
# +-------------------------+
# | 3. UW/MLL |
# +-------------------------+
# | 2. UW/TDMA |
# +-------------------------+
# | 1. UW/PHYSICAL |
# +-------------------------+
If you send an async cross-layer message from the physical layer, i.e.:
UnderwaterPhysical::recv() {
...
ClMsgUwPhyTxPwr *m = new ClMsgUwPhyTxPwr();
sendAsyncClMsg(m);
...
}
The script segfault, with this backtrace:
#0 0x00007ffff7d27ee0 in PlugIn::crLayCommand(ClMessage*) () from /home/cimino/Documents/DESERT_Underwater/DESERT_buildCopy_LOCAL/lib/libMiracle.so
No symbol table info available.
No locals.
#2 0x00007ffff7d25233 in ClSAP::sendModule(ClMessage*, double) () from /home/cimino/Documents/DESERT_Underwater/DESERT_buildCopy_LOCAL/lib/libMiracle.so
No symbol table info available.
#3 0x00007ffff7d3b65d in NodeCore::sendClSAP(int, int, ClMessage*) () from /home/cimino/Documents/DESERT_Underwater/DESERT_buildCopy_LOCAL/lib/libMiracle.so
No symbol table info available.
#4 0x00007ffff7d3bb43 in NodeCore::crLayCommand(ClMessage*) () from /home/cimino/Documents/DESERT_Underwater/DESERT_buildCopy_LOCAL/lib/libMiracle.so
No symbol table info available.
#5 0x00007ffff7d25558 in ClSAP::sendClLayer(ClMessage*, double) () from /home/cimino/Documents/DESERT_Underwater/DESERT_buildCopy_LOCAL/lib/libMiracle.so
No symbol table info available.
#6 0x00007ffff7d281fd in PlugIn::sendAsyncClMsg(ClMessage*, double) () from /home/cimino/Documents/DESERT_Underwater/DESERT_buildCopy_LOCAL/lib/libMiracle.so
No symbol table info available.
#7 0x00007ffff7936cde in UnderwaterPhysical::recv (this=0x555556146220, p=0x55555617b210)
at /home/cimino/Documents/DESERT_Underwater/DESERT_Framework/DESERT/physical/uwphysical/uwphysical.cpp:281
m = 0x55555617c4e0
pe = 0x7ffff7c7ba01 <(anonymous namespace)::collate_c+17>
ch = 0x55555617b338
ph = 0x55555617b2b8
__PRETTY_FUNCTION__ = "virtual void UnderwaterPhysical::recv(Packet*)"
#8 0x00007ffff7d39acb in Module::recv(Packet*, int) () from /home/cimino/Documents/DESERT_Underwater/DESERT_buildCopy_LOCAL/lib/libMiracle.so
No symbol table info available.
Actions