vector-set! on literal vector crashes ikarus
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ikarus Scheme |
Fix Committed
|
Medium
|
Abdulaziz Ghuloum |
Bug Description
Hi! I found a small bug while playing around with ikarus:
This works:
juergen@Nix:~$ ikarus
Ikarus Scheme version 0.0.4-rc1+, 64-bit (revision 1854, build 2009-09-08)
Copyright (c) 2006-2009 Abdulaziz Ghuloum
> (define v '#(0))
> (vector-set! v 0 0)
> v
#(0)
This doesn't:
> (vector-set! '#(0) 0 0)
Segmentation fault (core dumped)
> (vector-set! '#(0) 0 #\a)
Segmentation fault (core dumped)
I'm aware that it makes no sense to vector-set! a literal vector, but at least it shouldn't segfault.
It works by the way if you try to set it to something different than an integer number or character:
> (vector-set! '#(0) 0 'foo)
> (vector-set! '#(0) 0 '(1 2))
> (vector-set! '#(0) 0 "bar")
> (vector-set! '#(0) 0 1.1)
> (vector-set! '#(0) 0 +)
Confirmed that this is a problem in the assembler in 64-bit mode only.