Project

General

Profile

Actions

Bug #30

closed

Async cross layer messages causes seg fault

Added by Vincenzo Cimino 5 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Target version:
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 #1

Updated by Vincenzo Cimino 5 months ago

  • Description updated (diff)
Actions #2

Updated by Vincenzo Cimino 5 months ago

  • Description updated (diff)
Actions #3

Updated by Vincenzo Cimino 5 months ago

  • Description updated (diff)
Actions #4

Updated by Vincenzo Cimino 5 months ago

  • Status changed from New to Resolved
Actions #5

Updated by Vincenzo Cimino 5 months ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF