[Nickle]twixt bug?
Bart Massey
nickle@nickle.org
Mon, 15 Jul 2002 01:38:50 -0700
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <26634.1026722325.1@bart.cs.pdx.edu>
This may be the same bug that I reported before and Keith
has apparently fixed but not yet checked into CVS: I don't
know. I've got it cut down to this, but haven't chased it
further, and I'm sleepy.
Invoke the attached script as
./bug.5c
On my machine, it reports
nickle: sched.c:504: ContinuationMark: Assertion
`!continuation->pc || ((((InstPtr) (continuation->obj +
1)) + ( 0)) <= continuation->pc && continuation->pc <=
(((InstPtr) (continuation->obj + 1)) + (
((continuation->obj)->used - 1))))' failed.
It is very sensitive to the stack state: I couldn't cut it
down further. I got a stack backtrace with gdb: the garbage
collector was trying to collect an apparently broken
TwixtMark.
It seems like the twixt continuation stuff is still a bit
messed up, but I'll let Keith poke at it before I try
again...
Bart
------- =_aaaaaaaaaa0
Content-Type: text/plain; name="bug.5c"; charset="us-ascii"
Content-ID: <26634.1026722325.2@bart.cs.pdx.edu>
#!/usr/bin/env nickle
import File;
int main() {
string destcodes = sprintf("/tmp/%c.codes", 'a');
twixt(file sf = open("/dev/zero", "r"); close(sf)) {
string word;
while (fscanf(sf, "%s\n", &word) == 1) {
}
}
return 0;
}
main();
------- =_aaaaaaaaaa0--