[Openmcl-devel] The MAX-1-BIT-CONSTANT-INDEX error

Gary Byers gb at clozure.com
Sat Jan 30 11:58:20 UTC 2010

Mea culpa, most likely.  (This has nothing to do with constant redefinition;
it does have to do with the volatility of the trunk.)

Changes to the trunk between r13418 and r13422 break the two-arg cases
of LOGIOR and LOGAND when both operands are bignums on 64-bit platforms.
There's some incidental use of the affected functions in the compiler
and fasloader (and elsewhere), and these bugs can lead to symptoms like
those that Sudhir reports below.

IIRC, the PPC64 sources were actually OK as of r13422 and the x8664
seems to OK as of r13423.

If you had the misfortune to have updated and tried to rebuild the
trunk lisp in the last day or so and run into this sort of thing, it
should work to do:

$ cd ccl
$ svn update            ; to at least r13422
$ svn revert lx86cl64.image  ; or whatever 64-bit image
$ ccl64
? (rebuild-ccl :full t)

Using a slightly old image to compile new sources means that you'll
see the last several weeks' worth of business-as-usual warnings and
at least this one CERROR.

(If you use the trunk and were up-to-date as of before r13418, there's
no need to revert the image in that case.)

On Sat, 30 Jan 2010, Sudhir Shenoy wrote:

> On Jan 29, 2010, at 6:00 AM, R. Matthew Emerson wrote:
>> On Jan 28, 2010, at 6:23 AM, Tim Bradshaw wrote:
>>> I get this when trying to rebuild CCL.  Just telling it to continue is
>>> fine, obviously.
>> From time to time, constants do get redefined (especially in the trunk).
>> From the point of view of a user rebuilding ccl to pick up the latest fixes, just continuing from the CERROR is the right thing to do.
> I did this and the build completed fine but I find that I cannot rebuild CCL again using the newly built image.
> Error trace below (Darwin, x8664). I haven't had time yet to run anything significant but CCL seems to be behaving itself for the moment.
> Cheers
> Sudhir
> Rebuilding Clozure Common Lisp using Version 1.5-dev-r13422M-trunk  (DarwinX8664)
> ;Building lisp-kernel ...
> ;Kernel built successfully.
> ;Compiling "/Users/sudhir/lisp/ccl/lib/systems.lisp"...
> ;Loading #P"/Users/sudhir/lisp/ccl/bin/systems.dx64fsl"...
> ;Compiling "/Users/sudhir/lisp/ccl/lib/compile-ccl.lisp"...
> ;Loading #P"/Users/sudhir/lisp/ccl/bin/compile-ccl.dx64fsl"...
> ;Compiling "/Users/sudhir/lisp/ccl/compiler/nxenv.lisp"...
> ;Loading #P"/Users/sudhir/lisp/ccl/bin/nxenv.dx64fsl"...
> ;Compiling "/Users/sudhir/lisp/ccl/compiler/nx.lisp"...
> ; Including "/Users/sudhir/lisp/ccl/compiler/nx-basic.lisp"...
> ; Including "/Users/sudhir/lisp/ccl/compiler/lambda-list.lisp"...
> ; Including "/Users/sudhir/lisp/ccl/compiler/nx0.lisp"...
> ; Including "/Users/sudhir/lisp/ccl/compiler/nx1.lisp"...
> ;Loading #P"/Users/sudhir/lisp/ccl/l1-fasls/nx.dx64fsl"...
>> Error: Fault during write to memory address #xF
>> While executing: #<Anonymous Function #x30200107659F>, in process listener(1).
>> Type :GO to continue, :POP to abort, :R for a list of available restarts.
>> If continued: Skip evaluation of (prog1 (rebuild-ccl :full t) (quit))
>> Type :? for other options.
> 1 > :r
>>  Type (:C <n>) to invoke one of the following restarts:
> 0. Return to break level 1.
> 2. Load "ccl:compiler;nx0.lisp" instead of "/Users/sudhir/lisp/ccl/l1-fasls/nx.dx64fsl"
> 3. Compile "ccl:compiler;nx0.lisp" into "/Users/sudhir/lisp/ccl/l1-fasls/nx.dx64fsl" then load "/Users/sudhir/lisp/ccl/l1-fasls/nx.dx64fsl" again
> 4. Retry loading "/Users/sudhir/lisp/ccl/l1-fasls/nx.dx64fsl"
> 5. Skip loading "/Users/sudhir/lisp/ccl/l1-fasls/nx.dx64fsl"
> 6. Load other file instead of "/Users/sudhir/lisp/ccl/l1-fasls/nx.dx64fsl"
> 7. Skip evaluation of (prog1 (rebuild-ccl :full t) (quit))
> 8. Abort startup.
> 9. Reset this thread
> 10. Kill this thread
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list