Block compiling leads to AVER errors

Bug #1931730 reported by Sean Maher
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Medium
Unassigned

Bug Description

What I did was to take CL-PPCRE, combine the source into a single file so the entire compile unit could be block compiled, and then run (COMPILE-FILE "source" :BLOCK-COMPILE T :ENTRY-POINTS '(:entry-points)), which leads to a failed AVER.

Here are two files which both produce distinct AVER failures, which I've attached here.

The SBCL version is SBCL 2.1.5.55-ba60f3716.

Uname -a is Linux 5.10.28-1rodete1-amd64 #1 SMP Debian 5.10.28-1rodete1 (2021-04-30) x86_64 GNU/Linux

*FEATURES* is (:X86-64 :GENCGC :64-BIT :ANSI-CL :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LINUX
 :LITTLE-ENDIAN :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-DEVEL :SB-LDB
 :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL :UNIX)

Revision history for this message
Sean Maher (spvw) wrote :
Revision history for this message
Sean Maher (spvw) wrote :

Oh, yeah, I forgot to actually include the COMPILE-FILE command I was running.

That's (compile-file "foundbug" :block-compile t :entry-points '(:quote-meta-chars))

Same thing for "findbug", the other lisp file. (Even though :quote-meta-chars isn't actually in one of the files, we don't get to that point in the process I don't think.)

Revision history for this message
Sean Maher (spvw) wrote :

Hey, the above file broke. Here's a new test case which works for me on 2.1.5.93-4a3ff1780.

Should trigger with (compile-file "./concat2" :block-compile t).

Stas Boukarev (stassats)
Changed in sbcl:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Douglas Katzman (dougk) wrote :

I see from some of Sean's documentation trail that at least 4 different AVERs failed.
I'm not sure which "two" were meant when this bug was initially filed.

- (EQ SB-C::PHYSENV (SB-C::LAMBDA-PHYSENV (SB-C::LAMBDA-VAR-HOME SB-C::THING)))
- (MEMBER SB-C::CLAMBDA (SB-C::COMPONENT-LAMBDAS (SB-C::LAMBDA-COMPONENT SB-C::CLAMBDA)))
- (EQ (SB-C::COMPONENT-KIND SB-C::NEW) (SB-C::COMPONENT-KIND SB-C::OLD))
- (NULL (SB-C::COMPONENT-NEW-FUNCTIONALS (SB-C::LAMBDA-COMPONENT SB-C::CLAMBDA)))

Revision history for this message
Charles (karlosz) wrote :

All the unresolved AVERs seem to have stemmed from block compilation not working well with top-level closures in some shape or form, from testing the attached files for this bug.

I've fixed that now, and all the avers in this bug seem to be fixed.

Changed in sbcl:
status: Confirmed → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.