program built with nhc and profiling support segfaults

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

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.
Ian, thanks for supplying some code to demonstrate this bug. We have had a couple of reports of seg faults in profiled code, but for various reasons (including commercial confidentiality) no-one has yet been able to supply us with an example of the problem in action. Hopefully, we'll now be able to track this one down. Regards, Malcolm
participants (2)
-
Ian Lynagh
-
Malcolm Wallace