#2257: validate hangs in configure
-----------------------------+----------------------------------------------
Reporter: nr | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Build System | Version: 6.8.2
Severity: major | Resolution:
Keywords: | Testcase:
Architecture: x86 | Os: Linux
-----------------------------+----------------------------------------------
Comment (by nr):
I did a little digging into the file that's hanging, and I notice it calls
usleep and waits for a timer event. It's hanging, and if interrupted, it
shows this backtrace:
{{{
(gdb) bt
#0 handler (i=26) at conftest.c:109
#1 <signal handler called>
#2 0xb7f163d6 in _dl_fixup () from /lib/ld-linux.so.2
#3 0xb7f1bc50 in _dl_runtime_resolve () from /lib/ld-linux.so.2
#4 0x080488a9 in main () at conftest.c:178
(gdb)
}}}
Line 178 is the call to usleep() and line 109 is the VTALARM handler
installed by sigaction().
I note that the man page for usleep contains these warnings:
{{{
CONFORMING TO
4.3BSD, POSIX.1-2001. POSIX.1-2001 declares this function
obsolete;
use nanosleep(2) instead.
}}}
and
{{{
The interaction of this function with the SIGALRM signal, and
with
other timer functions such as alarm(2), sleep(3),
nanosleep(2),
setitimer(2), timer_create(3), timer_delete(3),
timer_getoverrun(3),
timer_gettime(3), timer_settime(3), ualarm(3) is unspecified.
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2257#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs