
Sorry about the size of this but it's not obvious to me how to narrow it down. The following shows the program work without profiling support but segfault with it. A tarball of the code is at http://c93.keble.ox.ac.uk/~ian/nhc-bug.tar.gz $ make clean nhc; ./Project -d +RTS -H350M < Project.lhs > /dev/null; make clean nhc-prof; ./Project -d +RTS -H350M < Project.lhs > /dev/null rm -f *.o *.hi Project HFLAGS="+RTS -K10M -RTS -nkpat" hmake -nhc98 Project nhc98 +RTS -K10M -RTS -nkpat -c -o Pretty.o Pretty.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Tokens.o Tokens.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Tree.o Tree.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o PP.o PP.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Position.o Position.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o PCbase.o PCbase.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o PC.o PC.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Parser.o Parser.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Mangle.o Mangle.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Sort.o Sort.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o FiniteMap.o FiniteMap.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o IA.o IA.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Offside.o Offside.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Scanner.o Scanner.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Delit.o Delit.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Args.o Args.lhs nhc98 +RTS -K10M -RTS -nkpat -c -o Project.o Project.lhs nhc98 +RTS -K10M -RTS -nkpat -o Project Sort.o FiniteMap.o PCbase.o Pretty.o Tree.o IA.o PC.o Position.o PP.o Parser.o Mangle.o Offside.o Scanner.o Tokens.o Delit.o Args.o Project.o rm -f *.o *.hi Project HFLAGS="+RTS -K10M -RTS -nkpat" hmake -p -nhc98 Project nhc98 -p +RTS -K10M -RTS -nkpat -c -o Pretty.p.o Pretty.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Tokens.p.o Tokens.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Tree.p.o Tree.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o PP.p.o PP.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Position.p.o Position.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o PCbase.p.o PCbase.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o PC.p.o PC.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Parser.p.o Parser.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Mangle.p.o Mangle.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Sort.p.o Sort.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o FiniteMap.p.o FiniteMap.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o IA.p.o IA.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Offside.p.o Offside.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Scanner.p.o Scanner.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Delit.p.o Delit.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Args.p.o Args.lhs nhc98 -p +RTS -K10M -RTS -nkpat -c -o Project.p.o Project.lhs nhc98 -p +RTS -K10M -RTS -nkpat -o Project Sort.p.o FiniteMap.p.o PCbase.p.o Pretty.p.o Tree.p.o IA.p.o PC.p.o Position.p.o PP.p.o Parser.p.o Mangle.p.o Offside.p.o Scanner.p.o Tokens.p.o Delit.p.o Args.p.o Project.p.o Segmentation fault (core dumped) Thanks Ian