Ticket UUID: | 674387 | |||
Title: | Tcl/Tk threaded test failures on NT4... | |||
Type: | Bug | Version: | obsolete: 8.4.1 | |
Submitter: | nobody | Created on: | 2003-01-25 00:30:45 | |
Subsystem: | 37. File System | Assigned To: | vincentdarley | |
Priority: | 5 Medium | Severity: | ||
Status: | Deleted | Last Modified: | 2003-02-05 00:36:32 | |
Resolution: | Fixed | Closed By: | vincentdarley | |
Closed on: | 2003-02-04 17:36:32 | |||
Description: |
Output from test suite: ================================= ================================= ============= *** Compiler has 'Optimizations' *** Compiler has 'Pentium 0x0f fix' *** Linker has 'Win98 alignment problem' *** Doing threads *** Doing symbols *** Doing profile *** Doing memdbg *** Doing compdbg *** Intermediate directory will be '.\Debug\tcl_ThreadedDynamic' *** Output directory will be '.\Debug' *** Suffix for binaries will be 'td' *** Optional defines are '-DTCL_MEM_DEBUG - DTCL_COMPILE_DEBUG -DTCL_COMPILE_STAT S -DTCL_THREADS=1' *** Dependency rules are not being used. set TCL_LIBRARY=../library .\Debug\tcltest.exe ../tests/all.tcl Tests running in interp: F:/tcl/checkout/8.4.1/tcl/win/Debug/tcltest.exe Tests located in: F:/tcl/checkout/8.4.1/tcl/tests Tests running in: F:/tcl/checkout/8.4.1/tcl/win Temporary files stored in F:/tcl/checkout/8.4.1/tcl/win Test files run in separate interpreters Running tests that match: * Skipping test files that match: l.*.test Only running test files that match: *.test Tests began at Fri Jan 24 4:04:09 PM Pacific Standard Time 2003 append.test appendComp.test assocd.test async.test autoMkindex.test basic.test binary.test case.test clock.test cmdAH.test cmdIL.test cmdInfo.test cmdMZ.test compExpr-old.test compExpr.test compile.test concat.test dcall.test dstring.test encoding.test env.test error.test eval.test event.test exec.test execute.test expr-old.test expr.test fCmd.test fileName.test Warning: files left behind: fileName.test: globTest fileSystem.test for-old.test for.test foreach.test format.test get.test history.test http.test Running httpd in thread 184 httpold.test if-old.test if.test incr-old.test incr.test indexObj.test info.test init.test interp.test io.test ioCmd.test ioUtil.test iogt.test join.test lindex.test link.test linsert.test list.test listObj.test llength.test load.test lrange.test lreplace.test lsearch.test lset.test lsetComp.test macFCmd.test main.test ==== Tcl_Main-1.4 Tcl_Main: encoding of arguments: done by system encoding Note the shortcoming explained in Tcl Patch 491789 FAILED ==== Contents of test case: read $f ---- Result was: script ? 0 ---- Result should have been (exact matching): script ? 0 ==== Tcl_Main-1.4 FAILED ==== Tcl_Main-1.6 Tcl_Main: encoding of script name: system encoding loss Note the shortcoming explained in Tcl Patch 491789 FAILED ==== Contents of test case: read $f ---- Result was: ---- Result should have been (exact matching): ? {} 0 ---- Test cleanup failed: couldn't read file "?": no such file or directory ==== Tcl_Main-1.6 FAILED misc.test msgcat.test namespace-old.test namespace.test obj.test opt.test osa.test package.test parse.test parseExpr.test parseOld.test pid.test pkg.test pkgMkIndex.test platform.test proc-old.test proc.test pwd.test reg.test regexp.test regexpComp.test registry.test rename.test resource.test result.test safe.test scan.test security.test set-old.test set.test socket.test source.test split.test stack.test string.test stringComp.test stringObj.test subst.test switch.test tcltest.test Warning: files left behind: tcltest.test: efile thread.test timer.test trace.test unixFCmd.test unixFile.test unixInit.test unixNotfy.test unknown.test uplevel.test upvar.test utf.test util.test var.test while-old.test while.test winConsole.test winDde.test Test file error: child killed: segmentation violation winFCmd.test winFile.test winNotify.test winPipe.test You should see this winTime.test Tests ended at Fri Jan 24 4:13:10 PM Pacific Standard Time 2003 all.tcl: Total 10391 Passed 9692 Skipped 697 Failed 2 Sourced 128 Test Files. Files with failing tests: main.test Number of tests skipped for each constraint: 2 .console 15 95 8 cdrom 22 eformat 47 emptyTest 2 hasIsoLocale 9 hasLinks 1 interactive 13 knownBug 1 largefileSupport 16 linkDirectory 3 linkFile 25 localeRegexp 133 macOnly 6 macOrUnix 121 nonPortable 1 nonRoot 26 pkga.dllRequired 2 sharedCdrive 1 singleTestInterp 15 testfilehandler 1 testfilewait 21 testwordend 2 unix 15 unixExecs 159 unixOnly 2 unixOnly && !testthread 3 unknownFailure 22 wideIntegerUnparsed 3 win2000orXP Test files exiting with errors: winDde.test ----------------------------------------- -------------------------------------- I am unable to duplicate this failure with regularity: ---- Result was: ok ok ---- Result should have been (exact matching): timeout ok ==== httpold-4.12 FAILED ----------------------------------------- -------------------------------------- During the winDde.test failure, the tcltest.exe instances all die in the same spot: TclpFinalizeThreadDataKey(Tcl_ThreadDataKey_ * * 0x00f754b8) line 672 + 3 bytes TclFinalizeSynchronization() line 452 + 9 bytes Tcl_Finalize() line 859 Tcl_Exit(int 0x00000000) line 565 Tcl_ExitObjCmd(void * 0x00000000, Tcl_Interp * 0x008d6e10, int 0x00000002, Tcl_Obj * const * 0x0026fc94) line 667 + 9 bytes TclEvalObjvInternal(Tcl_Interp * 0x008d6e10, int 0x00000002, Tcl_Obj * const * 0x0026fc94, const char * 0x0026fd34, int 0x00000006, int 0x00000000) line 3055 + 25 bytes Tcl_EvalEx(Tcl_Interp * 0x008d6e10, const char * 0x0026fd34, int 0x00000006, int 0x00000000) line 3654 + 42 bytes Tcl_Eval(Tcl_Interp * 0x008d6e10, const char * 0x0026fd34) line 3818 + 17 bytes Tcl_Main(int 0x00000023, char * * 0x008e1234, int (Tcl_Interp *)* 0x0040d615 Tcl_AppInit(Tcl_Interp *)) line 500 + 19 bytes main() line 110 + 19 bytes mainCRTStartup() line 338 + 17 bytes void TclpFinalizeThreadDataKey(keyPtr) Tcl_ThreadDataKey *keyPtr; { DWORD *indexPtr; if (*keyPtr != NULL) { // <-- *** CRASH HERE *** indexPtr = *(DWORD **)keyPtr; TlsFree(*indexPtr); ckfree((char *)indexPtr); *keyPtr = NULL; } } ----------------------------------------- -------------------------------------- During the unixFCmd.test, a dialog pops up and prompts to create program groups: NOTE: This test should only be run on Unix, not Windows, and that is the root cause of this oddity. I have attached a screenshot showing the dialog, which is apparently a Borland program related to their install program. ----------------------------------------- -------------------------------------- JJM | |||
User Comments: |
vincentdarley added on 2003-02-05 00:36:32:
Logged In: YES user_id=32170 'globTest' directory now removed by tests. Bug closed. davygrvy added on 2003-01-30 07:32:43: Logged In: YES user_id=7549 Joe, the DDE issue your having might be better in a NEW bug report instead of this one that has turned into a tcltest fix. mistachkin added on 2003-01-30 07:22:16: Logged In: YES user_id=113501 ############################################ # # this simple script will crash the TclVbDdeTest sample. # package require dde set x [dde services {} {}] puts stdout $x ############################################ I have attached a simplified VB app that demonstrates the problem along with this script. mistachkin added on 2003-01-30 07:00:18: File Added - 41005: tclVbDdeSample.zip dgp added on 2003-01-30 02:38:49: Logged In: YES user_id=80530 The [errorChannel] and [outputChannel] commands have [open]'s without matching [close]'s. Fixing that should take care of the efile problem. Filed that as Bug 676978. Passing this bug on to File System to deal with the globTest left behind by fileName.test. dgp added on 2003-01-29 01:02:33: Logged In: YES user_id=80530 Ah yes. IIRC I was re-writing main.test about the same time davygrvy was proposing to correct this limitation of the Windows command line. So I added tests Tcl_Main-1.4 and Tcl_Main-1.6 for it. Those tests pass on Unix, so it appears we just need to add a constrain to prevent their running on Windows with tempNotWin constraint. Committing fix, and assigning over to "tcltest package" to track down the problem with "efile" left behind. davygrvy added on 2003-01-28 18:13:16: Logged In: YES user_id=7549 Having just read the Tcl_Main test cases, I can say that what the cases are testing ride a fine line of the fact the argv is expected to be dirty, not clean. If any unicode can pass, I'm amazed. Yet testing that both sides fail in the same manner looks good. hobbs added on 2003-01-28 08:55:33: Logged In: YES user_id=72656 The windde problem is resolved, but the Tcl_Main may be an NT specific issue. I can't find the named patch, but DGP did rewrite that a bit. nobody added on 2003-01-25 07:30:45: File Added - 40601: groups.bmp |