#3400 missing close error message

obsolete: 8.4.4
open-remind
6
2006-03-30
2006-03-28
iwahashi
No

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.

Discussion

  • Donal K. Fellows

    • labels: 105657 --> 24. Channel Commands
    • assigned_to: dkf --> andreas_kupries
     
  • Don Porter

    Don Porter - 2006-03-28

    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.

     
  • Don Porter

    Don Porter - 2006-03-28
    • status: open --> pending-invalid
     
  • iwahashi

    iwahashi - 2006-03-30
    • status: pending-invalid --> open-invalid
     
  • iwahashi

    iwahashi - 2006-03-30

    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)
    ----------

     
  • iwahashi

    iwahashi - 2006-03-30

    bgerror window

     
  • Don Porter

    Don Porter - 2006-03-30

    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.

     
  • Don Porter

    Don Porter - 2006-03-30
    • priority: 5 --> 6
    • status: open-invalid --> open-remind
     
  • Don Porter

    Don Porter - 2006-03-30

    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.

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks