Thread

Posted on Tue Apr 11 21:41:07 2006 by je44ery
Expect 1.15 'make test' hainging, reason = 'Use of uninitialized value in ioctl'

lugh.ksh is my Korn shell installer logging. This is as far as it gets before hanging. No further output past this point shown. Should I write a defect for this?

OS = AIX 5.3, latest maint level
# perl -v
This is perl, v5.8.2 built for aix-thread-multi

[2006/04/11,13:36:24] [lugh.ksh] [notice] Running command make cp Expect.pm blib/lib/Expect.pm cp Expect.pod blib/lib/Expect.pod Manifying blib/man3/Expect.3 [2006/04/11,13:36:25] [lugh.ksh] [notice] Running command make test PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl 1..36 Basic tests... Use of uninitialized value in ioctl at /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/IO/Pty.p +m line 119. warning: TIOCSCTTY failed, slave might not be set as controlling terminal: A system call received a + parameter that is no t valid. at /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/IO/Pty.pm line 120.
Direct Responses: 2178 | Write a response
Posted on Fri Apr 21 11:49:38 2006 by rgiersig in response to 2149
Re: Expect 1.15 'make test' hainging, 'Use of uninitialized value in ioctl'
Actually this a problem from IO::Pty, seems it got some bad ioctl constants. From what I have heared the AIX5 header files aren't too clean and thus might be the culprit. I'll look into that as soon as I get access to an AIX system...
Direct Responses: 2234 | Write a response
Posted on Fri May 5 14:51:15 2006 by rgiersig in response to 2178
Re: Expect 1.15 'make test' hainging, 'Use of uninitialized value in ioctl'
OK, this error message is benign and will be fixed in the next IO::Pty version (coming up soon). The hangup is related to a missing close-on-exec flag on a pipe filehandle in Expect and will also be fixed like this:
*** Expect-1.15/Expect.pm Tue Mar 19 12:59:29 2002 --- Expect-1.16/Expect.pm Fri May 5 13:30:06 2006 *************** *** 104,109 **** --- 104,112 ---- # set up pipe to detect childs exec error pipe(STAT_RDR, STAT_WTR) or die "Cannot open pipe: $!"; STAT_WTR->autoflush(1); + eval { + fcntl(STAT_WTR, F_SETFD, FD_CLOEXEC); + }; my $pid = fork;
Write a response