Hi,
I compiled and installed Tclblend on windows XP. It runs fine with ActiveTcl as well as an own MinGW built Tcl.
Now, it is important for me, that tclblend runs with Tclkit (deployment in our organization). First, I tried to "package re java" from Tclkit. I did this with the small test script appended below. The result was, that it crashed. Tclkit is built with threads enabled.
Then I recognized that TclJava is not build with -DUSE_TCL_STUBS and not linked against tclstub. I assume that this lead to the crash and changed the compile setup a little to build and link against tclstub.
Again, the installation went fine and the script ("package re java" being the most important line) runs fine with ActiveTcl and MinGW Tcl. But now, when I run it with tclkit, I got the following error:
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x046748dd, pid=3032, tid=2968
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing)
# Problematic frame:
# C [tclblend.dll+0x48dd]
#
# An error report file with more information is saved as hs_err_pid3032.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
I recompiled tclblend with -DTCLBLEND_DEBUG, to see where the crash happens and was able to backtrack it at the line
local = (*env)->NewObject(env, jcache->Interp,
jcache->interpC, lvalue);
in Tclblend_Init(Tcl_Interp *interp). At a first glance, this call from the JNIEnv environment tries to set a Tcl_Interp as java object somehow. I assume that this is not possible because the interpreter is statically linked in Tclkit. :-(.
Is it possible somehow to get Tclblend working with Tclkits? How much work would that be, if possible at all?
Thanks in advance,
Eckhard
My test script:
########################################
set javabin "C:/Program Files/Java/jre1.5.0_06/bin"
set javaclbin [set javabin]/client
set tcl_java "C:/MyApps/Tcl/lib/tcljava1.3.2"
set env(PATH) "[set javabin];[set javaclbin];[set tcl_java];$env(PATH)"
set env(TCLBLEND_TRACE) [file join [file dirname [info script]] tclblend.txt]
lappend auto_path [file dirname [info script]]
puts $auto_path
package re java
########################################
_______________________________________________________________
SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192
|