On 4/5/07, Tim Chevalier <[EMAIL PROTECTED]> wrote:
Also -- I just noticed that my segfault isn't the same as your segfault, apparently, because I'm not using a 64-bit machine (or rather, I am, but my OS thinks it's running on a 32-bit machine for some reason I don't want to explore). I get a segfault if I run with -rstderr, but everything works perfectly if I run with -rfoo.txt (or any other output file name I try). I'll look into that, but I'm surprised that you were able to eliminate the segfault just by changing the word sizes...
I figured out the segfault I was getting, in any case: in open_stats_file in RtsFlags.c, the stats file pointer gets set to NULL if you pass in "stderr" for the filename. But the code in PrintTickyInfo in Ticky.c doesn't check for NULL before writing to the stats file. A comment in RtsFlags.c says that stderr as an argument to -r means to use debugBelch to print out messages. But PrintTickyInfo prints out a lot of messages, so I'm not sure how to do that simply. The only thing I can think of is to check for a NULL file pointer in PrintTickyInfo and bail out if so. At least that avoids the segfault in this case. I don't entirely understand how this code is supposed to behave, so I'll wait for comment before making that change. I can't debug the segfault you were getting, though, since I don't have a 64-bit machine... maybe you could check in the code you have so far and I can (if necessary) go from there? Cheers, Tim -- Tim Chevalier * [EMAIL PROTECTED] * Often in error, never in doubt Confused? See http://catamorphism.org/transition.html _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
