Hello. I am new to Jacl and I am trying to build the latest release, but I am running into a number of problems. I don't know if I have "operator error", "configuration errors" or if I'm turning up real bugs. I am on WindowsNT 4.0 SP4 using MS VC++ v 4.0. When, from c:/jacl1.2.4/win, I type: nmake -f makefile.vc The make completes without problems. when I run nmake -f makefile.vc test Under both JDK1.1.7 and JDK1.1.8 the suite fails on tcljava/JavaLoadCmd.test I get an error: java.exe The instruction 0x1000afed" referenced memory at "0x00a1645b" The memory could not be "read". The MS debugger says "unhandled exception in java.exe (JAVAI.DLL) 0xC0-05 Access Violation. Has anyone else seen this error? When I try to compile under JDK1.2.2, The initial build works OK and the test run *completes*, but I get errors (See attached file) What does this mean? Should I use jacl1.2.3 (which I have not yet tried)? Any suggestions would be appreciated. Regards, Randy Kahle
cd C:\jacl1.2.4\win set CLASSPATH=C:\jacl1.2.4\win\tests;C:\jacl1.2.4\win\jacl.jar;C:\jacl1.2.4\win\tcljava.jar;C:\jdk1.2.2\lib\tools.jar;C:\jdk1.2.2\jre\lib\rt.jar;. C:\jdk1.2.2\bin\java -DBUILD_DIR=C:\jacl1.2.4\win -DJAVA=C:\jdk1.2.2\bin\java tcl.lang.Shell C:\TEMP\nma00214. pwd is C:/jacl1.2.4/tests CLASSPATH is C:\jacl1.2.4\win\tests;C:\jacl1.2.4\win\jacl.jar;C:\jacl1.2.4\win\tcljava.jar;C:\jdk1.2.2\lib\tools.jar;C:\jdk1.2.2\jre\lib\rt.jar;. auto_path is C:/jacl1.2.4/win resource:/tcl/lang/library tcljava/ArrayObject.test tcljava/AutomaticSignature.test tcljava/BeanEvent.test tcljava/BeanEventMgr.test tcljava/ClassRep.test tcljava/FieldSig.test tcljava/FuncSig.test ==== FuncSig-3.5 getAllDeclaredMethods, non public method ==== Contents of test case: set a [java::new tests.invoke.PublicTester] list [catch {$a noAccess} msg] $msg ==== Result was: 1 java.lang.IllegalAccessException ---- Result should have been: 1 {java.lang.IllegalAccessException: tests/invoke/PublicTester} ---- FuncSig-3.5 FAILED ==== FuncSig-3.6 getAllDeclaredMethods, non public method ==== Contents of test case: set a [java::call tests.invoke.PublicTester getNonPublicTester] list [catch {$a noAccess} msg] $msg ==== Result was: 1 java.lang.IllegalAccessException ---- Result should have been: 1 {java.lang.IllegalAccessException: tests/invoke/PublicTester} ---- FuncSig-3.6 FAILED ==== FuncSig-3.7 getAllDeclaredMethods, non public method ==== Contents of test case: set a [java::call tests.invoke.PublicTester getNonPublicTester] set a [java::cast {tests.invoke.NonPublicTester} $a] list [catch {$a noAccess2} msg] $msg ==== Result was: 1 java.lang.IllegalAccessException ---- Result should have been: 1 {java.lang.IllegalAccessException: tests/invoke/NonPublicTester} ---- FuncSig-3.7 FAILED ==== FuncSig-3.8 getAllDeclaredMethods, non public method ==== Contents of test case: set a [java::call tests.invoke.PublicTester getNonPublicTester] set a [java::cast {tests.invoke.NonPublicTester} $a] list [catch {$a noAccess3} msg] $msg ==== Result was: 1 java.lang.IllegalAccessException ---- Result should have been: 1 {java.lang.IllegalAccessException: tests/invoke/NonPublicTester} ---- FuncSig-3.8 FAILED tcljava/JavaBindCmd.test tcljava/JavaCallCmd.test tcljava/JavaCastCmd.test tcljava/JavaDefineClassCmd.test tcljava/JavaEventCmd.test tcljava/JavaFieldCmd.test ==== javaFieldCmd-2.4 get private static field ==== Contents of test case: list [catch {java::field tests.JavaTest JT3} msg] $msg ==== Result was: 1 {can't access field "JT3": java.lang.IllegalAccessException} ---- Result should have been: 1 {can't access field "JT3": java.lang.IllegalAccessException: tests/JavaTest} ---- javaFieldCmd-2.4 FAILED tcljava/JavaImportCmd.test tcljava/JavaInfoCmd.test tcljava/JavaInstanceofCmd.test tcljava/JavaInvoke.test ==== invoke-5.9 getsetfield ==== Contents of test case: list [catch { java::field tests.JavaTest JT3 } msg] $msg ==== Result was: 1 {can't access field "JT3": java.lang.IllegalAccessException} ---- Result should have been: 1 {can't access field "JT3": java.lang.IllegalAccessException: tests/JavaTest} ---- invoke-5.9 FAILED tcljava/JavaIsNullCmd.test tcljava/JavaLoadCmd.test tcljava/JavaLock.test tcljava/JavaNewCmd.test tcljava/JavaNullCmd.test tcljava/JavaPropCmd.test tcljava/JavaThrowCmd.test tcljava/JavaTryCmd.test tcljava/PkgInvoker.test ==== PkgInvoker-1.5 getPkgInvoker ==== Contents of test case: list [catch {[java::new pkg2.MyClass] someMethod} msg] $msg ==== Result was: 1 java.lang.IllegalAccessException ---- Result should have been: 1 {java.lang.IllegalAccessException: pkg2/MyClass} ---- PkgInvoker-1.5 FAILED ==== PkgInvoker-1.6 getPkgInvoker ==== Contents of test case: list [catch {java::new pkg2.ProtectedClass} msg] $msg ==== Result was: 1 java.lang.IllegalAccessException ---- Result should have been: 1 {java.lang.IllegalAccessException: pkg2/ProtectedClass} ---- PkgInvoker-1.6 FAILED tcljava/PropertySig.test tcljava/ReflectException.test tcljava/ReflectObject.test tcljava/TclEvent.test jacl/FileCmd.test fconfigure command not implemented yet jacl/IdleHandler.test jacl/Interp.test ==== Interp-1.2 dispose, variables are freed ==== Contents of test case: set interp [java::new tcl.lang.Interp] $interp eval { set x 10 set y 10 set z 10 } set tr [java::new tests.VarTraceTest {}] set list "" lappend list [lsort [[java::field $tr varsCalled] toString]] $interp traceVar x [java::null] $tr [java::field tcl.lang.TCL TRACE_UNSETS] $interp traceVar y [java::null] $tr [java::field tcl.lang.TCL TRACE_UNSETS] $interp traceVar z [java::null] $tr [java::field tcl.lang.TCL TRACE_UNSETS] $interp dispose lappend list [lsort [[java::field $tr varsCalled] toString]] set list ==== Result was: {} {::x(null) ::y(null) ::z(null)} ---- Result should have been: {} {x(null) y(null) z(null)} ---- Interp-1.2 FAILED jacl/Notifier.test tcl/append.test tcl/assocd.test tcl/case.test tcl/CdCmd.test tcl/clock.test tcl/concat.test tcl/error.test ==== error-1.3 simple errors from commands ==== Contents of test case: catch {format [string index]} b set errorInfo ==== Result was: wrong # args: should be "string index string charIndex" while executing "string index" invoked from within "format [string index]" ---- Result should have been: wrong # args: should be "string index string charIndex" while executing "string index" ---- error-1.3 FAILED ==== error-2.3 errors in nested procedures ==== Contents of test case: catch foo b set errorInfo ==== Result was: Human-generated while executing "error {Human-generated} " (procedure "foo" line 4) invoked from within "foo" ---- Result should have been: Human-generated while executing "error {Human-generated}" (procedure "foo" line 4) invoked from within "foo" ---- error-2.3 FAILED ==== error-2.6 errors in nested procedures ==== Contents of test case: catch foo2 b set errorInfo ==== Result was: glorp2 while executing "error glorp2" invoked from within "format [error glorp2]" (procedure "foo2" line 1) ---- Result should have been: glorp2 while executing "error glorp2" (procedure "foo2" line 3) invoked from within "foo2" ---- error-2.6 FAILED tcl/eval.test tcl/expr.test This application hasn't been compiled with the "T1" and "T2" math functions, so I'll skip some of the expr tests. ==== expr-23.8 double quotes ==== Contents of test case: list [catch {expr {"12398712938788234-1298379" != ""}} msg] $msg ==== Result was: 1 {integer value too large to represent} ---- Result should have been: 0 1 ---- expr-23.8 FAILED tcl/FileCmd.test tcl/fileName.test tcl/for.test tcl/foreach.test tcl/format.test tcl/get.test tcl/if.test ==== if-5.1 true and false ==== Contents of test case: set bool true set result 0 if {1 && $bool} { set result 1 } set result ==== Test generated error: can't use non-numeric string as operand of "&&" ==== if-5.1 true and false ==== Contents of test case: set bool false set result 0 if {1 && $bool} { set result 1 } set result ==== Test generated error: can't use non-numeric string as operand of "&&" tcl/incr.test tcl/info.test ==== info-5.39 info complete option ==== Contents of test case: info complete " # \{" ==== Result was: 0 ---- Result should have been: 1 ---- info-5.39 FAILED ==== info-5.40 info complete option ==== Contents of test case: info complete "foo bar;# \{" ==== Result was: 0 ---- Result should have been: 1 ---- info-5.40 FAILED fconfigure command not implemented yet tcl/join.test tcl/lindex.test tcl/linsert.test tcl/list.test tcl/llength.test tcl/lrange.test tcl/lreplace.test tcl/LsearchCmd.test tcl/lsort.test tcl/namespace-old.test tcl/namespace.test tcl/parse.test tcl/parseOld.test tcl/pkg.test tcl/proc.test tcl/Procedure.test tcl/PwdCmd.test tcl/regexp.test tcl/RegexpCmd.test tcl/rename.test tcl/ReturnCmd.test tcl/scan.test tcl/set.test tcl/split.test tcl/string.test tcl/subst.test tcl/SwitchCmd.test tcl/Trace.test tcl/unknown.test tcl/UpdateCmd.test tcl/uplevel.test tcl/upvar.test tcl/var.test tcl/while.test Tests done.