Ticket #6041 (closed bug: invalid)
Program hangs when run under Ubuntu Precise
| Reported by: | dsf | Owned by: | |
|---|---|---|---|
| Priority: | high | Milestone: | 7.4.2 |
| Component: | Compiler | Version: | 7.4.1 |
| Keywords: | Cc: | JeremyShaw, clifford.beshers@…, ross | |
| Operating System: | Linux | Architecture: | Unknown/Multiple |
| Type of failure: | Runtime crash | Difficulty: | Unknown |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
This code hangs when running under Ubuntu Precise. However, it works in a Precise changeroot on an Ubuntu Lucid machine -- indicating it could be kernel specific. My guess would be that it would succeed on a Precise machine running a Lucid kernel, but we have not tried that. Any of the following changes make the code work:
- replacing 'readTVar u' with 'return ()'
- removing the 'Wrapper' monad and just using 'StateT'
- deriving the 'MonadState?' instance instead of righting it by hand
- copying the definition of 'modify' into the local module and use that instead of the imported version
The final mystery: If the binary is built in a precise changeroot (where it works) and then copied to a precise machine ... it still works. And if it is built on a real precise machine, where it fails, it still fails when copied to a precise changeroot on a lucid machine.
So, there's that.

