[tcljava-user] debugging "assertion`tsdPtr->initialized' failed"
Brought to you by:
mdejong
|
From: Russell R. <rus...@gm...> - 2012-02-16 20:20:56
|
I have a simple script. It works w/o error in jaclsh. It core dumps in
jtclsh.
Here's the script:
1 set env(TCL_CLASSPATH) "...some-big-long-classpath..."
2 package require java
3 set httpClient [java::new org.eclipse.jetty.client.HttpClient]
4 $httpClient start
The script crashes in jtclsh on line 4 with this message:
tclsh8.4: /home/rroy/tcljava/src/native/javaCmd.c:398: JavaGetCache:
Assertion `tsdPtr->initialized' failed.
Aborted (core dumped)
That's the whole of the output when the thing dies.
I was hoping to be able to do some java debugging by running the script in
jaclsh but, as I said, the thing works fine there - no problem, no crash.
I really need this to work in jctlsh.
I'm using tclBlend 1.4.1 pulled from latest at sourceforge, and
thread2.6.5, tcl 8.4.19 (I also tried various permutations and
combinations of thread2.6.3, tcl8.4.13 and earlier versions of tclBlend,
all w/o any luck.)
I've rebuilt and and re-installed tclBlend cleanly with each change so as
to ensure consistency and jaclsh and jtclsh are setting up a correct
environment but the problem persists.
I stuck the core image in gdb but I there's was nothing discernibly useful,
to me anyways (I believe the failed assertion is forcing the core dump.)
I've run out of ideas on how to debug this.
Russ
PS: For what it's worth ... The HttpClient of above comes in two flavors
- CONNECTOR_SOCKET and CONNECTOR_SELECT_CHANNEL (the default). I happened
to discover through trial and error that if I configure the client
as CONNECTOR_SOCKET before I do the start then it runs w/o error in jtclsh.
That's interesting but it doesn't help me because I need to run in it as
select channel.
|