#14188: On windows, trace prints out lines without proper line endings ---------------------------------+---------------------------------------- Reporter: simonpj | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.2.1 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4018 Wiki Page: | ---------------------------------+---------------------------------------- Comment (by Tamar Christina <tamar@…>): In [changeset:"2b2595e03d328f8c49afe55f765635c03dc81865/ghc" 2b2595e0/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="2b2595e03d328f8c49afe55f765635c03dc81865" Ensure text mode when calling debug functions Summary: Something seems to be changing stderr into binary mode, so when the `traceIO` is called, the C code that ultimately calls `vfprintf` is using a binary mode handle. This causes newlines not to be encoded properly. The patch ensures we're in text mode when writing the debug messages (% interleaving as it's not thread safe at all) and restores the previous mode when done. I'm slightly concerned about the performance implications of writing large dumps out in text mode, but I think the current behavior is not intended as I cannot see any of the printing code setting the mode of the std handles. Test Plan: ./validate Reviewers: austin, bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie GHC Trac Issues: #14188 Differential Revision: https://phabricator.haskell.org/D4018 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14188#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler