From 2ad46940629646f3cfdbff4b14674c9d89436b58 Mon Sep 17 00:00:00 2001 From: Julien Portalier Date: Mon, 28 Apr 2025 19:28:02 +0200 Subject: [PATCH] Fix `-Dtracing` raises math overflows on fiber sleep (#15722) Using `-Dtracing` and `CRYSTAL_TRACE=sched` can lead to math overflows when a fiber goes to sleep, especially with exception contexts. (cherry picked from commit 1dbef7212b3473cfdc003c4ee592e63f54d36f63) --- src/crystal/tracing.cr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crystal/tracing.cr b/src/crystal/tracing.cr index af363182a3e9..7d853ed066bc 100644 --- a/src/crystal/tracing.cr +++ b/src/crystal/tracing.cr @@ -106,7 +106,7 @@ module Crystal end def write(value : Time::Span) : Nil - write(value.seconds * Time::NANOSECONDS_PER_SECOND + value.nanoseconds) + write(value.seconds &* Time::NANOSECONDS_PER_SECOND &+ value.nanoseconds) end def write(value : Bool) : Nil