http://pike.ida.liu.se/pub/pike/beta/7.6.68/Pike-v7.6.68.tar.gz
Not very well tested and unlikely to be the final release, but give it a whirl and you if your most hated bug is still in it.
Just this one:
misao:~/Pike-v7.6.68/build/linux-2.6.8dma-ppc% ./test-pike Pike v7.6 release 68 running Hilfe v3.5 (Incremental Pike Frontend)
Stdio.File()->proxy(Stdio.File("/dev/null","r"));
Segmentation fault misao:~/Pike-v7.6.68/build/linux-2.6.8dma-ppc%
What is th_create_small()? As far as I can see, it creates a stack which is too small for the 8192 byte buffer that proxy_thread creates as an auto variable...
Interrestingly enough, I can reproduce the problem with older pikes, including 7.4.44, but I don't remember seeing the testsuite fail on the proxy() test before. I suppose it depends on kernel or libc version if you get 8K+ of stack or not...
Ok, found the definition of th_create_small in pike_threadlib.h:
#define th_create_small(ID,fun,arg) thr_create(NULL,8192*sizeof(char*),fun,arg,THR_DAEMON|THR_DETACHED,ID)
Ok, so the entire stack is set to 8k. Then allocating an auto variable of size 8k is completely out of the question, as there needs to be room for at least one call frame as well. Conclusion: File->proxy() is broken and has been since 1998...
Fix committed to 7.4, 7.6 and 7.7. The fix should be trivial to backport to older branches if anyone still uses them.
pike-devel@lists.lysator.liu.se