I've tried disabling the JIT and the crash still occurs. Here is the test
script I use:
set tclblend_init "-native -Djava.compiler=NONE"
package require java
set jStrObj [::java::new String "This is a Java String ..."]
set tStrObj [$jStrObj toString]
puts $tStrObj
One thing I did not mention was that the application I am integrating
with tclBlend is a multi-threaded application. Would this cause problems ?
Also, is it possible to create instance of JVM and use it from multiple
interpreters in tclBlend ?
George Wu
On Thu, 10 Feb 2000, Mo DeJong wrote:
> Date: Thu, 10 Feb 2000 11:53:33 -0800 (PST)
> From: Mo DeJong <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: [Tcl Java] More info on tclBlend problem on Solaris 2.5.1 ...
>
> What happens if you set the env var JAVA_COMPILER to ""? If this is a Sun
> JIT bug that should work around the problem. I have never seen an error
> like this on Solaris but then again I have only tested with JDK 1.1
> and a prerelease of JDK 1.2.
>
> Mo Dejong
> Red Hat Inc.
>
> On Wed, 9 Feb 2000 [EMAIL PROTECTED] wrote:
>
> >
> >
> > I reported a problem earlier about tclBlend 1.2.5 on Solaris 2.5.1
> > running TCL 8.2.2 and Sun JDK 1.2.2 where TCL interpreters are being
> > created and deleted repeatedly. Under this environment, TclBlend only
> > seems to work in the first couple of TCL interpreter creation and
> > deletion cycles then it crashes the application. I've been able to
> > obtain a stack dump of the crash:
> >
> > [1] cacheAlloc(0x0, 0xca2, 0x1a0, 0xec14426c, 0x1a0, 0x178eff8), at
> > 0xec143b50
> > [2] JITSupport_anewarray(0xe7098548, 0x65, 0x0, 0xe7098548,
> > 0xe70b0350, 0xee913f38), at 0xec0bb790
> > [3] 0x18ab834(0xe70b0350, 0x65, 0x3f400000, 0x2c40, 0xec13f680,
> > 0x178f164), at 0x18ab833
> > [4] 0x18b2b14(0xe70b0350, 0x178eff8, 0xe7098570, 0x178f1a4,
> > 0x17900c4, 0x3), at 0x18b2b13
> > [5] 0x1936878(0xe70b0340, 0x1336f8, 0x62767463, 0x0, 0x178f164,
> > 0xec1ac8cb), at 0x1936877
> > [6] JITInvokeCompiledMethod(0xe70b0340, 0x192feb4, 0x3, 0x178eff8,
> > 0xec13f680, 0xeaf07580), at 0xec0de978
> > [7] callmethod_1(0xeaf07578, 0x178eff8, 0x178f198, 0x178f124,
> > 0xeaf07580, 0x178f164), at 0xec193be4
> > [8] jni_Invoke(0x178eff8, 0x178f164, 0x192feb4, 0xa, 0xe70b0340,
> > 0x100), at 0xec156594
> > [9] jni_Construct(0x178eff8, 0x1790420, 0x192feb4, 0xec155fc4,
> > 0xeaf0764c, 0x178eff8), at 0xec15724c
> > [10] jni_NewObject(0x178eff8, 0x1790420, 0x192feb4, 0x1336f8,
> > 0x62767463, 0xee913f38), at 0xec1573a4
> > =>[11] Tclblend_Init(interp = 0x1336f8), line 307 in "javaCmd.c"
> >
> > It's pretty clear that a null pointer is being passed into
> > cacheAlloc() which is in libjvm.so. Unfortunately, I have no
> > information on the parameters passed into cacheAlloc(). Does anyone
> > know this information and/or have a clue why a null pointer is being
> > passed ?
> >
> >
> > Thanks,
> >
> > George Wu
>
--
----------------------------------------------------------------
The TclJava mailing list is sponsored by Scriptics Corporation.
To subscribe: send mail to [EMAIL PROTECTED]
with the word SUBSCRIBE as the subject.
To unsubscribe: send mail to [EMAIL PROTECTED]
with the word UNSUBSCRIBE as the subject.
To send to the list, send email to '[EMAIL PROTECTED]'.
An archive is available at http://www.mail-archive.com/[email protected]