Hi
 
I'm not familiar with Webwork, but it appears as though you are doing some kind of pesimistic locking on the table.
 
Are you attempting to update a row in the database? If so, then what could be happening is that you lock a particular row for update and some time passes before you commit or rollback the transaction. In this time someone else attempts to read or write the same row.
 
Alternativly, you could have a particular row in an insert/update transaction and then in the same transaction you could be calling another method which also tries to update the row that you are holding in the transaction.
 
Finally, I think SQL Server has the notion of page or row locking.... where it will lock an entire page of data (instead of only your row). This could cause random errors similar to what you have posted.
 
It's diffucult to tell without seeing the code though... perhaps you could give an explination of exactly what you are doing?
 
Regards
Paul
 

>>> [EMAIL PROTECTED] 11/17/05 10:32 AM >>>


Hi there

Can anyone help me with the following problem. I am running a Webwork(2.17)
application on tomcat 4.31 with SQL Server 2000 with serive pack 4 on a XP
machine. I am getting the following error in my tomcat logs.

2005-11-14 12:49:47,734 [TP-Processor3] INFO
com.opensymphony.xwork.ActionSupport - Invalid User or Password
2005-11-14 12:51:38,125 [TP-Processor1] ERROR
com.opensymphony.xwork.ActionSupport - [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]Transaction (Process ID 51) was deadlocked on lock resources
with another process and has been chosen as the deadlock victim. Rerun the
transaction.java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]Transaction (Process ID 51) was deadlocked on lock resources
with another process and has been chosen as the deadlock victim. Rerun the
transaction.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at
com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.sendCursorFetch(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.getRow(Unknown Source)
at
com.microsoft.jdbc.sqlserver.SQLServerImplResultSetServerSideCursor.position
Cursor(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.next(Unknown Source)
at za.co.q3.pro_GMS.dao.TaskDAO.listTaskData(TaskDAO.java:736)
at za.co.q3.pro_GMS.dao.TaskDAO.listTask(TaskDAO.java:220)
at
za.co.q3.pro_GMS.action.AppMenuAction.buildTaskList(AppMenuAction.java:243)
at
za.co.q3.pro_GMS.action.AppMenuAction.displayForm(AppMenuAction.java:223)
at za.co.q3.pro_GMS.action.AppMenuAction.execute(AppMenuAction.java:196)
at
com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInv
ocation.java:283)
at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:166)
at
com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(Defa
ultWorkflowInterceptor.java:55)
at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:164)
at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:35)
at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:164)
at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:35)
at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:164)
at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:35)
at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:164)
at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:35)
at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:164)
at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:35)
at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:164)
at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:35)
at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:164)
at
com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:11
6)
at
com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletD
ispatcher.java:272)
at
com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatc
her.java:237)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:324)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:395)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
at java.lang.Thread.run(Thread.java:534)

Does anyone know how to solve this???


Mogammad Noordien

Developer
Third Quarter Technologies


SANTAM Bpk / Ltd
Reg. No. 1918/001680/06


Directors: DK Smith (Chairman), SC Gilbert (Chief Executive), S Bray (Company Secretary), JJ Geldenhuys, JG le Roux, Dr NM Magau, AR Martin, Mr EA Moolla, JE Newbury, P de V Rademeyer, GE Rudman, Dr J van Zyl, BP Vundla, (Executive) MJ Reyneke


Please note: This email and its content are subject to the disclaimer as displayed at the following link http://www.santam.co.za/disclaimer.htm. Should you not have Web access, send a mail to [EMAIL PROTECTED] and a copy will be emailed to you.

Reply via email to