|Anonymous | Login||07-05-2020 17:49 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Simple Details [ Jump to Notes ]||[ View Advanced ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0000650||[Squeak] Kernel||crash||always||12-11-04 19:16||01-07-05 20:57|
|Summary||0000650: (Delay forMilliseconds: 625/4) wait ==> BOOM|
A Delay created from a fractional millisecond value will hang a Squeak image. The error cannot be caught and the image is left in an unrecoverable condition (at least I don't know how to recover it).
The fix is to ensure that a Delays are created with integral values.
Don't ask me know I found this one ;-)
Delay class>>forMilliseconds: did not force conversion to Integer. Delay class>>forSeconds: already had this, so I added the corresponding conversion to #forMilliseconds.
Change set attached.
|Attached Files||DelayForMillisecondsFix-dtl.cs.gz [^] (601 bytes) 12-11-04 19:16|
(0000908 - 343 - 355 - 355 - 355 - 355 - 355)
On a quick look I think the reason is that when the primitive fails the semaphore of the that active delay will never be signaled and so the delay will never be expunged, blocking all other delays.
The fix guards against this by either successfully converting the argument into an integer or forcing an error in a uncritical area otherwise.
(0001017 - 19 - 19 - 19 - 19 - 19 - 19)
|12-11-04 19:16||lewis||New Issue|
|12-11-04 19:16||lewis||File Added: DelayForMillisecondsFix-dtl.cs.gz|
|12-11-04 20:42||laza||Note Added: 0000908|
|12-11-04 20:42||laza||Status||new => confirmed|
|01-07-05 20:00||bert||Status||confirmed => resolved|
|01-07-05 20:00||bert||Fixed in Version||=> 3.8|
|01-07-05 20:00||bert||Resolution||open => fixed|
|01-07-05 20:00||bert||Assigned To||=> bert|
|01-07-05 20:00||bert||Note Added: 0001017|
|01-07-05 20:00||bert||Assigned To||bert =>|
|01-07-05 20:57||bert||Status||resolved => closed|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
46 total queries executed.|
34 unique queries executed.