I'm getting ORA-600 deadlock errors (trace log attached). My DBA claims it may be caused by row chaining (since my app is updating the same row/different columns from multiple threads). Any comments?

Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production
With the Partitioning option
JServer Release 9.2.0.3.0 - Production
ORACLE_HOME = /u01/oradba/product/9.2.0.3
System name: SunOS
Node name: chisdp07
Release: 5.6
Version: Generic_105181-31
Machine: sun4u
Instance name: P067
Redo thread mounted by this instance: 1
Oracle process number: 19
Unix process pid: 22069, image: oracle@chisdp07 (TNS V1-V3)

*** 2004-02-02 10:53:51.992
*** SESSION ID64.129) 2004-02-02 10:53:51.945
DEADLOCK DETECTED
Current SQL statement for this session:
UPDATE AISDW_MO3.AUDIT_1003416032602 SET END_VE = :1 WHERE TRADE_ID = :2
The following deadlock is not an ORACLE error. It is a
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00070024-00006de5 19 64 X 104 26 X
TX-0001000c-0000629f 104 26 X 19 64 X
session 64: DID 0001-0013-00000002 session 26: DID 0001-0068-00000002
session 26: DID 0001-0068-00000002 session 64: DID 0001-0013-00000002
Rows waited on:
Session 26: obj - rowid = 000056D2 - AAAFbSAADAAAUfKABP
(dictionary objn - 22226, file - 3, block - 83914, slot - 79)
Session 64: obj - rowid = 000056D2 - AAAFbSAADAAAUfKABU
(dictionary objn - 22226, file - 3, block - 83914, slot - 84)
Information on the OTHER waiting sessions:
Session 26:
pid=104 serial=29 audsid=212237 user: 47/AISDW_MO3_USER
O/S info: user: NBSSD3H, term: unknown, ospid: , machine: CRPCHIGAP135
program: JDBC Thin Client
application name: JDBC Thin Client, hash value=0
Current SQL Statement:
UPDATE AISDW_MO3.AUDIT_1003416032602 SET REC_BY_MDB = :1 WHERE TRADE_ID = :2
End of information on OTHER waiting sessions.