>Date: Tue, 20 Mar 2001 11:30:10 +0100
>To: [EMAIL PROTECTED]
>From: Filippo Bosi <[EMAIL PROTECTED]>
>Subject: Jonas 2.2.6 bug report (ConcurrentModificationException in Pool.java)
>Cc: [EMAIL PROTECTED], [EMAIL PROTECTED]
>
>Jonas 2.2.6 Bug Report:
>
>Under stress (>15 threads) using only Session Beans, each using db
>operations (therefore, doing
>lots of get() and close() with datasources), with tracing options in
>Trace.level<>31 (none) we
>get the following error.
>
>16:01:45:911 - java.util.ConcurrentModificationException
> at
> java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:535)
> at java.util.LinkedList$ListItr.next(LinkedList.java:476)
> at org.objectweb.jonas.dbm.Pool.dump(Pool.java, Compiled Code)
> at org.objectweb.jonas.dbm.Pool.closeConnection(Pool.java:298)
> at
>
>org.objectweb.jonas.dbm.ConnectionManager.connectionClosed(ConnectionManager.java:439)
> at
> org.objectweb.jonas.jdbc_xa.XAConnectionImpl.notifyClose(XAConnectionImpl.java,
> Compiled Code)
> at
> org.objectweb.jonas.jdbc_xa.ConnectionImpl.close(ConnectionImpl.java:197)
> at
>
>it.sai.anag.mw.host.caricastrutture.CaricaStrutturaDBEjb.caricaStruttura(CaricaStrutturaDBEjb.java:127)
> at
> it.sai.anag.mw.host.StruttureHost.caricaStruttura(StruttureHost.java,
> Compiled Code)
> at
> it.sai.anag.mw.host.StruttureHost.getStruttura(StruttureHost.java:65)
> at
> it.sai.anag.mw.host.StringaDatiHost.<init>(StringaDatiHost.java:49)
> at it.sai.anag.mw.host.ProxyHost.insPersona(ProxyHost.java:192)
> at
> it.sai.anag.od.InserimentoPersona.esegui(InserimentoPersona.java:139)
> at it.sai.anag.od.Anag.insPersona(Anag.java:98)
> at
> it.sai.anag.mw.ejb.AnagraficaBean.insPersona(AnagraficaBean.java:217)
> at
> it.sai.anag.mw.ejb.JOnASanagraficaRemote.insPersona(JOnASanagraficaRemote.java:56)
> at
>
>it.sai.anag.mw.ejb.JOnASanagraficaRemote_Skel.dispatch(JOnASanagraficaRemote_Skel.java,
>
> Compiled Code)
> at
> sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java,
> Compiled Code)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java, Compiled Code)
> at sun.rmi.transport.Transport$1.run(Transport.java, Compiled Code)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java,
> Compiled Code)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:422)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:634)
> at java.lang.Thread.run(Thread.java, Compiled Code)
>
>The reason of the error lies in Pool.java (org.objectweb.jonas.dbm.Pool
>class implementation),
>precisely in the dump() function. That function "dumps" to log the whole
>connection list. The
>iteration on the list, though, is not synchronized with other operations
>on the connection list.
>So the dump operation fails if any other thread in the application server
>modifies the connection
>list.
>
>Regards,
>Filippo
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".