Opened 15 years ago
Closed 15 years ago
#298 closed defect (fixed)
SRFI-18 time objects store time span as fixnums, which can overflow
| Reported by: | felix winkelmann | Owned by: | |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | core libraries | Version: | 4.5.x |
| Keywords: | timeout srfi-18 time | Cc: | |
| Estimated difficulty: |
Description
(reported by Nicolas Pelletier)
After 12 days, fixnums will overflow on 32-bit platforms. It would be better to store the milliseconds span as flonum and use flonum comparisons in srfi-18.scm and scheduler.scm.
Change History (2)
comment:1 Changed 15 years ago by
| Keywords: | timeout srfi-18 time added |
|---|---|
| Milestone: | 4.6.0 |
comment:2 Changed 15 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Implemented in the flonmu-milliseconds branch and merged into experimental. Need more testing.
Note: See
TracTickets for help on using
tickets.

This is quite serious.
(##sys#fudge 6),(##sys#fudge 16)and the C runtime functionsmilliseconds()' andcpu_milliseconds(), including all variables that are set to results of these are affected. Thetcp` unit uses them for timeout calculations as does the scheduler (which is compiled in fixnum mode).Damn.