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 |