TCL scripting: errorInfo=integer value too large to represent

The username is of the format : 123456789110000-1234@something.com
With this below TCL procedure, I am trying add first and Sec Id and get third Id.
I checked in online compiler and it seems to work and add. However, when I am running this in my lab, I get error as "integer value too large to represent"

Error
handleException: errMsg=integer value too large to represent; errorInfo=integer value too large to represent
while executing
"expr int($FirstId+$SecId) "
(procedure "disUser" line 11)
invoked from within
"disUser $environ [ $request get User-Name ]"
while executing
"expr int($FirstId+$SecId) "
(procedure "disUser" line 11)
invoked from within

Procedure

proc disUser { environ username } {
if { [ regexp {^(\d{15})-(\d{1,4})@([a-zA-Z0-9\.\-]{1,50})$} $username dummy FirstId SecId Arn ] } {
$environ put New-First-Id $FirstId
$environ put New-Sec $SecId
############Add the First and Sec Id to generate the Third
$environ put New-Third [ expr int($FirstId+$SecId) ]
$environ put New-Arn $Arn
} else {
error "INVALID_USERNAME" \
"Source=[$environ get IP-Address];UserName=$username"
}
}

Duplicate of www.unix.com/shell-programming-and-scripting/272130-tcl-scripting-errorinfo-integer-value-too-large-represent.html

Closing this version.

1 Like