ns 2.35 floating point exception (core dumped)

defne boysan <[email protected]> Wed, 16 Sep 2015 15:00:32 +0200
Newsgroups gmane.network.simulator.isi
Message-ID <CAOd99ohDj4Kxa-hhAgY4xD6AbArKeuU-dAOgrruiV9JqWdvvaw@mail.gmail.com>
the following tcl script has caused floating point exception error. I don't
know why and i don't know how to fix that. can anyone help me?

set ns [new Simulator]

set out [open output1.tr a]

proc finish {} {
        global ns out
        $ns flush-trace
        close $out
        exit 0
}


#size of bucket=50 tokens
set N 50
#200 tokens per sec
set R 200

#packets size=100bytes
set L 100

#committed info rate = 200packet/sec* packetsize in bits
set cir [expr $R * [expr $L * 8]]

#committed burst size
set cbs [expr $N * $L]

#source mean rate
set meanRate 1Mb
set Ton 0.4
set Toff 0.6

#set peakRate [expr [expr [expr $Ton + $Toff] * 1.0] / $Ton]
set peakRate [expr 1.0 / $Ton]Mb

set src1 [$ns node]
set na [$ns node]
set dest [$ns node]


$ns simplex-link $src1 $na 100Mb 0.000001ms DropTail
$ns simplex-link $na $dest 100Mb 0.000001ms dsRED/edge

$ns queue-limit  $src1 $na 9999999
$ns queue-limit  $na $dest 9999999

set queueSD [[$ns link $na $dest] queue]
$queueSD set numQueues_ 1
$queueSD setNumPrec 1
$queueSD meanPktSize $L
$queueSD addPolicyEntry $src1 $dest TokenBucket 10 $cir $cbs
$queueSD addPolicerEntry TokenBucket 10
$queueSD addPHBEntry 10 0 0
$queueSD setMREDMode DROP 0
$queueSD configQ 0 0 9999999 9999999 1.0

set srcAgent [new Agent/UDP]
$srcAgent set fid_ 1
$ns attach-agent $src1 $srcAgent

set destAgent [new Agent/Null]
$ns attach-agent $dest $destAgent

$ns connect $srcAgent $destAgent

set expoTraf [new Application/Traffic/Exponential]
$expoTraf set packetSize_ L
$expoTraf set burst_time_ $Ton
$expoTraf set idle_time_ $Toff
$expoTraf set rate_ $peakRate
$expoTraf attach-agent $srcAgent

set globMonitor [$ns makeflowmon Fid]
$ns attach-fmon [$ns link $na $dest] $globMonitor
set samples_object [new Samples]
$globMonitor set-delay-samples $samples_object

set fdescTraf [new QueueMonitor/ED/Flow]
set dsampTraf [new Samples]
$fdescTraf set-delay-samples $dsampTraf
set classif [$globMonitor classifier]
$classif set-hash auto $srcAgent $destAgent 1 [$classif installNext
$fdescTraf]

proc computeLossRate {} {
        global ns out fdescTraf N L
        set arrivals [$fdescTraf set parrivals_]
        set drops [$fdescTraf set pdrops_]
        set lossRate [expr [expr $drops * 1.0]/ [expr $arrivals + $drops]]
        puts $out "N: $N , R: $R, loss rate: $lossRate"
}


$ns at 0.0   "$expoTraf start"
$ns at 100.0 "computeLossRate"
$ns at 100.0 "$expoTraf stop"
$ns at 100.0 "finish"
$ns run