在aqua-sim中运行基于vectore的转发协议后的分段错误

时间:2017-11-12 16:24:49

标签: networking tcl ns2

有人可以帮我跟踪这个错误,我在400个节点上使用基于矢量的转发协议tcl示例,我得到了这个错误

UWSink (id:0): I get the packet data no.0 from 378 
SK 0: Num_Recv 412, InterArrival 0.298128
UWSink (id:0): I get the packet data no.11 from 262 
SK 0: Num_Recv 413, InterArrival 0.057902
UWSink (id:0): I get the packet data no.4 from 79 
SK 0: Num_Recv 414, InterArrival 0.368108
UWSink (id:0): I get the packet data no.10 from 79 
SK 0: Num_Recv 415, InterArrival 0.741583
UWSink (id:0): I get the packet data no.4 from 262 
SK 0: Num_Recv 416, InterArrival 0.216878

Program received signal SIGSEGV, Segmentation fault.
0x000000000060871c in TclRegisterLiteral ()

1 个答案:

答案 0 :(得分:0)

另外参考。您的其他AquaSim VBF线程,包含大部分模拟文件:VBFP doesnt work probably in aqua-sim

...缺少节点4 - 398。我通过随机外部文件填写了一些节点设置,4 - 85:source 82-nodePositions。我建议您将完整的模拟文件.tcl上传到例如Dropbox,并发布共享链接。

您的错误:像AquaSim这样的旧ns2代码可能会因为晚期glibc / libc6崩溃, 例如Ubuntu 17.xx。

我用三个Linux操作系统'进行了测试。 :PCLinuxOS 2017 - 64,Ubuntu 16.04 - amd64,CentOS 6.9 - i386。

示例结果,CentOS 6.9 - 32:

$ ns-aqua-el6 A.Moh-VBF-n400.tcl

the file name is test.data
the sending interval is 10.0
num_nodes is set 401
Width=100
INITIALIZE THE LIST xListHead
Node 400 is sending first!!
starting Simulation...
GOD: the old file name istest.data
GOD: the new file name istest.data
SINK 0 : terminates (send 0, recv 0, cum_delay 0.000000)
god: the energy consumped is 16681.600000
NS EXISTING...

跟踪文件test.tr没问题。 92.4 .. 96.8 MB。 nam跟踪test.nam没有 "追踪线" :表示模拟文件中缺少某些nam设置.tcl。或者由我的随机节点设置引起。

完整结果https://www.dropbox.com/s/fov2r82s88rfhaq/A.Moh-Nov12-result2.tar.gz?dl=0

编辑:参考。你的评论#2:得到你的新例子," VBF 401节点"。使用PCLinuxOS 2017,CentOS 7.4,Ubuntu 16.04,CentOS 6.9 - 64和32位CentOS 6.9进行测试→可以从https://www.dropbox.com/s/nl6pnyz3cdklu5g/VBF_example_5-n401-result.tar.gz?dl=0下载两个可用的结果