#3628 unixInit.test unixInit-1.2 fail Solaris 9

obsolete: 8.4.14
closed-fixed
5
2007-02-24
2007-01-19
Larry W. Virden
No

built on sparc solaris 9, sun c compiler.

compiled with
./configure --prefix=/tmp/tcl8414 --enable-shared --enable-symbols --enable-stubs --enable-64bit --enable-threads

unixInit.test

==== unixInit-1.2 initialisation: standard channel type deduction FAILED
==== Contents of test case:

# pipe1 is a connection to a server that reports what port it
# starts on, and delivers a constant string to the first client to
# connect to that port before exiting.
set pipe1 [open "|[list [interpreter]]" r+]
puts $pipe1 {
proc accept {channel host port} {
puts $channel {puts [fconfigure stdin -peername]; exit}
close $channel
exit
}
puts [fconfigure [socket -server accept 0] -sockname]
vwait forever }
# Note the backslash above; this is important to make sure that the
# whole string is read before an [exit] can happen...
flush $pipe1
set port [lindex [gets $pipe1] 2]
set sock [socket localhost $port]
# pipe2 is a connection to a Tcl interpreter that takes its orders
# from the socket we hand it (i.e. the server we create above.)
# These orders will tell it to print out the details about the
# socket it is taking instructions from, hopefully identifying it
# as a socket. Which is what this test is all about.
set pipe2 [open "|[list [interpreter] <@$sock]" r]
set result [gets $pipe2]

# Clear any pending data; stops certain kinds of (non-important) errors
fconfigure $pipe1 -blocking 0; gets $pipe1
fconfigure $pipe2 -blocking 0; gets $pipe2

# Close the pipes and the socket.
close $pipe2
close $pipe1
catch {close $sock}

# Can't use normal comparison, as hostname varies due to some
# installations having a messed up /etc/hosts file.
if {
[string equal 127.0.0.1 [lindex $result 0]] &&
[string equal $port [lindex $result 2]]
} then {
subst "OK"
} else {
subst "Expected: `[list 127.0.0.1 localhost $port]', Got `$result'"
}

---- Result was:
Expected: `127.0.0.1 localhost 41536', Got `0.0.0.0 localhost 41536'
---- Result should have been (exact matching):
OK
==== unixInit-1.2 FAILED

Discussion

  • Logged In: YES
    user_id=90580
    Originator: NO

    I fixed a 64 bit bug in TclpInetNtoa that caused 0.0.0.0 test failures on a ppc64 mac, please verify if the tip of core-8-4-branch still exhibits your problem.

    2006-12-19 Daniel Steffen <das@users.sourceforge.net>
    * unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit.

     
  • Logged In: YES
    user_id=90580
    Originator: NO

    I fixed a 64 bit bug in TclpInetNtoa that caused 0.0.0.0 test failures on a ppc64 mac, please verify if the tip of core-8-4-branch still exhibits your problem.

    2006-12-19 Daniel Steffen <das@users.sourceforge.net>
    * unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit.

     
  • Logged In: YES
    user_id=15949
    Originator: YES

    I'm not really certain how to get that code - right now, I get my cvs head snapshots from the activestate tcl ftp site, and their tcl snapshots are of the tcl 8.5 branch.

     
  • Logged In: YES
    user_id=90580
    Originator: NO

    that same bug existed on the HEAD and was fixed there at the same time, so if you don't see similar errors with 8.5, that change probably fixed this issue as well.

    to get the tip of core-8-4-branch from CVS, use
    cvs -d:pserver:anonymous@tcl.cvs.sourceforge.net:/cvsroot/tcl co -r core-8-4-branch tcl

    or you could manually apply the patch in question to 8.4.14, it is e.g. available at
    http://rutherglen.ics.mq.edu.au/fisheye/rdiff/Tcl?csid=core-8-4-branch:das:20061219041410&u&N

     
  • Jeffrey Hobbs
    Jeffrey Hobbs
    2007-02-09

    • status: open --> pending-fixed
     
  • Jeffrey Hobbs
    Jeffrey Hobbs
    2007-02-09

    Logged In: YES
    user_id=72656
    Originator: NO

    I think this is related to 1639650.

     
    • status: pending-fixed --> closed-fixed
     
  • Logged In: YES
    user_id=1312539
    Originator: NO

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).