sys

View Ticket
Login
Ticket Hash: c8c32453601d330e76015af713a51d42d99fb380
Title: LOOP: Broken when interpreted?
Status: Open Type: Code_Defect
Severity: Critical Priority:
Subsystem: Resolution:
Last Modified: 2023-07-03 14:08:50
Version Found In: system-100-0
User Comments:
ams added on 2023-07-03 14:08:50:

In some situations, LOOP macro expansions leads to broken code, e.g.,

#<FS::LOGICAL-PATHNAME "SYS; EH; ERRMAC LISP">
>>>TRAP 3050 (BAD-CDR-CODE VMA)
A bad cdr-code was found in memory (at address 7717357).
While in the function SI::TAGBODY-INTERNAL <- PROG <- SYSTEM:EVAL1

SI::TAGBODY-INTERNAL: (P.C. = 69)
  Arg 0 (BODY): (SI::NEXT-LOOP (AND ** **) (SETQ QFASL-FILE **) (SETQ #:G0053 **) ...)

This was during NEW-SYSTEM, with the file loaded as Lisp code. If one QCs everything works. Sometimes this manifests as a call to CONS on #:G....