Tk Library Source Code

View Ticket
Login
Ticket UUID: 1892687
Title: sak.tcl test shell add fails
Type: Bug Version: None
Submitter: mic42 Created on: 2008-02-13 12:49:13
Subsystem: Build System & Testing Assigned To: andreas_kupries
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2008-02-28 12:17:17
Resolution: Fixed Closed By: andreas_kupries
    Closed on: 2008-02-28 05:17:17
Description:
I tried to add a shell for testing to sak.tcl but get a not so informative stack trace:
(this is inside msys/mingw, using AS Tcl shells)

$ c:/tools/bin/tclsh85.exe sak.tcl test shell add c:/tools/bin/tclsh85.exe
invalid command name "::uplevel"
    while executing
"::uplevel #0 {set I 0
set {C {} {}} 0
set {N 0 P} {}
set {N 0 M} 1158662637
}"
    invoked from within
"$ip eval [list ::uplevel \#0 $data]"
    (procedure "::tie::std::file::Snit_methodReplay" line 30)
    invoked from within
"$self Replay"
    (procedure "::tie::std::file::Snit_methodLoadJournal" line 7)
    invoked from within
"$self LoadJournal"
    (procedure "::tie::std::file::Snit_methodget" line 7)
    invoked from within
"$dso get"
    (procedure "Connect" line 6)
    invoked from within
"Connect thearray $open $merge $dso"
    (procedure "tie::tie" line 42)
    invoked from within
"tie::tie ::pregistry::Snit_inst2::data file ~/.Tcllib/Registry"
    ("eval" body line 1)
    invoked from within
"eval [linsert $value 0 tie::tie [myvar data]]"
    (procedure "::pregistry::Snit_methodTIE" line 9)
    invoked from within
"::sak::registry::pregistry1 TIE -tie {file ~/.Tcllib/Registry}"
    ("uplevel" body line 1)
    invoked from within
"uplevel 1 $command"
    (procedure "::snit::RT.method.configurelist" line 37)
    invoked from within
"$self configurelist $args"
    (procedure "::pregistry::Snit_constructor" line 5)
    invoked from within
"::pregistry::Snit_constructor ::pregistry ::pregistry::Snit_inst2 ::sak::registry::pregistry1 ::sak::registry::pregistry1 -tie {file ~/.Tcllib/Registr..."
    ("eval" body line 1)
    invoked from within
"eval [linsert $arglist 0  ${type}::Snit_constructor $type $selfns $instance $instance]"
    (procedure "RT.ConstructInstance" line 9)
    invoked from within
"RT.ConstructInstance $type $selfns $name $args"
    (procedure "::snit::RT.type.typemethod.create" line 45)
    invoked from within
"pregistry %AUTO%  -tie [list file $state]"
    (procedure "Setup" line 11)
    invoked from within
"Setup"
    (procedure "sak::registry::local" line 2)
    invoked from within
"sak::registry::local  get||default Tests Shells {}"
    (procedure "sak::test::shell::add" line 8)
    invoked from within
"sak::test::shell::add $argv"
    (procedure "sak::test::shell" line 9)
    invoked from within
"sak::test::$cmd $argv"
    (file "./support/devel/sak/test/cmd.tcl" line 25)
    invoked from within
User Comments: andreas_kupries added on 2008-02-28 12:17:17:
Logged In: YES 
user_id=75003
Originator: NO

Fixed. Duplicate of [1897850]. Do not try to use a command you have just deleted from the sub interpreter to make it safe.

mic42 added on 2008-02-26 05:42:34:
Logged In: YES 
user_id=302287
Originator: YES

Another point:
It also fails on Solaris DevExpress (Opensolaris basically), Tcl 8.5 from cvs, tcllib head.

andreas_kupries added on 2008-02-14 02:26:25:
Logged In: YES 
user_id=75003
Originator: NO

Hm. If you Linux, what about that platform?
Well, that one I can test myself.

mic42 added on 2008-02-14 02:11:15:
Logged In: YES 
user_id=302287
Originator: YES

Running with tclsh8.4 to add tclsh8.5 fails like below, but i can add a 8.4 tclkit without problem. Trying to add with tclsh85 to run sak.tcl fails also, when adding 8.5, but not with 8.4.

Trying to run 'sak.tcl test shells' gives the same stack trace with both 8.4 and 8.5 running the script.

andreas_kupries added on 2008-02-14 01:09:59:
Logged In: YES 
user_id=75003
Originator: NO

Hm. The stacktrace seems to indicate that this is trouble in the 'tie' package, used within a sub-interpreter. This may be Tcl 8.5 specific too. May I ask to test this using a tclsh84 to get an additional datapoint?

mic42 added on 2008-02-13 20:01:35:

File Added - 266166: Registry

Logged In: YES 
user_id=302287
Originator: YES

Running it the first time succeeds, but does not add the shell, but it appears in the Registry file inside the home. Attached the Registry file.

File Added: Registry

Attachments: