Test case:
int main() {write(Stdio.read_file("readfileboom.pike"));}
Oddly enough, this works fine if run from a non-installed Pike:
rosuav@sikorsky:~/pike$ bin/pike readfileboom.pike int main() {write(Stdio.read_file("readfileboom.pike"));}
But installing it and using that causes a crash:
Thanks for the report.
It wasn't trivial to find a machine where it failed reliably, but I found one last night.
rosuav@sikorsky:~/pike$ pike readfileboom.pike /home/rosuav/pike/src/cyclic.c:39: Fatal error: Unlink cyclic on lost cyclic struct.
The reason for the failure seems to be that a CYCLIC wasn't unlinked properly from the hash table, which caused an earlier entry to be unlinked (and thus lost) when the entry was overwritten on the stack.
Fixed.
/grubba