#11489: Segmentation fault when .prof file not writeable -------------------------------------+------------------------------------- Reporter: thomie | Owner: thomie Type: bug | Status: new Priority: low | Milestone: 8.0.1 Component: Profiling | Version: 7.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #7149 | Differential Rev(s): Phab:D1849 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Thomas Miedema <thomasmiedema@…>): In [changeset:"6d2bdfd8d40b926d7a11d003213220022a63d9f5/ghc" 6d2bdfd8/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="6d2bdfd8d40b926d7a11d003213220022a63d9f5" Fix segmentation fault when .prof file not writeable There are two ways to do retainer profiling. Quoting from the user's guide: 1. `+RTS -hr` "Breaks down the graph by retainer set" 2. `+RTS -hr<cc> -h<x>`, where `-h<x>` is one of normal heap profiling break-down options (e.g. `-hc`), and `-hr<cc> means "Restrict the profile to closures with retainer sets containing cost-centre stacks with one of the specified cost centres at the top." Retainer profiling writes to a .hp file, like the other heap profiling options, but also to a .prof file. Therefore, when the .prof file is not writeable for whatever reason, retainer profiling should be turned off completely. This worked ok when running the program with `+RTS -hr` (option 1), but a segfault would occur when using `+RTS -hr<cc> -h<x>`, with `x!=r` (option 2). This commit fixes that. Reviewed by: bgamari Differential Revision: https://phabricator.haskell.org/D1849 GHC Trac Issues: #11489 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11489#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler