>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".

Reply via email to