From f939ee13ae5d54683f31699420b354be50de7e58 Mon Sep 17 00:00:00 2001 From: Rahul Chaudhry Date: Thu, 10 Dec 2015 15:06:42 -0800 Subject: [PATCH] runtime: fix GODEBUG=schedtrace=X delay handling. debug.schedtrace is an int32. Convert it to int64 before multiplying with constant 1000000. Otherwise, schedtrace values more than 2147 result in int32 overflow causing incorrect delays between traces. Change-Id: I064e8d7b432c1e892a705ee1f31a2e8cdd2c3ea3 Reviewed-on: https://go-review.googlesource.com/17712 Reviewed-by: Austin Clements Run-TryBot: Ian Lance Taylor --- src/runtime/proc.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/proc.go b/src/runtime/proc.go index f641d38a94..9ef7bfb954 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -3413,7 +3413,7 @@ func sysmon() { lastscavenge = now nscavenge++ } - if debug.schedtrace > 0 && lasttrace+int64(debug.schedtrace*1000000) <= now { + if debug.schedtrace > 0 && lasttrace+int64(debug.schedtrace)*1000000 <= now { lasttrace = now schedtrace(debug.scheddetail > 0) } -- 2.50.0