Hi,

 

I have downloaded and setup ns-allinone-2.26 with cygwin and made some
changes to run Ping Agent as it was described at HYPERLINK
"http://www.isi.edu/nsnam/ns/tutorial/"http://www.isi.edu/nsnam/ns/tutorial/
I can run the example script in the website. Also I can run other scripts I
wrote.

 

Then I tried to write a script and it  became a very big problem for me.
When I try to run it says segmentation fault(core dumped) and I could not
solve the problem.

 

I hope somebody can help me :)

 

Thanks for your time and attention ....

 

 

Sincerely ...

 

R.A. Tufan BIYIKTAŞ

 

############################################################################

#    TCL CODE HERE 

############################################################################

# CHECK COMMAND LINE PARAMETERS

if { $argc!=6} {

      puts "Missing parameters!!! "

      puts "ns ptrain.tcl <initial_gap_time ms> <packet_size byte>
<train_length> <train_number> <result_filename> <simulation_time sec>"

      exit 1

}

 

# GET COMMAND LINE PARAMETERS

set initialGapTime [lindex $argv 0]

set packetSize     [lindex $argv 1]

set trainLength    [lindex $argv 2]

set trainNumber    [lindex $argv 3]

set resultFileName [lindex $argv 4]

set simulationTime [lindex $argv 5]

 

# --- GLOBAL VARIABLES --- #

set startSendTime 0.20

set trafficPacketSize 800

set trafficSourceInterval 0.001950

set trafficRate    1Mb

 

set nodeNumber 6

 

set topoDimX 600

set topoDimY 600

 

set pingSenderNodeX 50 

set pingSenderNodeY 50

set pingSenderNodeY 0

 

set pingReceiverNodeX 500

set pingReceiverNodeY 350

set pingReceiverNodeZ 0

 

set leftGatewayNodeX 200

set leftGatewayNodeY 200

set leftGatewayNodeZ 0

 

set rightGatewayNodeX 400

set rightGatewayNodeY 200

set rightGatewayNodeZ 0

 

set trafficSenderNodeX 50

set trafficSenderNodeY 350

set trafficSenderNodeZ 0

 

set trafficReceiverNodeX 550

set trafficReceiverNodeY 50

set trafficReceiverNodeZ 0

 

# CREATE SIMULATOR OBJECT

set ns [new Simulator]

 

# CREATE FILES (NAM, TRACE, RESULT)

set namfile [open out.nam w]

set trfile  [open out.tr  w]

set resultFile [open $resultFileName w]

 

# --- SETUP WIRESLESS ENVIROMENT --- #

 

# CREATE NEW TOPOLOGRAPH OBJECT

set topography [new Topography]

 

$ns trace-all $trfile

$ns namtrace-all-wireless $namfile $topoDimX $topoDimY

 

$topography load_flatgrid $topoDimX $topoDimY

 

# CREATE GOD

set god_ [create-god $nodeNumber]

 

# GLOBAL NODE SETTINGS

$ns node-config -adhocRouting DSR \

                 -llType LL \

                 -macType Mac/802_11 \

                 -ifqType Queue/DropTail/PriQueue \

                 -ifqLen 50 \

                 -antType Antenna/OmniAntenna \

                 -propType Propagation/TwoRayGround \

                 -phyType Phy/WirelessPhy \

                 -channel [new Channel/WirelessChannel] \

                 -topoInstance $topography \

                 -agentTrace ON \

                 -routerTrace OFF \

                 -macTrace ON

 

# CREATE WIRELESS NODES

set pingSenderNode   [$ns node]

set pingReceiverNode [$ns node]

set leftGatewayNode  [$ns node]

set rightGatewayNode [$ns node]

set trafficSenderNode [$ns node]

set trafficReceiverNode [$ns node]

 

# PING SENDER NODE

$pingSenderNode set X_ $pingSenderNodeX

$pingSenderNode set Y_ $pingSenderNodeX

$pingSenderNode set Z_ $pingSenderNodeX

 

# PING RECEIVER NODE

$pingReceiverNode set X_ $pingReceiverNodeX

$pingReceiverNode set Y_ $pingReceiverNodeY

$pingReceiverNode set Z_ $pingReceiverNodeZ

 

# LEFT GATEWAY NODE

$leftGatewayNode  set X_ $leftGatewayNodeX

$leftGatewayNode  set Y_ $leftGatewayNodeY

$leftGatewayNode  set Z_ $leftGatewayNodeZ

 

# RIGHT GATEWAY NODE

$rightGatewayNode  set X_ $rightGatewayNodeX

$rightGatewayNode  set Y_ $rightGatewayNodeY

$rightGatewayNode  set Z_ $rightGatewayNodeZ

 

# TRAFFIC SENDER NODE

$trafficSenderNode set X_ $trafficSenderNodeX $trafficSenderNode set Y_
$trafficSenderNodeY $trafficSenderNode set Z_ $trafficSenderNodeZ

 

# TRAFFIC RECEIVER NODE

$trafficReceiverNode set X_ $trafficReceiverNodeX $trafficReceiverNode set
Y_ $trafficReceiverNodeY $trafficReceiverNode set Z_ $trafficReceiverNodeZ

 

 

#Define a 'recv' function for the class 'Agent/Ping'

Agent/Ping instproc recv {from rtime stime} {

      $self instvar node_

    global resultFile

 

      puts  $resultFile "$rtime $stime"

 

      #puts "node [$node_ id] received ping answer from \

    #          $from with round-trip-time $rtime $stime ms."

}

 

# --- CREATE AGENTS --- #

 

# CREATE PING AGENT

set pingAgent [new Agent/Ping]

$ns attach-agent $pingSenderNode $pingAgent

 

# CREATE ECHO AGENT

set echoAgent [new Agent/Ping]

$ns attach-agent $pingReceiverNode $echoAgent

 

# CREATE CROSS TRAFFIC SENDER AGENT

set trafficSenderAgent [new Agent/UDP]

$ns attach-agent  $trafficSenderNode $trafficSenderAgent

 

 

# CREATE CROSS TRAFFIC RECEIVER AGENT

set trafficReceiverAgent [new Agent/Null]

$ns attach-agent $trafficReceiverNode $trafficReceiverAgent

 

 

$trafficSenderAgent set packetSize_ $trafficPacketSize

 

# --- CREATE TRAFFIC SOURCES AND ADD THEM TO THE AGENT --- # set
trafficSource [new Application/Traffic/CBR] $trafficSource attach-agent
$trafficSenderAgent

 

#$trafficSource set interval_ $trafficSourceInterval $trafficSource set
rate_ $trafficRate

 

$pingAgent set packetSize_ $packetSize

$echoAgent set packetSize_ $packetSize

 

 

# CONNECT AGENTS

$ns connect $pingAgent $echoAgent

$ns connect $trafficSenderAgent $trafficReceiverAgent

 

 

# --- PROC DEFINITIONS --- #

proc finish {} {

        global ns namfile trfile resultFile 

        $ns flush-trace

        close $namfile

        close $trfile 

        close $resultFile 

        puts "finish proc"

        #exec nam out.nam &

        exit 0

}

 

proc sendPacketTrain { senderAgent startSendTime initialGapTime trainLength
} {

      global ns 

      for { set counter 0 } { $counter < $trainLength } { incr counter } {

            #set $startSendTime [expr $startSendTime + $initialGapTime]

            #$ns at $startSendTime "$senderNode send"

            

            #set $initialGapTime [expr $initialGapTime * $counter]

            puts "sentPacketTrain proc $counter"

            $ns at [expr $startSendTime + [expr $initialGapTime * $counter]
] "$senderAgent send"

      }

 

}

 

# RUN THE SIMULATION

$ns at 0.100000 "$trafficSource start" 

$ns at 9.900000 "$trafficSource stop"  

#$ns at [expr $simulationTime -1] "$trafficSource stop"

 

for { set counter 0 } { $counter < $trainNumber } { incr counter} {

      sendPacketTrain $pingAgent $startSendTime $initialGapTime/1000.00
$trainLength

      set startSendTime [expr $startSendTime + 0.5]

}

 

$ns at $simulationTime "finish"

 

$ns run

 

############################################################################

# ns.exe.stackdump
############################################################################

 

Exception: STATUS_ACCESS_VIOLATION at eip=00637B5B

eax=000009D8 ebx=007306E0 ecx=77E731F7 edx=00000032 esi=0022E340
edi=0022E3A0 ebp=0022DCC8 esp=0022DCC0
program=c:\cygwin\home\TFN\ns-allinone-2.26\ns-2.26\ns.exe

cs=001B ds=0023 es=0023 fs=0038 gs=0000 ss=0023

Stack trace:

Frame     Function  Args

0022DCC8  00637B5B  (00000032, 000009D8, 0022DD08, 004B0463) 0022DCD8
0062C5F2  (00000032, 0AC68E58, 0AC68E38, 0AC68480) 0022DD08  004B0463
(0A6DF7C0, 00000001, 00000001, 3078DC46) 0022DF38  004CC522  (0A558640,
0AC36460, 004CCB0D, 00000001) 0022E078  004CBD8D  (0A558640, 0AC36460,
004CCB0D, 0062C5F2) 0022E098  004CCB72  (0AC36460, 0A558640, 00499140,
61078220) 0022E0B8  00499238  (0A6DEFE0, 00000200, 0022E0D8, 00497BB5)
0022E0C8  00497C1E  (0A6DEFE0, 3EF6EF9D, 0022E0E8, 004B2A00) 0022E0D8
00497BB5  (0A6DEFE0, 0000002B, 0022E118, 004066B9) 0022E0E8  004B2A00
(0A6DF168, 0A6DF178, 00000000, 00000209) 0022E118  004066B9  (0A0B1958,
0A6DF178, 3078DC46, 4002CB7D) 0022E138  004065D2  (0A0B1958, 00406737,
00000000, 00000000) 0022E1A8  0040687A  (0A0B1958, 00000002, 0022E34C,
00000003) 0022E1C8  0056CC80  (0A0B1958, 0A0418C8, 00000005, 0022E340)
0022E378  005708D0  (0A0AFF28, 0A0418C8, 00000003, 0022E3A0) 0022E408
0057D5D6  (0A0ACE68, 0A0418C8, 00000003, 0A043B7C) End of stack trace (more
stack frames may be present)

 

 

 


-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.11.6/428 - Release Date: 8/25/2006
 

Reply via email to