Error "bailing in Tcl::eval"

In ns2, if you ever encounter a error like "bailing in Tcl::eval", then it could be due the size of the buffer that Tcl:: eval may offer
By default the buffer size is 1024 and it can be increased to 2048 (for example)

Usually this error will be encountered when you increase the number of nodes in the simulation (for example more than 100 nodes might give you this error)

bailing in Tcl::eval
bailing in Tcl::eval
How to overcome this error? Here is a small workaround
Open the command prompt and go the ns-allinone-2.35/tclcl-1.xx/ folder and open the file Tcl.cc

$] cd ns-allinone-2.35/tclcl-1.20/Tcl.cc (in my case)

in the following function (Line number: 202, change 1024 to 2048) as shown below

void Tcl::eval()
{
char* p = bp_;
bp_ = p + strlen(p) + 1;
/*XXX*/
if (bp_ >= &buffer_[2048]) {
fprintf(stderr, "bailing in Tcl::eval\n");
assert(0);
exit(1);
}
eval(p);
bp_ = p;
}

Once the changes are made, reinstall ns2 itself

$] cd ns-allinone-2.35/
$] ./install 

T S Pradeep Kumar

Popular posts from this blog

AWK Scripts for NS2 to process data from Trace Files

Xgraph

LEACH protocol installation in ns2 (ns-2.35)