2017-11-12 16 views
0

을 아쿠아-SIM과 내가분할 오류에 vectore 기반 포워딩 프로토콜을 실행 한 후 누군가가, 내가 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() 
+0

메모리 손상과 비슷합니다. 아마도 코드 (아마 잘못된 참조 횟수 관리)에있는 것이지만 결과적인 손상으로 인해 Tcl의 핵심이 충돌하게됩니다. 디버깅 제안 : Tcl 빌드 ('configure --enable-symbols = mem')에서 메모리 디버깅을 활성화하고 이것이 좁혀지는 지 확인하십시오. –

+0

'Segmentation fault'에 대하여 ns2 https://www.linuxquestions.org/questions/linux-networking-3/ns2-and-aqua-sim-4175507630/#3 –

답변

0

또한이 오류가 발생했습니다 ref. 시뮬레이션 파일의 대부분을 가진 다른 AquaSim VBF 스레드 : VBFP doesnt work probably in aqua-sim

... 노드 4 - 398이 없습니다. 임의의 외부 파일로 4 - 85 노드 설정을 채웠습니다 : source 82-nodePositions. 전체 시뮬레이션 파일을 업로드하는 것이 좋습니다. Dropbox 및 공유 링크를 게시하십시오. AquaSim 같은 올드 NS2 코드는 후반의 glibc/libc6 내와 충돌 할 수 예 :

귀하의 오류 우분투 17.xx.

PCLinuxOS 2017 - 64, 우분투 16.04 - amd64, CentOS 6.9 - i386의 세 가지 'Linux OS'로 테스트를 수행했습니다.

예 결과, 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은 OK입니다. 92.4 .. 96.8 MB. test.nam 네이 그램에 "trace lines"이 없음 : 일부 nam 설정이 시뮬레이션 file.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 및 32bits CentOS 6.9에서 테스트되었습니다. → 두 가지 사용 가능한 결과는 https://www.dropbox.com/s/nl6pnyz3cdklu5g/VBF_example_5-n401-result.tar.gz?dl=0에서 다운로드 할 수 있습니다.

+0

먼저, 노력과 시간을 내 주셔서 감사합니다. –

+0

내 이전 스레드에 관해서는, 나는 내 문제를 해결하기 위해 관리하고 하나의 노드가 패킷을 보낼 수 있도록 성공하지만,이 예제에서는 네트워크의 수명을 테스트하기 위해 모든 노드가 주기적으로 패킷을 보내길 원한다. 이것은 나의 tcl 파일이다. https://www.dropbox.com/s/06bbpgwleabll2i/vbf_example_5.tcl?dl=0 –

+0

'VBF_example_5-n401.tcl' (파일 이름 vbf_example_5.tcl은 이미 사용되었습니다. aquasim-examples-09.17.tar를보십시오. gz) ... PCLinuxOS2017 및 32 비트 CentOS 6.9에서 작동 → https://www.dropbox.com/s/nl6pnyz3cdklu5g/VBF_example_5-n401-result.tar.gz?dl=0 ... 우분투 : 행운을 빕니다 → 세분화 결점. –