
#11489: Segmentation fault when .prof file not writeable -------------------------------------+------------------------------------- Reporter: thomie | Owner: Type: bug | Status: new Priority: low | Milestone: Component: Profiling | Version: 7.0.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- To reproduce: {{{ $ echo 'main = return ()' > Test.hs $ touch Test.prof $ chmod -w Test.prof $ ghc -prof Test.hs [1 of 1] Compiling Main ( Test.hs, Test.o ) Linking Test ... $ ./Test +RTS -hr{} -hc Can't open profiling report file Test.prof Segmentation fault (core dumped) }}} The warning is ok (maybe it should be an error?), but it shouldn't segfault. Running `./Test +RTS -hr` works fine. http://downloads.haskell.org/~ghc/master/users-guide/profiling.html#rts- options-for-heap-profiling: * `-hc`: Breaks down the graph by the cost-centre stack which produced the data. * `-hr⟨cc⟩`: Restrict the profile to closures with retainer sets containing cost-centre stacks with one of the specified cost centres at the top. Bug exists since dbef766ce79e37a74468a07a93b15ba1f06fe8f8 (2002): {{{ - you can now restrict a heap profile to certain retainer sets, but still display by cost centre (or type, or closure or whatever). }}} Because it didn't update this code+comment introduced in db61851c5472bf565cd1da900b33d6e033fd743d (2001): {{{ // The following line was added by Sung; retainer/LDV profiling may need // two output files, i.e., <program>.prof/hp. if (RtsFlags.ProfFlags.doHeapProfile == HEAP_BY_RETAINER) RtsFlags.ProfFlags.doHeapProfile = 0; }}} Another relevant commit a4e17de6a38eb37cabff165e8f280a236ffa8af6: {{{ Author: simonmar <unknown> Date: Wed Nov 28 15:42:26 2001 +0000 [project @ 2001-11-28 15:42:26 by simonmar] Don't need the .prof file when LDV-profiling. }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11489 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler