ports/118452: tcl84 spins trying to close dead pty

heasley heas at shrubbery.net
Wed Dec 5 23:00:02 UTC 2007


>Number:         118452
>Category:       ports
>Synopsis:       tcl84 spins trying to close dead pty
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Dec 05 23:00:02 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     heasley
>Release:        6.2R
>Organization:
sni
>Environment:
6.2-RELEASE FreeBSD 6.2-RELEASE #1: Mon Jul 23 01:53:25 GMT 2007     root at ns2.routeviews.org:/usr/src/sys/i386/compile/ns2  i386

>Description:
rancid with tcl84 results in a spinning expect if the client closes the telnet/ssh connection unexpectedly.
>How-To-Repeat:
install ports/net/rancid.  Create a ~/.cloginrc with:

% more ~/.cloginrc
# route views
add user route-views.routeviews*        {rviews}
add password route-views.routeviews*    {foo}   {Xm00-c0w.}
add autoenable route-views.routeviews*  {0}
# EOF

now run the command:
   /usr/local/libexec/rancid/clogin -c "show clock" route-views.routeviews.org

This will result in a spinning expect process whose stack trace is:

#0  0x28202147 in fcntl () from /lib/libc.so.6
#1  0x0804ddd1 in ExpBlockModeProc ()
#2  0x280e7e0d in StackSetBlockMode () from /usr/local/lib/libtcl84.so.1
#3  0x280e7e5f in SetBlockMode () from /usr/local/lib/libtcl84.so.1
#4  0x280ea2ba in Tcl_SetChannelOption () from /usr/local/lib/libtcl84.so.1
#5  0x280ea8d0 in TclFinalizeIOSubsystem () from /usr/local/lib/libtcl84.so.1
#6  0x280d2e27 in Tcl_FinalizeThread () from /usr/local/lib/libtcl84.so.1
#7  0x280d2edb in Tcl_Finalize () from /usr/local/lib/libtcl84.so.1
#8  0x280d2fda in Tcl_Exit () from /usr/local/lib/libtcl84.so.1
#9  0x08052397 in Exp_ExitCmd ()
#10 0x280ae2e4 in TclInvokeStringCommand () from /usr/local/lib/libtcl84.so.1
#11 0x280af9e0 in TclEvalObjvInternal () from /usr/local/lib/libtcl84.so.1
#12 0x280b0f2a in Tcl_EvalEx () from /usr/local/lib/libtcl84.so.1
#13 0x280f2024 in Tcl_FSEvalFile () from /usr/local/lib/libtcl84.so.1
#14 0x280f217e in Tcl_EvalFile () from /usr/local/lib/libtcl84.so.1
#15 0x0804c736 in exp_interpret_cmdfilename ()
#16 0x0804b6e6 in main ()

ktrace seems to point to the spinning somewhere below frame 4.
>Fix:
Haven't gone dumpster diving, so I don't know the proper fix, but forcing the use of tcl83 works.

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list