Comment 1 for bug 160483

Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

Interesting. I'm currently trying this at the repl:

$ rlwrap ikarus -b ikarus.boot
Ikarus Scheme (Build 2007-11-06)
Copyright (c) 2006-2007 Abdulaziz Ghuloum

> (begin (make-bytevector 64000000 0) 12)
Unhandled exception
 Condition components:
   1. &error
   2. &who: apply
   3. &message: "not a procedure"
   4. &irritants: (#<unknown EAADFD.7>)
> (begin (make-bytevector 64000000 0) 12)
12

As you can see, it fails the first time, but passes the second time.
My best hypothesis at this time is that there is a cache coherency problem: somewhere inside the system, a *procedure* is called, but its pointer is messed up so it shows up as a vector in your system and as a garbage #<unknown> in mine. Calling the same procedure the second time succeeds since the cache is now flushed (a side effect from the first call).

I remember removing some calls to mprotect some time last week when I was porting to cygwin. It might be the cause.
Will investigate further.

Thanks.

Aziz,,,