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.
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,,,