When trying to install the latest 7.7 snapshot on openbsd 3.9/i386 I end up with it stuck here:
if [ -f dumpversion ]; then make delete_dumped_modules; else :; fi Installing Pike in /usr/local, please wait...
Installing: |========== | 20.0 %
tpike is using 100% of the CPU, and it just sits there forever. Before I spend too much time trying to dig through the install scripts to try and find out what its doing exactly at 20%, does anyone have an educated guess?
Adam
20% is the point at which the installer switches from installing files to precompiling (aka dumping) files.
Try attaching with gdb and call gdb_backtraces().
On Tue, 2 May 2006 08:50:05 +0000 (UTC) "Henrik Grubbstr_m (Lysator) @ Pike (-) developers forum" 10353@lyskom.lysator.liu.se wrote:
20% is the point at which the installer switches from installing files to precompiling (aka dumping) files.
Try attaching with gdb and call gdb_backtraces().
Running call gdb_backtraces() doesn't show anything. But gdb at least narrowed down the problem. Its looping forever in the new closefrom() code in signal_handler.c, with errno = EBADFD.
Adam
On Tue, 2 May 2006 17:55:02 +0000 (UTC) "Henrik Grubbstr_m (Lysator) @ Pike (-) developers forum" 10353@lyskom.lysator.liu.se wrote:
EBADF? Which OS is this?
OpenBSD, I'm 99% sure NetBSD will have the same problem. According to the man page:
closefrom() will fail if:
[EBADF] fd is greater than any open file descriptor.
[EINTR] An interrupt was received.
Adam
Ok. The Solaris man-page says:
ERRORS No errors are defined. The closefrom() and fdwalk() func- tions do not set errno but errno can be set by close() or by another function called by the callback function, func().
Fixed.
pike-devel@lists.lysator.liu.se