Marshall Asch activity https://gitlab.com/MarshallAsch 2023-05-03T00:11:47Z tag:gitlab.com,2023-05-03:2566136087 Marshall Asch removed due to membership expiration from project Code Challenge / kubecon-eu-2023-challenges / MarshallAsch-challenge-1681912174 2023-05-03T00:11:47Z MarshallAsch Marshall Asch tag:gitlab.com,2023-04-19:2540630828 Marshall Asch pushed to project branch level1 at Code Challenge / kubecon-eu-2023-challenges / MarshallAsch-challenge-1681912174 2023-04-19T15:35:28Z MarshallAsch Marshall Asch

Marshall Asch (21703458) at 19 Apr 15:35

fix: update the ascii art year

tag:gitlab.com,2023-04-19:2540621698 Marshall Asch pushed to project branch level1 at Code Challenge / kubecon-eu-2023-challenges / MarshallAsch-challenge-1681912174 2023-04-19T15:32:06Z MarshallAsch Marshall Asch

Marshall Asch (1ac0fb38) at 19 Apr 15:32

feat: add HELLO_FROM variable in the deploy step for level2

tag:gitlab.com,2023-04-19:2540600530 Marshall Asch opened merge request !1: feat: add the variable for level1 at Code Challenge / kubecon-eu-2023-challenges / MarshallAsch-challenge-1681912174 2023-04-19T15:24:23Z MarshallAsch Marshall Asch
tag:gitlab.com,2023-04-19:2540595225 Marshall Asch opened merge request !116: feat: add the variable for level1 at Code Challenge / KubeCon EU 2023 Code Challenge 2023-04-19T15:22:23Z MarshallAsch Marshall Asch
tag:gitlab.com,2023-04-19:2540594204 Marshall Asch pushed new project branch level1 at Code Challenge / kubecon-eu-2023-challenges / MarshallAsch-challenge-1681912174 2023-04-19T15:22:01Z MarshallAsch Marshall Asch

Marshall Asch (b8a9096e) at 19 Apr 15:22

feat: add the variable for level1

tag:gitlab.com,2023-04-19:2540302111 Marshall Asch created project Marshall Asch / KubeCon EU 2023 Code Challenge 2023-04-19T13:51:18Z MarshallAsch Marshall Asch tag:gitlab.com,2023-04-19:2540296468 Marshall Asch joined project Code Challenge / kubecon-eu-2023-challenges / MarshallAsch-challenge-1681912174 2023-04-19T13:49:35Z MarshallAsch Marshall Asch tag:gitlab.com,2022-01-09:1654254419 Marshall Asch commented on issue #503 at nsnam / ns-3-dev 2022-01-09T01:51:28Z MarshallAsch Marshall Asch

okay thanks, I'll run that when I get a chance, it might not be for a little while, I found an unrelated bug in my code so I have to rerun all my simulations so I'll have to wait until they complete. (I am so so close to getting this masters done). I will update this when I get to it. I appreciate your assistance in figuring this out.

tag:gitlab.com,2022-01-09:1654241784 Marshall Asch commented on issue #503 at nsnam / ns-3-dev 2022-01-09T00:55:38Z MarshallAsch Marshall Asch

That would be the same as:

     ./waf configure --enable-tests --enable-examples --disable-gtk --disable-python
     CXX='-fsanitize=address,leak' ./waf
     CXX='-fsanitize=address,leak' ./waf --run "rhpman-example \
...
      --optionalCheckBuffer=False --optionalNoEmptyTransfers=False --RngRun=1634"  > log_sanitize.out 2>log_sanitize.err

correct? or would that be different? (that is here #503 (comment 791960837))

tag:gitlab.com,2022-01-09:1654230561 Marshall Asch commented on issue #503 at nsnam / ns-3-dev 2022-01-09T00:11:39Z MarshallAsch Marshall Asch

I ran it again last week with only the sanitizers and nothing different seemed to happen, it seem to give no additional output when it was run normally and the same stack trace when run using gdb.

tag:gitlab.com,2021-12-21:1631553897 Marshall Asch commented on issue #503 at nsnam / ns-3-dev 2021-12-21T22:01:57Z MarshallAsch Marshall Asch

I ran it again in a arch vm (archlinux/archlinux in Vagrant) and I got the same errors:

Setup

pacman -Syu --noconfirm
pacman -Syu protobuf git base-devel python ccache gsl libgcrypt gtk3 boost valgrind --noconfirm
git clone --depth 1 -b ns-3.32 https://gitlab.com/nsnam/ns-3-dev.git
cd ns-3-dev/contrib
git clone --depth 1 https://github.com/MarshallAsch/rhpman.git
cd ..
chown -R vagrant:vagrant .
./waf configure --enable-tests --enable-examples --disable-gtk --disable-python
CXX='-fsanitize=address,leak' ./waf

./waf --valgrind --run "rhpman-example \
      --runTime=2400 --waitTime=600 --lookupTime=30 --updateTime=120 \
      --dataSize=512 --profileUpdateDelay=6 --totalNodes=160 \
      --storageSpace=160 --bufferSpace=160 --wcdc=0.5 --wcol=0.5 --hops=2 \
      --replicationHops=4 --carryingThreshold=0.7 --forwardingThreshold=0.6 \
      --percentDataOwners=10 --areaWidth=1000 --areaLength=1000 --gridRows=4 \
      --gridCols=4 --wifiRadius=100 --partitionNodes=8 --travellerVelocity=20 \
      --travellerWalkMode=time --travellerWalkTime=100 --pbnVelocityMin=1 \
      --pbnVelocityMax=10 --pbnVelocityChangeAfter=100 --routing=dsdv \
      --travellerWalkDist=0 --requestTimeout=0 --peerTimeout=12 \
      --electionPeriod=6 --electionCooldown=6 --storageWeight=0.5 \
      --energyWeight=0.5 --processingWeight=0 --lowPowerThreshold=0.4 \
      --staggeredStart=False --optionCarrierForwarding=False \
      --optionalCheckBuffer=False --optionalNoEmptyTransfers=False --RngRun=1634"  > log.out 2>log.err

First couple errors

The last one is repeated over and over again with some slightly different sources.

==22827== Memcheck, a memory error detector
==22827== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==22827== Using Valgrind-3.17.0 and LibVEX; rerun with -h for copyright info
==22827== Command: /home/vagrant/ns-3-dev/build/contrib/rhpman/examples/ns3.32-rhpman-example-debug --runTime=2400 --waitTime=600 --lookupTime=30 --updateTime=120 --dataSize=512 --profileUpdateDelay=6 --totalNodes=160 --storageSpace=160 --bufferSpace=160 --wcdc=0.5 --wcol=0.5 --hops=2 --replicationHops=4 --carryingThreshold=0.7 --forwardingThreshold=0.6 --percentDataOwners=10 --areaWidth=1000 --areaLength=1000 --gridRows=4 --gridCols=4 --wifiRadius=100 --partitionNodes=8 --travellerVelocity=20 --travellerWalkMode=time --travellerWalkTime=100 --pbnVelocityMin=1 --pbnVelocityMax=10 --pbnVelocityChangeAfter=100 --routing=dsdv --travellerWalkDist=0 --requestTimeout=0 --peerTimeout=12 --electionPeriod=6 --electionCooldown=6 --storageWeight=0.5 --energyWeight=0.5 --processingWeight=0 --lowPowerThreshold=0.4 --staggeredStart=False --optionCarrierForwarding=False --optionalCheckBuffer=False --optionalNoEmptyTransfers=False --RngRun=1634
==22827== 
Setting up traveller node mobility models...
Setting up partition-bound node mobility models...
Setting up wireless devices for all nodes...
Assigning MAC addresses in ad-hoc mode...
Assigning energy model...
Setting up Internet stacks...
Running simulation for 2400 seconds...
assert failed. cond="interface >= 0", +1554.937308222s 7 file=../src/internet/model/ipv4-l3-protocol.cc, line=972
terminate called without an active exception
==22827== 
==22827== Process terminating with default action of signal 6 (SIGABRT): dumping core
==22827==    at 0x8F7DD22: raise (in /usr/lib/libc-2.33.so)
==22827==    by 0x8F67861: abort (in /usr/lib/libc-2.33.so)
==22827==    by 0x8C65801: __gnu_cxx::__verbose_terminate_handler() [clone .cold] (vterminate.cc:95)
==22827==    by 0x8C71C89: __cxxabiv1::__terminate(void (*)()) (eh_terminate.cc:48)
==22827==    by 0x8C71CF6: std::terminate() (eh_terminate.cc:58)
==22827==    by 0x6385E78: ns3::Ipv4L3Protocol::SendRealOut(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet>, ns3::Ipv4Header const&) (ipv4-l3-protocol.cc:972)
==22827==    by 0x63883A2: ns3::Ipv4L3Protocol::IpForward(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&) (ipv4-l3-protocol.cc:1084)
==22827==    by 0x63B2E96: ns3::MemPtrCallbackImpl<ns3::Ipv4L3Protocol*, void (ns3::Ipv4L3Protocol::*)(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&), void, ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>::operator()(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&) (callback.h:646)
==22827==    by 0x49F4CF5: ns3::Callback<void, ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>::operator()(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&) const (callback.h:1430)
==22827==    by 0x4A889AD: ns3::dsdv::RoutingProtocol::SendPacketFromQueue(ns3::Ipv4Address, ns3::Ptr<ns3::Ipv4Route>) (dsdv-routing-protocol.cc:1175)
==22827==    by 0x4A88054: ns3::dsdv::RoutingProtocol::LookForQueuedPackets() (dsdv-routing-protocol.cc:1148)
==22827==    by 0x4A78155: ns3::dsdv::RoutingProtocol::RouteOutput(ns3::Ptr<ns3::Packet>, ns3::Ipv4Header const&, ns3::Ptr<ns3::NetDevice>, ns3::Socket::SocketErrno&) (dsdv-routing-protocol.cc:307)
==22827== 
==22827== HEAP SUMMARY:
==22827==     in use at exit: 667,246,207 bytes in 12,718,294 blocks
==22827==   total heap usage: 1,355,854,511 allocs, 1,343,136,217 frees, 143,635,745,182 bytes allocated
==22827== 
==22827== 8 bytes in 1 blocks are still reachable in loss record 1 of 9,941
==22827==    at 0x483EF3F: operator new(unsigned long) (vg_replace_malloc.c:417)
==22827==    by 0x689EB13: __gnu_cxx::new_allocator<ns3::Ptr<ns3::Channel> >::allocate(unsigned long, void const*) (new_allocator.h:121)
==22827==    by 0x689E98E: std::allocator_traits<std::allocator<ns3::Ptr<ns3::Channel> > >::allocate(std::allocator<ns3::Ptr<ns3::Channel> >&, unsigned long) (alloc_traits.h:460)
==22827==    by 0x689E7DF: std::_Vector_base<ns3::Ptr<ns3::Channel>, std::allocator<ns3::Ptr<ns3::Channel> > >::_M_allocate(unsigned long) (stl_vector.h:346)
==22827==    by 0x689E32A: void std::vector<ns3::Ptr<ns3::Channel>, std::allocator<ns3::Ptr<ns3::Channel> > >::_M_realloc_insert<ns3::Ptr<ns3::Channel> const&>(__gnu_cxx::__normal_iterator<ns3::Ptr<ns3::Channel>*, std::vector<ns3::Ptr<ns3::Channel>, std::allocator<ns3::Ptr<ns3::Channel> > > >, ns3::Ptr<ns3::Channel> const&) (vector.tcc:440)
==22827==    by 0x689DE01: std::vector<ns3::Ptr<ns3::Channel>, std::allocator<ns3::Ptr<ns3::Channel> > >::push_back(ns3::Ptr<ns3::Channel> const&) (stl_vector.h:1198)
==22827==    by 0x7D51A54: ns3::ChannelListPriv::Add(ns3::Ptr<ns3::Channel>) (channel-list.cc:178)
==22827==    by 0x7D524FA: ns3::ChannelList::Add(ns3::Ptr<ns3::Channel>) (channel-list.cc:217)
==22827==    by 0x7D4F98D: ns3::Channel::Channel() (channel.cc:50)
==22827==    by 0x6E08683: ns3::YansWifiChannel::YansWifiChannel() (yans-wifi-channel.cc:60)
==22827==    by 0x7063E51: ns3::Ptr<ns3::YansWifiChannel> ns3::CreateObject<ns3::YansWifiChannel>() (object.h:565)
==22827==    by 0x7062A11: ns3::YansWifiChannelHelper::Create() const (yans-wifi-helper.cc:100)
==22827== 
==22827== 8 bytes in 1 blocks are still reachable in loss record 2 of 9,941
==22827==    at 0x483EF3F: operator new(unsigned long) (vg_replace_malloc.c:417)
==22827==    by 0x6653158: ns3::Ipv6StaticRoutingHelper::Copy() const (ipv6-static-routing-helper.cc:49)
==22827==    by 0x66A281E: ns3::InternetStackHelper::SetRoutingHelper(ns3::Ipv6RoutingHelper const&) (internet-stack-helper.cc:185)
==22827==    by 0x66A22DD: ns3::InternetStackHelper::Initialize() (internet-stack-helper.cc:128)
==22827==    by 0x66A2174: ns3::InternetStackHelper::InternetStackHelper() (internet-stack-helper.cc:113)
==22827==    by 0x121B79: main (rhpman-example.cc:216)
==22827== 
==22827== 16 bytes in 1 blocks are still reachable in loss record 3 of 9,941
==22827==    at 0x483EF3F: operator new(unsigned long) (vg_replace_malloc.c:417)
==22827==    by 0x81E405D: ns3::Ptr<ns3::BooleanValue> ns3::Create<ns3::BooleanValue, ns3::BooleanValue>(ns3::BooleanValue) (ptr.h:407)
==22827==    by 0x81E35EF: ns3::BooleanValue::Copy() const (boolean.cc:79)
==22827==    by 0x8185B6B: ns3::TypeId::AddAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, ns3::AttributeValue const&, ns3::Ptr<ns3::AttributeAccessor const>, ns3::Ptr<ns3::AttributeChecker const>, ns3::TypeId::SupportLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (type-id.cc:1045)
==22827==    by 0x815D7CF: ns3::CalendarScheduler::GetTypeId() (calendar-scheduler.cc:56)
==22827==    by 0x8161837: ns3::ObjectCalendarSchedulerRegistrationClass::ObjectCalendarSchedulerRegistrationClass() (calendar-scheduler.cc:42)
==22827==    by 0x816173D: __static_initialization_and_destruction_0(int, int) (calendar-scheduler.cc:42)
==22827==    by 0x81617B4: _GLOBAL__sub_I_calendar_scheduler.cc (calendar-scheduler.cc:431)
==22827==    by 0x400FE2D: call_init (in /usr/lib/ld-2.33.so)
==22827==    by 0x400FF1B: _dl_init (in /usr/lib/ld-2.33.so)
==22827==    by 0x40010C9: ??? (in /usr/lib/ld-2.33.so)
==22827==    by 0x2B: ???
tag:gitlab.com,2021-12-08:1608865811 Marshall Asch commented on issue #503 at nsnam / ns-3-dev 2021-12-08T22:14:50Z MarshallAsch Marshall Asch

Oops, that definitely is a mistake (and there were unit tests for that block of code 😞 ) . My bad, its not what caused this to occur. Based on the usage of that function the first return is actually the 'correct' usage of the function.

Use ns-3-dev Is there a difference between ns-3-dev and ns-allinone? I know my code does not compile against ns3 versions newer than 3.32 (I could change it its because of a single function call if I remember correctly)

Make sure that your module does not have memory issues

I have tested a number of test cases with valgrind (albeit not recently since I started getting that error) and there were not any memory warnings or errors as a result of my code, there were a number of warnings that come from the protocol buffer library which I was unable to remove.

I also noticed when looking through the release notes that there have been some mentions of the IPv4Address classes in the newer ns-3 versions. Could this have been something that could have been coincidentally fixed in one of those versions (I have not looked too closely at the specific fixes)?

tag:gitlab.com,2021-12-08:1608326633 Marshall Asch opened issue #503: ns3::Ipv4Interface::IsUp() const (ipv4-interface.cc:174) Invalid read at nsnam / ns-3-dev 2021-12-08T16:10:56Z MarshallAsch Marshall Asch

ns-3 version: 3.32

System: Fedora33

no modifications to the ns3-core The only modification is adding the https://github.com/MarshallAsch/rhpman module to the contrib directory

Description:

In some situations ns-3 simulations crash with an invalid read error. It does not seem to occur every time or with any particular set of configurations. The error occurs roughly 0.27% of the time (of 7800 runs). (not very many I know). The error in the stack trace shown below occurred roughly 15 hours into a debug simulation run (an optimized run generally takes about 20 minutes) so its not the easiest thing to test for.

Expected behaviour For the simulation to not crash unexpectedly

Reproduction The issue does not seem to happen with every input set, but when the same set of flags is used it will happen every time. If any value is changed, including the RngRun option the error might not occur.

The module is a MANET storage scheme module that is based on DSDV, a IPv4 wifi ad hoc network, and UDP network transmissions. Destination addresses of nodes are selected by converting the nodes src addresses to an int32 then back into an IPv4Address (this is done for separate mapping purposes).

Repeating the issue A prebuilt docker container showing the issue can be found here:

$ docker run -it --rm marshallasch/rhpman:debug
# apt-get update && apt-get install gdb valgrind -y
# ./waf --gdb --run "rhpman-example \
       --runTime=2400 --waitTime=600 --lookupTime=30 --updateTime=120 \
       --dataSize=512 --profileUpdateDelay=6 --totalNodes=160 \
       --storageSpace=160 --bufferSpace=160 --wcdc=0.5 --wcol=0.5 --hops=2 \
       --replicationHops=4 --carryingThreshold=0.7 --forwardingThreshold=0.6 \
       --percentDataOwners=10 --areaWidth=1000 --areaLength=1000 --gridRows=4 \
       --gridCols=4 --wifiRadius=100 --partitionNodes=8 --travellerVelocity=20 \
       --travellerWalkMode=time --travellerWalkTime=100 --pbnVelocityMin=1 \
       --pbnVelocityMax=10 --pbnVelocityChangeAfter=100 --routing=dsdv \
       --travellerWalkDist=0 --requestTimeout=0 --peerTimeout=12 \
       --electionPeriod=6 --electionCooldown=6 --storageWeight=0.5 \
       --energyWeight=0.5 --processingWeight=0 --lowPowerThreshold=0.4 \
       --staggeredStart=False --optionCarrierForwarding=False \
       --optionalCheckBuffer=False --optionalNoEmptyTransfers=False --RngRun=1634"

Issue can be seen in this project: https://github.com/MarshallAsch/rhpman/issues/15

Valgrind stack trace:

==410235== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==410235== Command: ns-3-allinone/ns-3.32/build/optimized/contrib/rhpman/examples/ns3.32-rhpman-example-optimized --runTime=2400 --waitTime=600 --lookupTime=30 --updateTime=120 --dataSize=512 --profileUpdateDelay=6 --totalNodes=200 --storageSpace=200 --bufferSpace=200 --wcdc=0.5 --wcol=0.5 --carryingThreshold=0.6 --forwardingThreshold=0.3 -
-hops=2 --replicationHops=4 --percentDataOwners=10 --areaWidth=1000 --areaLength=1000 --gridRows=4 --gridCols=4 --wifiRadius=100 --partitionNodes=8 --travellerVelocity=20 --travellerWalkMode=time --travellerWalkTime=100 --pbnVelocityMin=1 --pbnVelocityMax=10 --pbnVelocityChangeAfter=100 --routing=dsdv --travellerWalkDist=0 --RngRun=951
==410235==
==410235== Invalid read of size 1
==410235==    at 0x53C2760: ns3::Ipv4Interface::IsUp() const (ipv4-interface.cc:174)
==410235==    by 0x53C9974: ns3::Ipv4L3Protocol::SendRealOut(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet>, ns3::Ipv4Header const&) (ipv4-l3-protocol.cc:989)
==410235==    by 0x53CACAD: ns3::Ipv4L3Protocol::IpForward(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&) (ipv4-l3-protocol.cc:1084)
==410235==    by 0x53D83BB: ns3::MemPtrCallbackImpl<ns3::Ipv4L3Protocol*, void (ns3::Ipv4L3Protocol::*)(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&), void, ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>::operator()(ns3::Ptr<ns3::Ipv4Route>, ns
3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&) (callback.h:646)
==410235==    by 0x4922140: operator() (callback.h:1430)
==410235==    by 0x4922140: ns3::dsdv::RoutingProtocol::SendPacketFromQueue(ns3::Ipv4Address, ns3::Ptr<ns3::Ipv4Route>) (dsdv-routing-protocol.cc:1175)
==410235==    by 0x49228C6: ns3::dsdv::RoutingProtocol::LookForQueuedPackets() (dsdv-routing-protocol.cc:1148)
==410235==    by 0x49234A7: ns3::dsdv::RoutingProtocol::RouteOutput(ns3::Ptr<ns3::Packet>, ns3::Ipv4Header const&, ns3::Ptr<ns3::NetDevice>, ns3::Socket::SocketErrno&) (dsdv-routing-protocol.cc:307)
==410235==    by 0x540B668: ns3::UdpSocketImpl::DoSendTo(ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, unsigned short, unsigned char) (udp-socket-impl.cc:621)
==410235==    by 0x540D38F: ns3::UdpSocketImpl::SendTo(ns3::Ptr<ns3::Packet>, unsigned int, ns3::Address const&) (udp-socket-impl.cc:810)
==410235==    by 0x4928BF5: ns3::dsdv::RoutingProtocol::SendTriggeredUpdate() (dsdv-routing-protocol.cc:861)
==410235==    by 0x6223329: ns3::DefaultSimulatorImpl::ProcessOneEvent() (default-simulator-impl.cc:151)
==410235==    by 0x622337D: ns3::DefaultSimulatorImpl::Run() (default-simulator-impl.cc:204)
==410235==  Address 0x1c is not stack'd, malloc'd or (recently) free'd
==410235==
==410235==
==410235== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==410235==  Access not within mapped region at address 0x1C
==410235==    at 0x53C2760: ns3::Ipv4Interface::IsUp() const (ipv4-interface.cc:174)
==410235==    by 0x53C9974: ns3::Ipv4L3Protocol::SendRealOut(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet>, ns3::Ipv4Header const&) (ipv4-l3-protocol.cc:989)
==410235==    by 0x53CACAD: ns3::Ipv4L3Protocol::IpForward(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&) (ipv4-l3-protocol.cc:1084)
==410235==    by 0x53D83BB: ns3::MemPtrCallbackImpl<ns3::Ipv4L3Protocol*, void (ns3::Ipv4L3Protocol::*)(ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&), void, ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>::operator()(ns3::Ptr<ns3::Ipv4Route>, ns
3::Ptr<ns3::Packet const>, ns3::Ipv4Header const&) (callback.h:646)
==410235==    by 0x4922140: operator() (callback.h:1430)
==410235==    by 0x4922140: ns3::dsdv::RoutingProtocol::SendPacketFromQueue(ns3::Ipv4Address, ns3::Ptr<ns3::Ipv4Route>) (dsdv-routing-protocol.cc:1175)
==410235==    by 0x49228C6: ns3::dsdv::RoutingProtocol::LookForQueuedPackets() (dsdv-routing-protocol.cc:1148)
==410235==    by 0x49234A7: ns3::dsdv::RoutingProtocol::RouteOutput(ns3::Ptr<ns3::Packet>, ns3::Ipv4Header const&, ns3::Ptr<ns3::NetDevice>, ns3::Socket::SocketErrno&) (dsdv-routing-protocol.cc:307)
==410235==    by 0x540B668: ns3::UdpSocketImpl::DoSendTo(ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, unsigned short, unsigned char) (udp-socket-impl.cc:621)
==410235==    by 0x540D38F: ns3::UdpSocketImpl::SendTo(ns3::Ptr<ns3::Packet>, unsigned int, ns3::Address const&) (udp-socket-impl.cc:810)
==410235==    by 0x4928BF5: ns3::dsdv::RoutingProtocol::SendTriggeredUpdate() (dsdv-routing-protocol.cc:861)
==410235==    by 0x6223329: ns3::DefaultSimulatorImpl::ProcessOneEvent() (default-simulator-impl.cc:151)
==410235==    by 0x622337D: ns3::DefaultSimulatorImpl::Run() (default-simulator-impl.cc:204)
==410235==  If you believe this happened as a result of a stack
==410235==  overflow in your program's main thread (unlikely but
==410235==  possible), you can try to increase the size of the
==410235==  main thread stack using the --main-stacksize= flag.
==410235==  The main thread stack size used in this run was 8388608.
==410235==

This stack trace was generated with this version of the module, but it happens with all later versions as well.

tag:gitlab.com,2021-04-16:1214867750 Marshall Asch commented on issue #367 at nsnam / ns-3-dev 2021-04-16T19:09:50Z MarshallAsch Marshall Asch

@philiprbrenan I have been working on stuff that sounds similar to what you are talking about for my thesis. Would this Github action do what you are trying to do?

I primarily use github for my work and I made that so that I can make sure that my code will both compile and not have runtime exceptions when I run my simulations to hopefully validate that they work correctly. It is designed to put your module in either the scratch or contrib folders and run some ns-3 experiment. I have designed it to work on multiple versions of ns-3, and I am planning on maintaining it for future versions.

I am also planning on reaching out to @tommypec or @tomhenderson to see if some of the tools created for my thesis might be useful for the larger community for this project.

tag:gitlab.com,2020-01-16:618896486 Marshall Asch opened issue #14: Spotify installation missing library at Nathan Laundry / config 2020-01-16T23:53:26Z MarshallAsch Marshall Asch

The libspotify library is missing, but can be installed with yum libspotify

https://www.reddit.com/r/archlinux/comments/8q5vle/cant_get_mopidyspotify_to_work_libspotify_is_gone/