compiler version (gcc -v/g++ -v/clang -v/clang++ -v): 8.4.0
Installed using bake with this configuration: ./bake.py configure -e dce-linux-1.11 -e dce-quagga-1.11
Description of the problem
Using linux mode, it gives me the error when the p2p link count exceeds 252 or the interface count exceeds 504.
symbol lookup error: elf-cache/0/liblinux.so: undefined symbol: rumpns_vzalloc
Running less than 252 links doesn't have this problem
According to the backtrace below, seems like fib_tries in the linux kernel tries to resize, but it cannot allocate more memory.
/home/vagrant/bake/source/ns-3-dce/build/myscripts/ns-3-dce-quagga/bin/dce-quagga-ospfd-leo: symbol lookup error: elf-cache/0/liblinux.so: undefined symbol: rumpns_vzalloc
Catchpoint 1 (call to syscall exit_group), 0x00007ffff7df2548 in __GI__exit (status=127) at ../sysdeps/unix/sysv/linux/_exit.c:31
31 ../sysdeps/unix/sysv/linux/_exit.c: No such file or directory.
(gdb) bt
#0 0x00007ffff7df2548 in __GI__exit (status=127) at ../sysdeps/unix/sysv/linux/_exit.c:31
#1 0x00007ffff7de747d in _dl_signal_error (errcode=errcode@entry=0, objname=objname@entry=0x892000 "elf-cache/0/liblinux.so",
occation=occation@entry=0x7ffff7df6c9d "symbol lookup error",
errstring=errstring@entry=0x7fffdf38e4e0 "undefined symbol: rumpns_vzalloc") at dl-error.c:125
#2 0x00007ffff7de7523 in _dl_signal_cerror (errcode=0, objname=0x892000 "elf-cache/0/liblinux.so",
occation=0x7ffff7df6c9d "symbol lookup error", errstring=0x7fffdf38e4e0 "undefined symbol: rumpns_vzalloc") at dl-error.c:155
#3 0x00007ffff7de2301 in _dl_lookup_symbol_x (undef_name=0x7ffff22b5e2c "rumpns_vzalloc", undef_map=<optimized out>,
ref=ref@entry=0x7fffdf38e628, symbol_scope=0xed2b18, version=<optimized out>, type_class=type_class@entry=1, flags=1,
skip_map=0x0) at dl-lookup.c:871
#4 0x00007ffff7de6b06 in _dl_fixup (l=<optimized out>, reloc_arg=<optimized out>) at ../elf/dl-runtime.c:111
#5 0x00007ffff7deeeca in _dl_runtime_resolve_xsave () at ../sysdeps/x86_64/dl-trampoline.h:129
#6 0x00007ffff243d14c in tnode_new (key=167772160, pos=1, bits=9) at net/ipv4/fib_trie.c:359
#7 0x00007ffff243e0dc in inflate (t=t@entry=0x7fffeb6a4360, oldtnode=oldtnode@entry=0x7fffcf167c10) at net/ipv4/fib_trie.c:519
#8 0x00007ffff243dd56 in resize (t=t@entry=0x7fffeb6a4360, tn=0x7fffcf167c10) at net/ipv4/fib_trie.c:840
#9 0x00007ffff243df18 in trie_rebalance (t=t@entry=0x7fffeb6a4360, tn=<optimized out>) at net/ipv4/fib_trie.c:992
#10 0x00007ffff243e4ab in fib_insert_node (t=0x7fffeb6a4360, tp=<optimized out>, new=new@entry=0x7fffcf168bf0,
key=key@entry=167773180) at net/ipv4/fib_trie.c:1035
#11 0x00007ffff243e6d0 in fib_insert_alias (t=t@entry=0x7fffeb6a4360, tp=<optimized out>, l=l@entry=0x0,
new=new@entry=0x7fffcf168bf0, fa=fa@entry=0x0, key=key@entry=167773180) at net/ipv4/fib_trie.c:1049
#12 0x00007ffff243e857 in fib_table_insert (tb=0x7fffeb6a4330, cfg=0x7fffdf38eba0) at net/ipv4/fib_trie.c:1238
#13 0x00007ffff2438ab4 in inet_rtm_newroute (skb=<optimized out>, nlh=<optimized out>) at net/ipv4/fib_frontend.c:750
#14 0x00007ffff23b7dc5 in rtnetlink_rcv_msg (skb=0x7fffcf163590, nlh=0x7fffeb6a4130) at net/core/rtnetlink.c:3406
#15 0x00007ffff23c6c07 in netlink_rcv_skb (skb=0x7fffcf163590, cb=0x7ffff23b7cc0 <rtnetlink_rcv_msg>)
at net/netlink/af_netlink.c:3016
#16 0x00007ffff23b5278 in rtnetlink_rcv (skb=0x7fffcf163590) at net/core/rtnetlink.c:3412
#17 0x00007ffff23c459e in netlink_unicast_kernel (sk=sk@entry=0x7fffdba98990, skb=skb@entry=0x7fffcf163590,
ssk=ssk@entry=0x7fffdb96e970) at net/netlink/af_netlink.c:1834
#18 0x00007ffff23c65ae in netlink_unicast (ssk=ssk@entry=0x7fffdb96e970, skb=0x7fffcf163590, portid=portid@entry=0,
nonblock=<optimized out>) at net/netlink/af_netlink.c:1860
#19 0x00007ffff23c68e2 in netlink_sendmsg (sock=<optimized out>, msg=0x7fffdf38edd0, len=52) at net/netlink/af_netlink.c:2511
#20 0x00007ffff234465c in lib_sock_sendmsg (socket=socket@entry=0x7fffecafc010, msg=msg@entry=0x7fffdf38f230, flags=flags@entry=0)
at arch/lib/lib-socket.c:114
#21 0x00007ffff2343cb0 in lib_sock_sendmsg_forwarder (v0=0x7fffecafc010, v1=0x7fffdf38f230, v2=0) at arch/lib/lib.c:99
#22 0x00007ffff78fa586 in ns3::KernelSocketFdFactory::Sendmsg (this=0x818b70, socket=0x7fffecafc010, msg=0x7fffdf38f230, flags=0)
at ../model/kernel-socket-fd-factory.cc:724
#23 0x00007ffff7903a06 in ns3::KernelSocketFd::Sendmsg (this=0x3445bc0, msg=0x7fffdf38f230, flags=0)
at ../model/kernel-socket-fd.cc:77
#24 0x00007ffff782dcde in dce_sendmsg (fd=6, msg=0x7fffdf38f230, flags=0) at ../model/dce-fd.cc:272
#25 0x00007fffdab4ff93 in sendmsg () at ../model/libc-ns3.h:222
#26 0x00007fffd9d09767 in netlink_talk (n=0x7fffdf38f2e0, nl=0x7fffd9f65a60 <netlink_cmd>) at rt_netlink.c:1205
#27 0x00007fffd9d0a43e in netlink_route_multipath (cmd=24, p=0x7fffcf1c40e8, rib=0x7fffcf1c3f68, family=2) at rt_netlink.c:1723
#28 0x00007fffd9d0a48a in kernel_add_ipv4 (p=0x7fffcf1c40e8, rib=0x7fffcf1c3f68) at rt_netlink.c:1729
#29 0x00007fffd9cf3c8c in rib_install_kernel (rn=0x7fffcf1c40e8, rib=0x7fffcf1c3f68) at zebra_rib.c:914
#30 0x00007fffd9cf43a5 in rib_process (rn=0x7fffcf1c40e8) at zebra_rib.c:1150
---Type <return> to continue, or q <return> to quit---
#31 0x00007fffd9cf4517 in process_subq (subq=0x7fffdf35f048, qindex=2 '\002') at zebra_rib.c:1183
#32 0x00007fffd9cf45b0 in meta_queue_process (dummy=0x7fffdf36ee88, data=0x7fffdf36ef68) at zebra_rib.c:1211
#33 0x00007fffd9d37150 in work_queue_run (thread=0x7fffdf38fe10) at workqueue.c:289
#34 0x00007fffd9d1e14e in thread_call (thread=0x7fffdf38fe10) at thread.c:1177
#35 0x00007fffd9cee4dd in main (argc=5, argv=0x3372430) at main.c:398
#36 0x00007ffff77c957f in ns3::DceManager::DoStartProcess (context=0x3441240) at ../model/dce-manager.cc:298
#37 0x00007ffff786c532 in ns3::TaskManager::Trampoline (context=0x33bafd0) at ../model/task-manager.cc:275
#38 0x00007ffff78659b5 in ns3::UcontextFiberManager::Trampoline (a0=32767, a1=-142162706, a2=0, a3=54243280)
at ../model/ucontext-fiber-manager.cc:199
#39 0x00007ffff3a565e0 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#40 0x0000000000000000 in ?? ()
(gdb)
output of ./waf configure
>> Building dce-linux-1.11 - /usr/local/bin/python3 /home/vagrant/bake/source/ns-3-dce/waf configure --prefix=/home/vagrant/bake/build --with-ns3=/home/vagrant/bake/build --with-elf-loader=/home/vagrant/bake/build/lib --with-libaspect=/home/vagrant/bake/build --enable-kernel-stack=/home/vagrant/bake/source/ns-3-dce/../net-next-nuse-4.4.0/arch --disable-python dir=/home/vagrant/bake/source/ns-3-dce
Setting top to : /home/vagrant/bake/source/ns-3-dce
Setting out to : /home/vagrant/bake/source/ns-3-dce/build
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking for cc version : 8.4.0
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for program 'pkg-config' : /usr/bin/pkg-config
Checking for pkg-config version >= '0.0.0' : yes
Checking for -Wl,--soname=foo : yes
Checking for libns3.34-core-debug (mandatory) : yes
Checking for libns3.34-network-debug (mandatory) : yes
Checking for libns3.34-internet-debug (mandatory) : yes
Checking for libns3.34-point-to-point-debug (optional) : yes
Checking for libns3.34-tap-bridge-debug (optional) : yes
Checking for libns3.34-netanim-debug (optional) : yes
Checking for libns3.34-wifi-debug (optional) : yes
Checking for libns3.34-csma-debug (optional) : yes
Checking for libns3.34-mobility-debug (optional) : yes
Checking for libns3.34-point-to-point-layout-debug (optional) : yes
Checking for libns3.34-mpi-debug (optional) : not found
Checking for libns3.34-lte-debug (optional) : yes
Checking for libns3.34-visualizer-debug (optional) : not found
Checking for libns3.34-applications-debug (optional) : yes
Checking for libns3.34-fd-net-device-debug (optional) : yes
Checking for header stdint.h : yes
Checking for header inttypes.h : yes
Checking for header sys/inttypes.h : not found
Checking for header sys/types.h : yes
Checking for header sys/stat.h : yes
Checking for header dirent.h : yes
Checking for library dl : yes
Checking for glibc get_cpu_features : yes
Checking for glibc secure_getenv : yes
Checking for glibc explicit_bzero : no
Checking for header valgrind/valgrind.h : not found
Checking for header valgrind/memcheck.h : not found
Checking for header sim.h : yes
Checking for libns3.34-topology-read-debug (optional) : yes
Checking for libns3.34-internet-apps-debug (optional) : yes
Checking for libns3.34-visualizer-debug (optional) : not found
Checking for library dl : yes
---- Summary of optional NS-3 features:
Static build : not enabled (option --enable-static not selected)
Logging : enabled
Assert checks : enabled
Code coverage : not enabled (option --enable-gcov not selected)
Example programs : enabled
Test programs : enabled
Debug Symbols : enabled
Checking for libns3.34-flow-monitor-debug (mandatory) : yes
Checking for libns3.34-visualizer-debug (optional) : not found
Checking for library dl : yes
---- Summary of optional NS-3 features:
Static build : not enabled (option --enable-static not selected)
Logging : enabled
Assert checks : enabled
Code coverage : not enabled (option --enable-gcov not selected)
Example programs : enabled
Test programs : enabled
Debug Symbols : enabled
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for header hook-manager.h : yes
Checking for program 'valgrind' : not found
Checking for program 'doxygen' : not found
Checking for header netinet/sctp.h : not found
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking for 'g++' (C++ compiler) : /usr/bin/g++
---- Summary of optional NS-3 features:
Static build : not enabled (option --enable-static not selected)
Logging : enabled
Assert checks : enabled
Code coverage : not enabled (option --enable-gcov not selected)
Example programs : enabled
Test programs : enabled
Debug Symbols : enabled
ELF magic loader : enabled
Aspect-based tracing : enabled
sctp-tools-dev : not enabled (sctp-tools (netinet/sctp.h) not found)
Python Bindings : not enabled (disabled by user request)
'configure' finished successfully (1.372s)
Installed using bake with this configuration: ./bake.py configure -e dce-linux-1.11 -e dce-quagga-1.11
Description of the problem
Using linux mode, it gives me the error when the p2p link count exceeds 252 or the interface count exceeds 504.
symbol lookup error: elf-cache/0/liblinux.so: undefined symbol: rumpns_vzalloc
Running less than 252 links doesn't have this problem
According to the backtrace below, seems like fib_tries in the linux kernel tries to resize, but it cannot allocate more memory.
output of ./waf configure
Steps to reproduce
Source code that produces this error: