Re: Manager undeploy task only stops webapp

2008-03-04 Thread Diego Rodríguez Martín

Hi,

   I've found the problem. As you said, it was a problem of 
configuration. I defined the docbase and also was using localwar 
parameter in ant task with the same dir as docbase. Removing the 
localwar parameter in ant task solved the problem


   Many thanks

   Diego


Caldarale, Charles R escribió:
From: Diego Rodríguez Martín [mailto:[EMAIL PROTECTED] 
Subject: Re: Manager undeploy task only stops webapp


I'm still investigating this issue. Same behaviour if I 
use manager directly through the interface instead of 
using ant task.



Undeployment via the manager webapp in 6.0.16 works fine for me.  Is the webapp 
you're trying to manipulate configured incorrectly, by any chance?  Things that were 
errors but largely ignored in 4.1 may have different side effects in 5.5 and 6.0 
(e.g., having an app with docBase == appBase, or invalidly specifying a path 
attribute in a Context element).

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


  

--
-
Diego Rodríguez Martín
www.programacionenjava.com
-



Re: Manager undeploy task only stops webapp

2008-02-19 Thread Diego Rodríguez Martín
)
   at java.net.ServerSocket.implAccept(ServerSocket.java:450)
   at java.net.ServerSocket.accept(ServerSocket.java:421)
   at 
org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
   at 
org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)

   at java.lang.Thread.run(Thread.java:595)

ContainerBackgroundProcessor[StandardEngine[Catalina]] daemon prio=6 
tid=0x0af2ff80 nid=0xf3c waiting on condition [0x0b50f000..0x0b50f9e8]

   at java.lang.Thread.sleep(Native Method)
   at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1579)

   at java.lang.Thread.run(Thread.java:595)

Low Memory Detector daemon prio=6 tid=0x0096dbf8 nid=0x264 runnable 
[0x..0x]


CompilerThread0 daemon prio=10 tid=0x0096c888 nid=0xa78 waiting on 
condition [0x..0x0abff848]


Signal Dispatcher daemon prio=10 tid=0x0096bc08 nid=0xd38 waiting on 
condition [0x..0x]


Finalizer daemon prio=8 tid=0x00962c28 nid=0xb58 in Object.wait() 
[0x0ab7f000..0x0ab7fc68]

   at java.lang.Object.wait(Native Method)
   - waiting on 0x02f1bfb0 (a java.lang.ref.ReferenceQueue$Lock)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
   - locked 0x02f1bfb0 (a java.lang.ref.ReferenceQueue$Lock)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
   at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

Reference Handler daemon prio=10 tid=0x009617b8 nid=0x578 in 
Object.wait() [0x0ab3f000..0x0ab3fce8]

   at java.lang.Object.wait(Native Method)
   - waiting on 0x02f1c030 (a java.lang.ref.Reference$Lock)
   at java.lang.Object.wait(Object.java:474)
   at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
   - locked 0x02f1c030 (a java.lang.ref.Reference$Lock)

main prio=6 tid=0x000377a8 nid=0x8c8 runnable [0x0007f000..0x0007fc3c]
   at java.net.PlainSocketImpl.socketAccept(Native Method)
   at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
   - locked 0x0335bef0 (a java.net.SocksSocketImpl)
   at java.net.ServerSocket.implAccept(ServerSocket.java:450)
   at java.net.ServerSocket.accept(ServerSocket.java:421)
   at 
org.apache.catalina.core.StandardServer.await(StandardServer.java:389)

   at org.apache.catalina.startup.Catalina.await(Catalina.java:642)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:602)
   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:585)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

VM Thread prio=10 tid=0x0095ed08 nid=0xcec runnable

VM Periodic Task Thread prio=10 tid=0x0096ef80 nid=0xd70 waiting on 
condition




Diego Rodríguez Martín escribió:

Hi,

   I'm using manager in Tomcat 6.0.16 throught ant task (1.6.5) to 
undeploy webapps. I have copied the new catalina-ant.jar in 
ANT_HOME/lib directory.


   The problem is that now the application is stopped instead of 
undeployed though the output message is undeployed app at context 
/xx. I then use list task and my webapp is in status stopped. If 
I execute again the undeploy task, the output message is again 
undeployed app at context /xx but this time the webapp is 
undeployed and not listed anymore. It seems like the task is 
undeploying in two steps. I have been using the undeploy task since 
4.1.27 version and the task never behaved that way. I have search the 
docs and there is no info about any change in 6.0.16 (6.0.14 is ok)


   Are there any undocumented changes in 6.0.16 or is it a malfunction?



--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 915713993 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Manager undeploy task only stops webapp

2008-02-12 Thread Diego Rodríguez Martín

Hi,

   I'm using manager in Tomcat 6.0.16 throught ant task (1.6.5) to 
undeploy webapps. I have copied the new catalina-ant.jar in ANT_HOME/lib 
directory.


   The problem is that now the application is stopped instead of 
undeployed though the output message is undeployed app at context 
/xx. I then use list task and my webapp is in status stopped. If I 
execute again the undeploy task, the output message is again undeployed 
app at context /xx but this time the webapp is undeployed and not 
listed anymore. It seems like the task is undeploying in two steps. I 
have been using the undeploy task since 4.1.27 version and the task 
never behaved that way. I have search the docs and there is no info 
about any change in 6.0.16 (6.0.14 is ok)


   Are there any undocumented changes in 6.0.16 or is it a malfunction?

--
-
Diego Rodríguez Martín
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 915713993 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Cleanup of org.apache.naming.resources.CacheEntry resources

2008-02-08 Thread Diego Rodríguez Martín

Hi,

   I am memory profiling a webapp for my company because we suspect it 
has memory leaks when redeploying. This webapp has to be redeployed 
several times a week for security reasons (most of the time it is 
undeployed) and the memory leaks forced us to shutdown tomcat once a 
week to avoid OOM exception.


   I'm using jvm1.5 and tomcat 6.0.13 (also tried with 6.0.14 and today 
with 6.0.16), and Yourkit as the profiling tool. I have made the test in 
both linux and windows.


   I have created a JMeter test to deploy the app using the manager, 
make some request to the app and then undeploy it using again the 
manager app in a loop. After some redeployments, I got my 
OutOfMemoryException. Then I checked with my profiling tool and found 
that my own classes were correctly destroyed, and the classes retaining 
more memory were these ones (listed as a heirarchy):


   org.apache.catalina.core.ApplicationContext$DispatchData
   org.apache.catalina.core.ApplicationContext
mapper of  org.apache.catalina.core.StandardContext
context of  org.apache.tomcat.util.http.mapper.Mapper
resources of  org.apache.tomcat.util.http.mapper.Mapper$Context  
cache of  org.apache.naming.resources.ProxyDirContext  
cache of  org.apache.naming.resources.ResourceCache

org.apache.naming.resources.CacheEntry[]

   The number of objects of each class were exactly the number of times 
I had redeployed the webapp. I have checked the contents of CacheEntry 
inside CacheEntry[] and it has an attribute name and the contents are 
the jsps and tld files of my app. There are as many CacheEntry with the 
same jsp attribute as times the webapp has been reloaded.


   I have made a simple webapp with 2 jsp and a taglibrary, and the 
memory leak is still there, so I guess there is no cleaning of 
CacheEntry resources at context shutdown.


   Have I found a memory leak in Tomcat?
   Is my explanation correct or I have missed the leak source?
   Should I open a BZ issue?

   Is there any workaround to clean this resources on context shutdown?



--
-
Diego Rodríguez Martín
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 915713993 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: What do I do with a heap dump? (OOM Permgen)

2007-11-02 Thread Diego Rodríguez Martín

Hi,

   I found a memory leak in commons pool version 1.3 that is affecting 
tomcat 6.0.x as it is the commons pool library embedded in it. I tried a 
workaround using a factory with commons 1.2, but it also showed a memory 
leak.


   http://www.mail-archive.com/users@tomcat.apache.org/msg29820.html
 
   As far as I know, it has not been resolved, so you could be running 
into this


   Diego


Greg Vilardi escribió:

On 2 Nov 2007 at 7:24, Caldarale, Charles R wrote:

  
From: Peter Crowther [mailto:[EMAIL PROTECTED] 
Subject: RE: What do I do with a heap dump? (OOM Permgen)


As far as I know, public enemy #1 for eating PermGen space is 
still developers using the Singleton pattern in their code 
and not having listeners to null out the singleton instance 
when the webapp is undeployed.
  

Analagous use of ThreadLocal is also a subtle contributor to the
problem.  The offending references must be cleared at the end of
processing of each request, since listeners don't have ready access to
the thread pool.



Thank you for the pointers Peter. We do not have any Singletons in the 
application nor do we use ThreadLocal. However, we do not seem to be 
cleaning up the JDBC classes on redeploy. I'll install the 
SessionListener code that is mentionned in the references in Peter's 
reply. I'm also using the eval version of yourkit now to see what 
exactly is attached to each of the 52 WebAppClassLoaders in the dump.


I'll be back if I get stuck again further down the road. Thank you to 
all of the people who replied for the pointers and the tool 
recommendations. 


-Greg
  


--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 915713993 - Móvil +34 610299750
www.altiria.com
-



Re: Tomcat 6 and Permgen increase with redeployments

2007-10-02 Thread Diego Rodríguez Martín

Hi,

   There is a leak in commons pool in version 6 that prevents 
WebappClassLoader from being garbage collected


   http://www.mail-archive.com/users@tomcat.apache.org/msg29820.html

   Anyway, you may be encountering memory leaks of you own, and nothing 
can replace memory profiling to find your offending classes. This link 
may be an introduction to memory leaks,


   
http://opensource.atlassian.com/confluence/spring/pages/viewpage.action?pageId=2669
  
   Diego



wild_oscar escribió:

Although I've read a lot in the past week about Permgen and the problems of
some libs, I haven't been able to find a solution to my problem.

I'm running Tomcat 6 and an application with (among others):

- Struts 2
- Hibernate
- Tiles 2
- Log4j
- ant

Redeployment with ant (or the tomcat manager) makes the permgen space grow
and it doesn't shrink.

I'm using Jprofiler to figure out what's wrong. I recorded allocation data,
deployed the application, stopped recording and undeployed. I made GC
collect, well, the garbage, and Permgen free space did not increase. 


I seem to be stuck with a lot of log4j classes and hibernate classes.

I've pushed the Postgresql driver to the container's /lib. I've also tried
pushing log4j and commons-logging there as well.

Waiting some time does not solve the problem as well. Permgen space will not
decrease.

As for hibernate, I've implemented a static SessionFactory, which I close in
the destroy() method of my servletcontextlistener. 


Can anyone pinpoint the probable cause, solution or way to tackle this
problem? Increasing the size of the Permgen only postpones the problem: at
the end of a workday it'll be full, after a dozen redeployments...
  



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 6 classloader leak in Commons Pool

2007-06-29 Thread Diego Rodríguez Martín
Sorry, you are right, it is in 
org.apache.tomcat.util.modeler.BaseModelMBean, and resource attribute it 
is retaining is an org.apache.commons.dbcp.BasicDataSource


   Diego

Caldarale, Charles R escribió:
From: Diego Rodríguez Martín [mailto:[EMAIL PROTECTED] 
Subject: Re: Tomcat 6 classloader leak in Commons Pool


I have found that the offending class causing the leak is 
org.apache.tomcat.util.modeler.ManagedBean. It keeps two

attributes referencing my dbcp pool, called resource and
resourceType.



Are you sure about that class name?  It looks like the fields you've mentioned 
are actually in:
org.apache.tomcat.util.modeler.BaseModelMBean

The resourceType field is a String, so that isn't actually a reference to your 
DBCP pool, but resource is just an Object, so that's probably the real culprit. 
 There does not appear to be any way to clear the resource field in a 
BaseModelMBean, and I don't yet know where references to the BaseModelMBean are 
maintained.

What exactly does the resource field reference?  A connection, the DBCP 
factory, or ???

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


  


--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-



Re: Tomcat 6 classloader leak in Commons Pool

2007-06-29 Thread Diego Rodríguez Martín

Hi,

   I have tried what you suggested but it doesn't release the context 
properly. The method in Registry is unregisterComponent (unregister 
doesn't exist)


ObjectName on = new 
ObjectName(Catalina:type=DataSource,path=/myapp,host=localhost,class=org.apache.commons.dbcp.BasicDataSource,name=jdbc/MyPool);

(Registry.getRegistry(null, null)).unregisterComponent(on);

   I have tried with other parameters in ObjectName, but it doesn't 
complain even if the parameters are wrong so, how can I know they are right?



   Bill, How do I open a BZ issue?

   Thank you very much for your help

   Diego

Bill Barker escribió:
Diego Rodríguez Martín [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
  

Hi,

   I have been making some more tests about this issue, using old 
dbcp/pool factory to get rid of the memory leaks of tomcat embedded 
libraries commons-pool/commons-dbcp


   When using my own factory for dbcp and commons pool (the old versions), 
I clear the resources used invoking datasource.close() in my servlet 
destroy method. With a memory profiler, I have found that the offending 
class causing the leak is org.apache.tomcat.util.modeler.ManagedBean. It 
keeps two attributes referencing my dbcp pool, called resource and 
resourceType.


   Is there a way I can access from my servlet this class 
(org.apache.tomcat.util.modeler.ManagedBean) in order to clean the 
references?
   Is there any other action to be taken to free a resource than calling 
datasource.close() that I am missing?

   Is my fault freeing the resource or its Tomcat fault?




It is probably Tomcat's fault, since it looks like Tomcat doesn't unregister 
the DataSource elements from JMX when the context is stopped.  You should 
probably open a BZ issue for this (it doesn't look like the fix is too hard, 
NamingContextListener just needs to handle a stop event).


To work around it, you just need to unregister the MBean, so something like:
   ObjectName on = new 
ObjectName(Catalina:type=DataSource,path=/myapp,host=localhost,class=my.full.class.name,name=resourceName);

   Registry.getRegistry(null, null).unregister(on);

should work.

  

   Thank you very much in advance for your help

  Diego


Diego Rodríguez Martín escribió:


Hi,

   I have found what you said about the factory. It is ported to 6.0. I 
have tried to use the old commons-dbcp library, copying 
commons-pool-1.2.jar and commons-dbcp-1.2.2.jar in tomcat lib directory 
and defining the attribute 
factory=org.apache.commons.dbcp.BasicDataSourceFactory in the resource 
in my context.xml.


   It works, but I still have a memory leak. Tomcat is retaining my new 
commons-dbcp classes, and I think it is related to this classes:


org.apache.tomcat.util.modeler.BaseModelMBean,
com.sun.jmx.mbeanserver.NamedObject,
com.sun.jmx.mbeanserver.RepositorySupport.
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor
com.sun.jmx.mbeanserver.JmxMBeanServer,

This part of Tomcat is completely unkown to me, Do you have any clue?

Many thanks for your help


   Diego
David Smith escribió:
  
In older versions of tomcat (5.0.x) there is a factory attribute 
defining the pool to use.  It's unclear from the limited look I did 
whether that was carried forward to 5.5 and 6.0.


--David

Diego Rodríguez Martín wrote:


Hi,

   Is there any way to fix this leak downgrading the version of commons 
pool. I have a production enviroment where we have a lot of 
deploy/undeploy and with this leak we have to stop/start Tomcat very 
often. Is there a possibility of replacing tomcat-dbcp.jar with the 
older individual jars? It will work or you have used new 
functionalities of these packages?


   Thanks

   Diego


Rémy Maucherat escribió:
  

On 6/8/07, Diego Rodríguez Martín [EMAIL PROTECTED] wrote:


It affects version 1.3 of commons pool. In tomcat 6, commons pool is
embbeded in /tomcat-dbcp.jar/, and the docs don't say with version of
commons is inside.
  

It's that version. A new commons-pool version will be integrated when
it's available.

Rémy

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e

Re: Tomcat 6 classloader leak in Commons Pool

2007-06-28 Thread Diego Rodríguez Martín

Hi,

   I have been making some more tests about this issue, using old 
dbcp/pool factory to get rid of the memory leaks of tomcat embedded 
libraries commons-pool/commons-dbcp


   When using my own factory for dbcp and commons pool (the old 
versions), I clear the resources used invoking datasource.close() in my 
servlet destroy method. With a memory profiler, I have found that the 
offending class causing the leak is 
org.apache.tomcat.util.modeler.ManagedBean. It keeps two attributes 
referencing my dbcp pool, called resource and resourceType.


   Is there a way I can access from my servlet this class 
(org.apache.tomcat.util.modeler.ManagedBean) in order to clean the 
references?
   Is there any other action to be taken to free a resource than 
calling datasource.close() that I am missing?

   Is my fault freeing the resource or its Tomcat fault?

   Thank you very much in advance for your help

  Diego


Diego Rodríguez Martín escribió:

Hi,

   I have found what you said about the factory. It is ported to 6.0. 
I have tried to use the old commons-dbcp library, copying 
commons-pool-1.2.jar and commons-dbcp-1.2.2.jar in tomcat lib 
directory and defining the attribute 
factory=org.apache.commons.dbcp.BasicDataSourceFactory in the 
resource in my context.xml.


   It works, but I still have a memory leak. Tomcat is retaining my 
new commons-dbcp classes, and I think it is related to this classes:


org.apache.tomcat.util.modeler.BaseModelMBean,
com.sun.jmx.mbeanserver.NamedObject,
com.sun.jmx.mbeanserver.RepositorySupport.
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor
com.sun.jmx.mbeanserver.JmxMBeanServer,

This part of Tomcat is completely unkown to me, Do you have any clue?

Many thanks for your help


   Diego
David Smith escribió:
In older versions of tomcat (5.0.x) there is a factory attribute 
defining the pool to use.  It's unclear from the limited look I did 
whether that was carried forward to 5.5 and 6.0.


--David

Diego Rodríguez Martín wrote:

Hi,

   Is there any way to fix this leak downgrading the version of 
commons pool. I have a production enviroment where we have a lot of 
deploy/undeploy and with this leak we have to stop/start Tomcat very 
often. Is there a possibility of replacing tomcat-dbcp.jar with the 
older individual jars? It will work or you have used new 
functionalities of these packages?


   Thanks

   Diego


Rémy Maucherat escribió:

On 6/8/07, Diego Rodríguez Martín [EMAIL PROTECTED] wrote:

It affects version 1.3 of commons pool. In tomcat 6, commons pool is
embbeded in /tomcat-dbcp.jar/, and the docs don't say with version of
commons is inside.


It's that version. A new commons-pool version will be integrated when
it's available.

Rémy

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Tomcat and commons logging

2007-06-19 Thread Diego Rodríguez Martín

Hi,

   I have some problems using commons logging with log4j and tomcat, 
related to classloading. After some google searching, I have come to 
this article by one of the log4j experts


   http://www.qos.ch/logging/classloader.jsp

   In this article, it is explained how commons-logging (1.0.3) can 
lead to some classloading problems. There is a solution at the end of 
the article, but for Tomcat 5.0.x.


   I'm using Tomcat 6.0.13, configured to use log4j as it is explained 
in the docs (http://tomcat.apache.org/tomcat-6.0-doc/logging.html) and I 
have this problem.


   My questions is:

  The article says that I have to use version 1.0.4 or later but I 
haven't found which version it is used by Tomcat,
  
   which version of commons-logging is built in the extras in Tomcat 6?


 


--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 6 classloader leak in Commons Pool

2007-06-15 Thread Diego Rodríguez Martín

Hi,

   I have found what you said about the factory. It is ported to 6.0. I 
have tried to use the old commons-dbcp library, copying 
commons-pool-1.2.jar and commons-dbcp-1.2.2.jar in tomcat lib directory 
and defining the attribute 
factory=org.apache.commons.dbcp.BasicDataSourceFactory in the resource 
in my context.xml.


   It works, but I still have a memory leak. Tomcat is retaining my new 
commons-dbcp classes, and I think it is related to this classes:


org.apache.tomcat.util.modeler.BaseModelMBean,
com.sun.jmx.mbeanserver.NamedObject,
com.sun.jmx.mbeanserver.RepositorySupport.
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor
com.sun.jmx.mbeanserver.JmxMBeanServer,

This part of Tomcat is completely unkown to me, Do you have any clue?

Many thanks for your help


   Diego
David Smith escribió:
In older versions of tomcat (5.0.x) there is a factory attribute 
defining the pool to use.  It's unclear from the limited look I did 
whether that was carried forward to 5.5 and 6.0.


--David

Diego Rodríguez Martín wrote:

Hi,

   Is there any way to fix this leak downgrading the version of 
commons pool. I have a production enviroment where we have a lot of 
deploy/undeploy and with this leak we have to stop/start Tomcat very 
often. Is there a possibility of replacing tomcat-dbcp.jar with the 
older individual jars? It will work or you have used new 
functionalities of these packages?


   Thanks

   Diego


Rémy Maucherat escribió:

On 6/8/07, Diego Rodríguez Martín [EMAIL PROTECTED] wrote:

It affects version 1.3 of commons pool. In tomcat 6, commons pool is
embbeded in /tomcat-dbcp.jar/, and the docs don't say with version of
commons is inside.


It's that version. A new commons-pool version will be integrated when
it's available.

Rémy

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 6 classloader leak in Commons Pool

2007-06-11 Thread Diego Rodríguez Martín

Hi,

   Is there any way to fix this leak downgrading the version of commons 
pool. I have a production enviroment where we have a lot of 
deploy/undeploy and with this leak we have to stop/start Tomcat very 
often. Is there a possibility of replacing tomcat-dbcp.jar with the 
older individual jars? It will work or you have used new functionalities 
of these packages?


   Thanks

   Diego


Rémy Maucherat escribió:

On 6/8/07, Diego Rodríguez Martín [EMAIL PROTECTED] wrote:

It affects version 1.3 of commons pool. In tomcat 6, commons pool is
embbeded in /tomcat-dbcp.jar/, and the docs don't say with version of
commons is inside.


It's that version. A new commons-pool version will be integrated when
it's available.

Rémy

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Tomcat 6 classloader leak in Commons Pool

2007-06-08 Thread Diego Rodríguez Martín

Hi,

   I have a webapp that is running ok under tomcat 5.5. I have upgrade 
to Tomcat 6 and I have found a big memory leak because WebAppClassLoader 
gets never garbage collected.


   I have used a profiler and have found that the object that is 
stopping the garbage collector could be EVICTION_TIMER of  
org.apache.tomcat.dbcp.pool.impl.GenericObjectPool. I have googled it 
and I have found the following bug in commons pool


https://issues.apache.org/jira/browse/POOL-97?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12484747

It affects version 1.3 of commons pool. In tomcat 6, commons pool is 
embbeded in /tomcat-dbcp.jar/, and the docs don't say with version of 
commons is inside.


Could tomcat be running with this bug?
Since pool is embedded, is there a simple workaround to get rid of it 
downgrading commons pool version to use the same as tomcat 5.5?


   Thanks

  


--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-



Re: Max number of contexts

2007-04-19 Thread Diego Rodríguez Martín

Hi again,

   I have been evaluating the architecture described below (one kernel 
with lightweight webapps registered by ContextListener), but I'm still 
worried about memory. You said that memory will be the main limitation, 
but what I would like to know is how many memory overhead produces a 
context compared to the webapp plain classes it loads. We're planning to 
have hundreds of contexts and I would like to know if we should consider 
another architecture for our problem. In this new project we will use 
Tomcat 5.5, but we are using now Tomcat 4.1 for other project and we are 
having OutOf Memory errors every week, more frecuently as the number of 
contexts incresases (between10-15 contexts aprox), so you can understand 
my worries


   Thanks again

   Diego

Filip Hanik - Dev Lists escribió:

Diego Rodriguez wrote:


Hi,

   I'm using Tomcat 5.5.20. In the docs says You may define as many 
*Context* elements as you wish


   I'm going to design a new web application that will act as a 
kernel for other lightweight webapps that will implement different 
services and may be hot installed at any time. My plan is implement 
these services (lightweight webapps) as contexts that will register 
in the kernel using a ContextListener. What I would like to know is 
if there is any real maximum or a performance penalty if I reach some 
limit. Is there anybody who has implemented an architecture like this? ]

Memory will be your main limitation.
Filip


   Thanks in advance

  Diego



No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.11/721 - Release Date: 
3/13/2007 4:51 PM
  



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
-
Diego Rodríguez Martín ([EMAIL PROTECTED])
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]