Tcl Source Code

View Ticket
Login
Ticket UUID: 1459837
Title: missing close error message
Type: Bug Version: obsolete: 8.4.4
Submitter: iwahashi Created on: 2006-03-28 08:19:11
Subsystem: 24. Channel Commands Assigned To: andreas_kupries
Priority: 6 Severity:
Status: Open Last Modified: 2006-03-30 22:34:16
Resolution: Remind Closed By: dgp
    Closed on: 2006-03-28 15:50:55
Description:
OS : SunOS 5.8
Machine: Sun Solaris

I had an error while executing close command. But 
there was not posix error message. The error message 
contained only stack trace information.

I could not find any Tcl_AppendResult in 
Tcl_CloseObjCmd, Tcl_UnregisterChannel and Tcl_Close.

And I think Tcl_InterpObjCmd and Tcl_ExecObjCmd also 
will be same.
User Comments: dgp added on 2006-03-30 22:34:16:
Logged In: YES 
user_id=80530


CrtChannel.3 indicates that
FileCloseProc ought to take
care of the error message.

Seems very strange to me this
has not been noticed until now.

dgp added on 2006-03-30 22:30:27:
Logged In: YES 
user_id=80530


Either CloseChannel() in tclIO.c
or FileCloseProc() in tclUnixChan.c
ought to be setting the interp
error message.  The Tcl_ChannelType
docs ought to spell out which one
is responsible, but right now neither
does anything with its interp argument.

iwahashi added on 2006-03-30 07:29:57:

File Added - 172724: error.JPG

iwahashi added on 2006-03-30 07:29:56:
Logged In: YES 
user_id=1435853

When the close error occurred, an application was running 
on NFS directory which mounting to another solaris 
machine . 

The problem is still present in Tcl 8.4.12 . I tried 
test.tcl as follows on NFS directory.
---[ test.tcl ]-----------------------------
pack [ button .b1 -text "Start test" -command "log" ]

proc log {} {

    set fd [ open "aaa.log" a+ ]
    puts $fd "file close error test"
    flush $fd
    tk_messageBox -message "Please del aaa.log file.\nThen 
press OK button."
    close $fd

}
----------

1. Press "Start test" button.
2. Delete aaa.log file which was created by test.tcl.
3. Press OK button.
4. Then Application Error will occurred. But there was not 
posix error message.
It is only happen on NFS file system.

I saved log as follows, also I attach JPG file.
---[ saved log ]-----------------------------


    while executing
"close $fd"
    (procedure "log" line 7)
    invoked from within
"log"
    invoked from within
".b1 invoke"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list $w invoke]"
    (procedure "tk::ButtonUp" line 22)
    invoked from within
"tk::ButtonUp .b1"
    (command bound to event)
----------

dgp added on 2006-03-28 22:50:55:
Logged In: YES 
user_id=80530


Can you offer a script
that demos the problem?

Is the problem still present
in Tcl 8.4.12 ?

Really not enough info
here to do anything.

Attachments: