
#14521: Infinite loop at runtime -------------------------------------+------------------------------------- Reporter: OlivierSohn | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.3 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: MacOS X | Architecture: Type of failure: Incorrect result | Unknown/Multiple at runtime | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Old description:
Hello,
in https://github.com/OlivierSohn/hamazed/issues/1 I describe the following issue:
**(Edit : the same behaviour exists with ghc 8.2.2)**
When compiling on OSX with optimizations (`stack clean && stack build` using resolver `lts-9.12` (ghc 8.0.2)), the program loops infinitely (400% CPU, and execution is blocked) when an animation is triggered in the game. When compiling without optimizations, there is not this bug.
The bug is visible in the full game at this commit : https://github.com/OlivierSohn/hamazed/commit/9f25223ef0502f91cd9633654bdb17... (to reproduce, shoot at a number in the game)
And this commit shows a program with minimal code to reproduce the issue : https://github.com/OlivierSohn/hamazed/commit/30b0f703565a4150d686a36a4dfe9d...
The expected output of the program is
{{{ Before rendering animations animation is rendered After rendering animations }}}
What I observe is
{{{ Before rendering animations }}}
I found several ways to circumvent the problem, wrote them in the code to help debugging.
Also, here is my stack version if it matters: {{{ stack version: `1.3.2, Git revision 3f675146590da4f3edf768b89355f798229da2a5 (4395 commits) x86_64 hpack-0.15.0` }}}
Thank you, Olivier
New description: Hello, For this program : https://github.com/OlivierSohn/hamazed/tree/repro- ghc-14521-A The expected output is: {{{ Before rendering animations animation is rendered After rendering animations }}} What I observe is when compiling with ghc 8.0.2 or 8.2.2, with optimizations: {{{ Before rendering animations }}} I found several ways to circumvent the bug, and documented each one in the source code. Can someone take a look? Is my program an invalid program that was not detected by the compiler? Thank you, Olivier -- Comment (by OlivierSohn): I update the description to reference the branch of the repro case and not a particular commit, and to be more concise. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14521#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler