(Sybase) JConnect 5.5 & 6.0 calls - waiting indefinitely.

M

manjunath.d

Hi,

I am facing the following problem consistently. The driver (Jconnect
5.5 and 6.0 from Sybase)
code hangs in the read socket call and the rest of my threads
wait indefinitely resulting in a deadlock.

The problem occurs during insertion into the DB. Though my application
is multi-threaded, I have taken of sychronization at the application
level.

Have you faced similar problems before?. Could you please explain the
causes for the driver to wait indefinitely? Also, what do you suggest
to prevent these situations?

I have tried the code with Sybase ASA 9.0.1 with jconnect 5.5 and
jconnect 6.0 drivers on Sun JRE1.4(Win).

I had posted the message in sybase forums but got no response. Sorry
for the cross-posting.

============================ Stack Trace ===========================
"RMI TCP Connection(173)-192.168.3.85" daemon prio=5 tid=0x24638618
nid=0xfe4 runnable [29b8e000..29b8fdb4]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at
com.sybase.jdbc3.timedio.RawDbio.reallyRead(RawDbio.java:234)
at com.sybase.jdbc3.timedio.Dbio.doRead(Dbio.java:243)
at
com.sybase.jdbc3.timedio.InStreamMgr.readIfOwner(InStreamMgr.java:512)
at
com.sybase.jdbc3.timedio.InStreamMgr.doRead(InStreamMgr.java:273)
at
com.sybase.jdbc3.tds.TdsProtocolContext.getChunk(TdsProtocolContext.java:572)
at
com.sybase.jdbc3.tds.PduInputFormatter.readPacket(PduInputFormatter.java:229)
at
com.sybase.jdbc3.tds.PduInputFormatter.read(PduInputFormatter.java:62)
at
com.sybase.jdbc3.tds.TdsInputStream.read(TdsInputStream.java:81)
at
com.sybase.jdbc3.tds.TdsInputStream.readUnsignedByte(TdsInputStream.java:114)
at com.sybase.jdbc3.tds.Tds.nextResult(Tds.java:2192)
at
com.sybase.jdbc3.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
at
com.sybase.jdbc3.jdbc.SybStatement.nextResult(SybStatement.java:220)
at
com.sybase.jdbc3.jdbc.SybStatement.nextResult(SybStatement.java:203)
at
com.sybase.jdbc3.jdbc.SybStatement.updateLoop(SybStatement.java:1811)
at
com.sybase.jdbc3.jdbc.SybStatement.executeUpdate(SybStatement.java:1794)
at
com.sybase.jdbc3.jdbc.SybStatement.executeUpdate(SybStatement.java:441)
at
com.abc.mo.persmo.PersistentMO.dbInsertRow(PersistentMO.java:945)
at
com.abc.mo.persmo.PersistentMO.dbUpdate(PersistentMO.java:1581)
at com.abc.mo.util.UpdateMO.process(UpdateMO.java:183)
- locked <0x12362c80> (a com.proactivenet.mo.util.UpdateMO)
at com.abc.api.mo.MOCache.createMO(MOCache.java:1833)
at com.abc.api.mo.MOCache.create(MOCache.java:1472)
at com.abc.api.mo.MOCache.update(MOCache.java:1243)
at com.abc.api.mo.MOPlatformImpl.update(MOPlatformImpl.java:84)
at com.abc.api.mo.MO.update(MO.java:688)
at
com.abc.api.sla.SLACache.checkSLAThreshold(SLACache.java:1589)
- locked <0x12362e58> (a java.util.ArrayList)
at
com.abc.api.sla.SLACache.createSLAInstance(SLACache.java:1224)
at com.proactivenet.api.sla.SLACache.create(SLACache.java:932)
- locked <0x12362f70> (a java.util.ArrayList)
- locked <0x12176528> (a com.proactivenet.api.sla.SLACache)
at
com.abc.api.sla.SLAPlatformImpl.createSLA(SLAPlatformImpl.java:206)
at
com.abc.api.sla.SLAClientHelper.createRupdateSLA(SLAClientHelper.java:1402)
at
com.abc.api.jsp.JSPPlatformImpl.createRupdateSLA(JSPPlatformImpl.java:3980)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)

============================ Stack Trace ===========================

Regards,
Manjunath
 
A

Andrew Thompson


Hi Manjunath.

I am not able to answer your question, but feel compelled
to clear up a couple of matters of posting style.

(copied from thread on c.l.j.help)
"Sorry for the cross-posting. I know this is not a relevant group. But I
am unable to find any solution (responses) from any group. So please
dont mind my posting."

This indicates to me that you want to do the right thing,
whaich is something that a lot of folks, including myself -
appreciate.

But..
Sorry for the cross-posting.

Cross-posting is different to multi-posting. You actually
multi-posted, which is very counterproductive. For details
on why it is better to x-post than multi-post, check here..
I know this is not a relevant group.

The most appropriate group for this DB problem would be..
<http://www.physci.org/codes/javafaq.jsp#cljd>
however Google indicates no posts from you in c.l.j.db,
so I guess you had not realised it existed?

Try checking that list of the main groups for the best
group to post to.

Note that c.l.j.help was probably not a good choice.
It is mainly targeted at helping people who are figuring
how to do 'HelloWorld' programs, and to create packages
and such.

Pretty much all the people lurking in c.l.j.help who might
be able to help you also post to, or read, the more advanced
and specialised groups such as c.l.j.programmer and
c.l.j.databases. A post to c.l.j.help is more likely to
get replies from those folks who are trying to get 'HelloWorld'
working ..but once used a DB, trying to help you - with
a resultant low signal to noise ratio.
..But I am unable to find any solution (responses)
from any group. ...

I guess that to mean you searched the archives for solutions?

What search terms did you use? What exact strings did you type in?
(I have an interest in analysing both successful and
unsuccessful searches)
So please dont mind my posting.

People who try to do the right thing are welcome, and
I am confident that you will figure out the best ways of
getting replies and solutions from the comp.lang.java.*
groups soon now.. so - no (I for one, don't mind your posting).

Before I close - I will suggest what might have been the
best approach for this particular post.
(Assuming c.l.j.databases is a very quiet group)
cross-post to c.l.j.db and c.l.j.p with Follow-Ups set to c.l.j.db only
(Assuming c.l.j.db is active)
post to c.l.j.db.

I wish you success in finding a solution to your technical problem.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,065
Latest member
OrderGreenAcreCBD

Latest Threads

Top