#1882: GHC's vfork() silently dies, wich renders compiling impossible
----------------------+-----------------------------------------------------
Reporter: raw | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.8.1
Severity: blocker | Keywords: waitpid, vfork, ghc, hang
Testcase: | Architecture: x86
Os: Unknown |
----------------------+-----------------------------------------------------
There is something seriously wrong with ghc-6.8.1.[[BR]]
I switched to ghc-6.8.1 recently and after compiling xmonad 3-4
times[[BR]]
with it, something strange happend. It just[[BR]]
hangs at compile time and does nothing, until after some time it[[BR]]
silently dies. See below[[BR]]
[[BR]]
`15578 pts/3 Sl+ 0:00 /usr/local/lib/ghc-6.8.1/ghc-6.8.1`[[BR]]
`-B/usr/local/lib/ghc-6.8.1 -ignore-dot-ghci -e`[[BR]]
`System.Environment.withProgName "Setup.hs"`[[BR]]
`(System.Environment.withArgs`[[BR]]
`["configure","--user","--prefix=/home/raw"] (GHC.TopHandle[...]`[[BR]]
[[BR]]
''We start Setup.lhs via runhaskell (the target is mtl-1.1.0.0)''[[BR]]
`execve("/usr/local/bin/runhaskell", ["runhaskell", "Setup.hs",
"configure", "--user",`[[BR]]
''allocation stuff, stripped''[[BR]]
`[...]`[[BR]]
''ok seems we found ghc, we can start compiling''[[BR]]
`stat64("/usr/local/bin/ghc", {st_mode=S_IFREG|0755, st_size=123, ...}) =
0`[[BR]]
`rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0`[[BR]]
`rt_sigaction(SIGINT, {SIG_IGN}, NULL, 8) = 0`[[BR]]
`rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0`[[BR]]
`rt_sigprocmask(SIG_BLOCK, [QUIT], [], 8) = 0`[[BR]]
`rt_sigaction(SIGQUIT, {SIG_IGN}, NULL, 8) = 0`[[BR]]
`rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0`[[BR]]
`fcntl64(0, F_GETFL) = 0x8002 (flags
O_RDWR|O_LARGEFILE)`[[BR]]
`fcntl64(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0`[[BR]]
`ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo
...}) = 0`[[BR]]
`ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo
...}) = 0`[[BR]]
''forking out the configure process''[[BR]]
'''vfork() = 15578'''[[BR]]
''and waiting for it... and waiting... and waiting...''[[BR]]
'''waitpid(15578,'''[[BR]]
''whoops! it dissapeared! '' [[BR]]
'''waitpid(15578, 0xbf93315c, 0) = ? ERESTARTSYS (To be
restarted)'''[[BR]]
'''--- SIGWINCH (Window changed) @ 0 (0) ---'''[[BR]]
'''waitpid(15578, [{WIFEXITED(s) && WEXITSTATUS(s) == 2}], 0) =
15578'''[[BR]]
'''--- SIGCHLD (Child exited) @ 0 (0) ---'''[[BR]]
''I better die silently, someone could get suspicious.''[[BR]]
`rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0`[[BR]]
`rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0`[[BR]]
`rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0`[[BR]]
`[...]`[[BR]]
[[BR]]
`% uname -a`[[BR]]
`Linux quirm 2.6.23.1 #2 SMP Sun Nov 11 21:00:42 CET 2007 i686 Intel(R)
Core(TM)2 CPU` [[BR]] `T5500 @ 1.66GHz GenuineIntel
GNU/Linux`[[BR]]
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1882>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs