Forked from
asdf / asdf
Source project has a limited visibility.
-
Francois-Rene Rideau authored
The issue was reported by Sid H <shortsightedsid@gmail.com> on asdf-devel. Problem is, when the filesystem server clock is in the future of the system clock (either because the NFS server has a clock in the future, or because the lisp host has a clock in the past), defsystem would call find-system (via find-component via parse-component-form) to make sure it modifies any previously registered object if any, rather than create a new object with "interesting" consequences if anyone held to the previous object. find-system would see the file has been modified since last registered with register-system, and proceed to load again, in an infinite loop that stop either when the Lisp process runs out of stack, or the date and time specified in the timestamp is reached. Now, ASDF doesn't bother reloading if the timestamp is in the future.
Francois-Rene Rideau authoredThe issue was reported by Sid H <shortsightedsid@gmail.com> on asdf-devel. Problem is, when the filesystem server clock is in the future of the system clock (either because the NFS server has a clock in the future, or because the lisp host has a clock in the past), defsystem would call find-system (via find-component via parse-component-form) to make sure it modifies any previously registered object if any, rather than create a new object with "interesting" consequences if anyone held to the previous object. find-system would see the file has been modified since last registered with register-system, and proceed to load again, in an infinite loop that stop either when the Lisp process runs out of stack, or the date and time specified in the timestamp is reached. Now, ASDF doesn't bother reloading if the timestamp is in the future.