Program hangs forever in sched_yield() / yield() unless -N is limited
We have a web application executable that, when run with -N24 (on our 24-core machine) hangs indefinitely, taking up 100% CPU. Introspecting with strace reveals that it's stuck in yield (on native SmartOS) and shed_yield (on both SmartOS LX and Linux emulation with KVM).
If we run with +RTS -N2 -RTS, we do not observe this behavior.
Attached is the output of truss(1) on an instance of a hung process.
Other possibly-relevant information: this is an instance of the Warp web server and the Snap framework.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.10.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |
Edited by patrick_thomson