Re: [Resin-interest] Old files not removed at redeploy
This has been fixed in 4.0.31: http://bugs.caucho.com/view.php?id=5193 As a temporary work-around, you can remove expand-preserve-fileset=WEB-INF/work/** from your resin.xml. But that will remove all compiled JSP causing them to be recompiled even if they have not changed in the new war. Bill On Wed, Sep 12, 2012 at 7:30 AM, Mattias Jiderhamn mj-li...@expertsystems.se wrote: We're in the process of setting up a new server and have installed Resin 4.0.29 from RPM. We have made minimal changes to the config to get up and running, and are facing an issue we haven't seen on any other Resin installation: When a .war is redeployed it seems the contents of the new .war is extracted, although the old content is not removed. This means, for example, if a JAR file is updated from foo-1.0.jar to foo-1.1.jar, when deployed on the new server we will have both foo-1.0.jar and foo-1.1.jar (and thus foo-1.0.jar will be used and this causes problems). Restarting Resin doesn't help. Once a file ends up in the expanded directory, I can only get rid of it by manual delete. Resin is currently running as root, so I can't really see how it could be an access issue. I have increased Resin logging but can't find anything abnormal in there. Are there any settings that can affect this? Anything I should look for in the log? (Any particular Resin package I should limit the logging to?) -- /Mattias ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Out of PermGen space
If it is not a leak (classes are being cleaned up upon webapp reload but a large number is being created), simply increase max perm size. Bill On Wed, Apr 25, 2012 at 11:47 PM, Matt White mwh...@leporidae.net wrote: On 4/24/2012 5:13 PM, Bill Au wrote: Wow, something I'm actually qualified to talk about on this list! :) Out of PermGen space is almost always caused by a classloader leak which occurs when a webapp is reloaded. It could be caused by either your own code, third-party code, or in some case Java core classes. I debug PermGen errors quite a bit. Some of our apps have a cache of dynamically generated classes (Drools does this) that, if held onto long enough, will make the the JVM run out of PermGen. This isn't really a mistake, it's just how it works, sadly. You need to take heap dumps before and after webapp reload and use a heap analyzer to see what is holding onto the leaked classloader(s). That's how I debug them. Take a series of heap dumps and start comparing the differences between them -- YourKit even makes this easy for you with a tool that diffs heap dumps. - Matt ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Out of PermGen space
Out of PermGen space is almost always caused by a classloader leak which occurs when a webapp is reloaded. It could be caused by either your own code, third-party code, or in some case Java core classes. You need to take heap dumps before and after webapp reload and use a heap analyzer to see what is holding onto the leaked classloader(s). Bill On Tue, Apr 24, 2012 at 5:41 PM, Chris Pratt thechrispr...@gmail.comwrote: Well, yes and no. As I understand the problem, it really got bad around the Java 5 timeframe because of the addition of Enumerations to the language. What Resin does (and all auto-reloading Java containers do) is to create a ClassLoader that contains all the code for your application. When it senses a change to your code, it loads that new code into a brand new ClassLoader and releases the old one to be garbage collected once it's done processing it's active requests. The problem is that, since Enumerations are guaranteed to work with the == operator, even when serialized/deserialized between different computers, Java treats them special, by keeping them in the Permanent Generation (so their internal ID's won't change). Unfortunately, each time the app is loaded a new set of Enumerations takes up more space in the precious PermGen until it finally blows its lid. So, theoretically, you could use less PermGen by limiting Enumeration use, but that's really not a realistic response. Before Java became property of Oracle, there was some talk about fixing this problem at the JVM level, but I haven't heard anything in quite a while. (*Chris*) On Tue, Apr 24, 2012 at 1:54 PM, Rick Mann rm...@latencyzero.com wrote: When I'm making changes to the code of a webapp, Resin kindly reloads it for me. I can usually get a handful of reloads in before Resin complains about being out of PermGen space. Is there something I'm doing wrong in my app that it leaks like this? -- Rick ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] [4.0.25] tremendously increases my server load when starts-up
Scott, What would trigger the JVM bug having to do with the IP addresses? I want to make sure that I am not affected before I upgrade. What version of JVM does that affect? Bill On Mon, Feb 6, 2012 at 11:34 AM, Scott Ferguson f...@caucho.com wrote: ** Can you try the snapshot http://caucho.com/download/resin-pro-4_0-snap.tar.gz? The IP bug was a red-herring. There is a timing issue with threading/clustering. That snapshot is not suitable for production (several known regression failures), but it can be used to verify the startup bug. -- Scott On 02/03/2012 01:45 AM, smallufo wrote: Hi This is my ip addresses : $ ifconfig eth0 Link encap:Ethernet HWaddr 00:50:08:02:FA:8E inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::250:8ff:fe02:fa8e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:856152 errors:0 dropped:0 overruns:0 frame:0 TX packets:460283 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:122552727 (116.8 MiB) TX bytes:284641238 (271.4 MiB) Interrupt:233 Base address:0xc000 eth1 Link encap:Ethernet HWaddr 00:60:6E:60:07:4B inet addr:192.168.1.104 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::260:6eff:fe60:74b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:11431817 errors:0 dropped:0 overruns:0 frame:0 TX packets:13056593 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3686915772 (3.4 GiB) TX bytes:1152022111 (1.0 GiB) loLink encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:201560031 errors:0 dropped:0 overruns:0 frame:0 TX packets:201560031 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1693844049 (1.5 GiB) TX bytes:1693844049 (1.5 GiB) All are local addresses , no VM installed. 2012/2/3 Scott Ferguson f...@caucho.com On 02/02/2012 06:53 PM, smallufo wrote: I cannot operate my server when I start resin 4.0.25 The load is so high that the server almost hangs there... Even a ls is so sluggish... It happens even in a clean install (no other webapps installed , just default resin.xml settings) It might be related to a JVM bug having to do with the IP addresses. What do you IP addresses look like? Are there any virtual ones. -- Scott $ uname -a Linux dev 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:18:27 EST 2009 i686 i686 i386 GNU/Linux /var/log/resin $ head watchdog-manager.log [2012/02/03 00:08:14.368] {main} [2012/02/03 00:08:14.369] {main} Resin-4.0.25 (built Tue, 24 Jan 2012 11:09:58 PST) [2012/02/03 00:08:14.370] {main} [2012/02/03 00:08:14.370] {main} Linux 2.6.18-164.6.1.el5 i386 [2012/02/03 00:08:14.370] {main} Java(TM) SE Runtime Environment 1.6.0_22-b04, UTF-8, zh [2012/02/03 00:08:14.371] {main} Java HotSpot(TM) Server VM 17.1-b03, 32, mixed mode, Sun Microsystems Inc. 2012/2/3 Scott Ferguson f...@caucho.com On 02/02/2012 08:12 AM, smallufo wrote: When I execute 'resinctl start' , I notice my server almost hangs And the server load is very high : $ w 00:07:51 up 46 days, 6:07, 3 users, load average: 526.31, 298.59, 121.04 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT smallufo pts/1destiny Wed166:09 2.91s 1.92s top smallufo pts/2destiny Wed221.00s 2.67s 0.01s w smallufo pts/3destiny Wed233:36 7:07 6:56 /usr/java/jdk/bin/java -jar /usr/local/share/resin-4.0.25/lib/resin.jar -root-directory /hom The load peaks to 500 or even higher ! After 5 or more minutes , the load goes down... Can you get a thread dump? Or better yet, if you have resin-pro, get a resinctl pdf-report --profile. -- Scott It does not happen in 4.0.19 ! ___ resin-interest mailing listresin-interest@caucho.comhttp://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing listresin-interest@caucho.comhttp://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing listresin-interest@caucho.comhttp://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] 4.0.21 release
How soon can we expect 4.0.22? I am wondering if I should want for that or go with 4.0.21 for the time being. We just got hit by bug 4701 again. I want to pick for the fix for that which is in 4.0.21 but I don't want the solution to be worse than the problem itself. How wide-reaching is bug 4726? Bill On Wed, Aug 24, 2011 at 3:14 PM, Scott Ferguson f...@caucho.com wrote: On 08/24/2011 11:32 AM, Olaf Krische wrote: Hello, i have a WAR accounts.war. I move it into webapps of a fresh installation of resin 4.0.21, and then i get this on a POST request (GET works) java.lang.UnsupportedOperationException: com.caucho.vfs.JniStream@2542880d at com.caucho.vfs.StreamImpl.getAvailable(StreamImpl.java:145) at com.caucho.vfs.ReadStream.getAvailable(ReadStream.java:328) ... Thanks. I've filed this as http://bugs.caucho.com/view.php?id=4726. We'll be releasing a quick 4.0.22 for this. The issue, by the way, was introduced related to changes with the async end-of-socket detection, and the regression test to reproduce this is a bit more complicated than I'd have expected. -- Scott And just to verify, i downloaded as well a fresh resin 4.0.20, moved the same WAR into webapps, no problems at all. The full stacktrace is here: - http://www.ecopatz.de/jvm-default20110824.log Any idea? ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Resin Pro 4.0.16
Just saw that 4.0.16 is now available in the download area. I took a quick look at Resin Pro 4.0.16. It looks like the old doc directory is now installed at resin-doc. From Makefile: mkdir -p $(resin_root)/resin-doc; \ cp -r $(CP_U_FLAG) doc/* $(resin_root)/resin-doc; \ But resin.xml is still using doc as opposed to resin-doc: web-app id=/resin-admin root-directory=${resin.root}/doc/admin web-app id=/resin-doc root-directory=${resin.root}/doc/resin-doc/ Bill ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Resin 4.0.14+ slow to boot
Soctt, Assuming this fix will be in 4.0.16, how soon will that be released? We are looking to upgrade to Resin 4. I would not want to have to do the upgrade in 2 steps (first to 4.0.15, and then to 4.0.16 with this fix). How long is the startup delay anyway? Bill On Wed, Mar 2, 2011 at 12:10 PM, Scott Ferguson f...@caucho.com wrote: On 03/02/2011 02:53 AM, Mattias Jiderhamn wrote: We're looking forward to upgrading from 4.0.10 to 4.0.15, but during testing we notice 4.0.15 takes way longer to boot our application. Results on different machines range from twice the time to 4-5 times as long. It seems that the Spring/Hibernate initialization is taking most of the time (just by debug outputs, no profiling yet) Narrowing it down, it changed between 4.0.13 and 4.0.14. Is anyone else seeing this? Would this be expected for any reason (like XML parser, DTD resolving)??? (We have primarily tested this on Windows with a Resin Pro license that should be valid for the update) I may have just hit this and fixed it (I need to verify the specific change - there are two.) Resin's classloader does some analysis and caching to improve resource/class loading performance. This speeds up Spring/Hibernate initialization considerably. Some of that caching was causing problems with GC, so it was reversed. I'll see how it can be fixed. -- Scott ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] resin 4.0.11
I just noticed that the tar balls for resin 4.0.11 is available in Caucho's download area but the download page still show 4.0.10 as the latest. Is that just a case of the download page being outdated? Are the 4.0.11 tar balls official releases? Bill ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Resin 4.0.x doc/config
In addition to admin and resin-doc, I noticed that there is also a config webapp under doc. Anyone knows what that is for? Bill ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Resin 4.0.x doc/config
It is part of the tar ball: $ tar tzvf resin-4.0.6.tar.gz |grep doc/config drwxr-xr-x 0/0 0 2010-04-13 11:57:38 resin-4.0.6/doc/config/ drwxr-xr-x 0/0 0 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/ drwxr-xr-x 0/0 0 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/inc/ drwxr-xr-x 0/0 0 2010-04-13 11:57:38 resin-4.0.6/doc/resin-doc/WEB-INF/classes/com/caucho/doc/config/ -rw-r--r-- 0/01037 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/inc/apache.template -rw-r--r-- 0/0 315 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/inc/common.php -rw-r--r-- 0/0 444 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/inc/loadbalance.template -rw-r--r-- 0/0 190 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/inc/log.php -rw-r--r-- 0/01966 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/inc/management.php -rw-r--r-- 0/01249 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/inc/resin.template -rw-r--r-- 0/0 260 2010-04-13 11:57:38 resin-4.0.6/doc/config/WEB-INF/inc/server.php -rw-r--r-- 0/03536 2010-04-13 11:57:38 resin-4.0.6/doc/config/default.css -rw-r--r-- 0/01774 2010-04-13 11:57:38 resin-4.0.6/doc/config/index.php -rw-r--r-- 0/06480 2010-04-13 11:57:38 resin-4.0.6/doc/resin-doc/doc/config-isp.xtp -rw-r--r-- 0/0 17321 2010-04-13 11:57:38 resin-4.0.6/doc/resin-doc/doc/config-overview.xtp -rw-r--r-- 0/02275 2010-04-13 11:57:38 resin-4.0.6/doc/resin-doc/doc/config-tags.xtp -rw-r--r-- 0/0 37560 2010-04-13 11:57:38 resin-4.0.6/doc/resin-doc/doc/config-webapp.xtp $ It is referenced in full.xml but is commented out there. Bill On Fri, Apr 16, 2010 at 5:11 PM, Emil Ong e...@caucho.com wrote: Hi Bill, I don't see that app. What's in it? Do you see a directory or an MBean or something else that refers to it? Thanks, Emil On Fri, Apr 16, 2010 at 11:26:28AM -0400, Bill Au wrote: In addition to admin and resin-doc, I noticed that there is also a config webapp under doc. Anyone knows what that is for? Bill ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Resin-Pro-4.0.5 Admin
It is part of resin 4.x. Make sure you have the following in your resin.xml: web-app id=/resin-admin root-directory=${resin.root}/doc/admin prologue resin:set var=resin_admin_external value=false/ resin:set var=resin_admin_insecure value=true/ /prologue /web-app If you want to use a hostname other than localhost to access the UI, then you will have to set resin_admin_external to true. I have been looking at it since I am upgrading from 3.0 to 4 too. It looks very good. Be sure to check it out. It is nice that a lot of monitoring stuff that we have had to add on top of resin is now part of it. Bill On Wed, Mar 24, 2010 at 2:15 PM, Rick Mann rm...@latencyzero.com wrote: On Mar 24, 2010, at 09:07:07, Aaron Freeman wrote: Since we are upgrading from pro-3.0.23 to pro-4.0.5, we thought we would take advantage of the resin-admin stuff. However the docs aren't clear on how that's supposed to happen. This page says nothing about what to install: http://caucho.com/resin-4.0/admin/resin-admin.xtp And this page seems to elude that I have to install another product? I could have sworn we had this working in 4.0.0 without installing Quercus. http://caucho.com/resin-4.0/admin/resin-admin-console.xtp Quercus is part of Resin 4.x. You get it for free. -- Rick ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Classpath Question
The command line arguments for starting Resin 4.0.x only applied to the watchdog and NOT the actual resin process itself. JVM command line arguments are specified in resin.xml. For example, in the command above, $JAVA_MX and $JAVA_MS applies to the watchdog only. I wouldn't increase the default 32m max heap size of the watchdog since it does need much memory. Bill On Fri, Mar 19, 2010 at 5:53 PM, Aaron Freeman aaron.free...@layerz.comwrote: It's working now. For completeness and to help others moving from 3.0.x to 3.1.x or 4.0.x you should change your startup script from this style (which relies on a wrapper.pl): $RESIN_HOME/bin/httpd.sh -verbose \ -J-server \ -J-Xmx$JAVA_MX \ -J-Xms$JAVA_MS \ -J-verbose:gc \ -J-XX:MaxGCPauseMillis=5000 \ -J-XX:GCTimeRatio=19 \ -J-XX:+PrintGCTimeStamps \ -J-Djava.security.egd=/dev/urandom \ -J-cp=/opt/server/java/test.jar \ -server-root $SERVER_ROOT \ -Dresin.home=/opt/resin-pro-3.1.9 \ -conf /opt/server/conf/resin.xml \ $1 To something like this: $JAVA_HOME/bin/java \ -server \ -Xmx$JAVA_MX \ -Xms$JAVA_MS \ -Djava.util.logging.manager=com.caucho.log.LogManagerImpl \ -Djava.security.egd=/dev/urandom \ -Dresin.home=${RESIN_HOME} \ -jar ${RESIN_HOME}/lib/resin.jar \ -conf ${SERVER_ROOT}/conf/resin.xml \ $* And by the way that magically fixed my resin:type problem as well. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Resin 4.0.0 release
I just noticed that the status for JSR313 is now listed as Withdrawn. What implication does that have on a stable release of 4.0? Bill On Thu, May 7, 2009 at 12:02 PM, Scott Ferguson f...@caucho.com wrote: We've just released Resin 4.0.0 for download at http://caucho.com/download . Resin 4.0 has a large number of internal changes and enhancements over 3.1, and it is the development branch. If you need a stable version of Resin, you should continue to use Resin 3.1. The expected date for a stable version of Resin 4.0 is tied to the JavaEE spec dates for JavaEE 6, so it's a moving target. Major Features in Resin 4.0.0: o Resin 10,000 - 10,000 simultaneous connections o Project Jar Repository - uses Maven pom.xml dependencies to build classloaders - replaces complex OSGi bundles with simple .jar management o CanDI - Java Contexts and Dependency Injection (JSR-299) - resin.xml/web.xml config fully integrated with CanDI - Rewrite/Dispatch redesign using CanDI - Security redesign using CanDI - JMS Queue/Topic redesign using CanDI o Protocol enhancements - FastCGI port and proxy - HTTP proxy o Cloud Computing redesign - Dynamic servers - Distributed deployment with .git repository and BAM/HMTP * eclipse, ant, maven and /resin-admin deployment - Clustered session refactor with BAM/HMTP for dynamic servers - Clustered Cache (JCache) - Load Balance refactor for dynamic servers - Load Balance green connections - Remote JMX refactored to use BAM/HMTP - Watchdog refactored to use BAM/HMTP - BAM/HMTP rename and refactor o Quercus - performance and compatibility work - Google App Engine support ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Memory leak - in Resin?
I trick that I use to trouble shoot perm gen memory leak involves using jconsole and , jmap, and jhat. I would attach to resin with jconsole, then reload the webapp a few times to trigger the perm gen leak. That I will stop the webapp completely, and then go to the memory tab to trigger some full GC. What I found is that I would need to trigger a few full GC back to back in order for the garbage collector to actually clean up the perm gen. At this point I take a heap dump with jmap and look at the heap dump with jhat. The webapp had been stopped and perm gen had been clean so if there is no leak, classes loaded by the webapp classlloader should not be in the heap dump anymore. So if you still see them it mean there is a perm gen leak. In jhat the detail page for any leaked classes has a link to the classloader which loaded that c lass. Follow that link and you will see a link for the reference chains from rootset (exclude weak ref) for the leaked classloader. That page will show you where the leak is. Bill On Fri, Jan 9, 2009 at 3:22 AM, Mattias Jiderhamn mj-li...@expertsystems.se wrote: Scott Ferguson wrote (2008-11-26 16:53): On Nov 24, 2008, at 11:08 PM, Mattias Jiderhamn wrote: I'm still battling this PermGen leak and frankly I'm really starting to doubt that I know what I'm doing anymore. I'd be very happy if anyone would care to explain that to me... Since my last post Scott and I have discussed potential class loader leaks and some of them have been fixed in the 3.1.8 release. It seems there is (at least) one leak that didn't get fixed in 3.1.8. I have made a quick and dirty patch to avoid that leak. If anyone would care to try, the patch (which includes a few other things probably fixed in 3.1.8 already) can be found here: http://jiderhamn.se/resin-leak.patch However, even with that patch, it seems there is still some kind of PermGen leak that eventually leads to OutOfMemoryError. I have created a small application with the sole purpose of detecting these leaks. If anyone would care to try, it can be found here (sources included): http://jiderhamn.se/leak.war You will need to add some JARs to the WEB-INF/lib directory; preferrably a couple of large ones like spring.jar and hibernate.jar (don't use Resin JARs though). Then just drop the WAR in a clean installation of Resin 3.1.8 (preferrably patched with the patch above). Hit http://...:nn/leak (once is enough) Force a redeploy by either deleting the webapps/leak dir or touch:ing leak.war Hit http://...:nn/leak again Repeat the last two steps for as long as you'd like What you should see - or at least what I see on one Linux machine and one Windows machine - is the (ClassLoadingMXBean) loadedClassCount and the (MemoryPoolMXBean) Used Perm Gen steadily increasing (while the unloadedClassCount remains pretty stable) for every redeploy, which indicates a classloader leak. But I just can't find that leak. Thanks. Right now, our code base is a bit stuck due to the WebBeans/OSGi upgrade (for Resin 4.0.0, was 3.2.2). Once that's cleaned up and I can put up a snapshot I can take a look. Scott Ferguson wrote (2008-12-29 20:41): I've just made an early Resin 4.0 snapshot available. Does this mean we can assume you will be able to look more closely at the memory leaks in 3.1 sometime soon...? /Mattias -- Scott Now, here are the things really bugging me: 1. If I keep redeploying over and over, I will eventually get closer and closer to the Perm Gen Max (in some instances, I have seen the following behaivour instead turn up when Used reaches Init if Init is large enough). Then suddenly the unloadedClassCount is increased, but not with all the unused classes - only about the amount of one redeployment. Redeploy again, and it will increase another step. Meanwhile, the loadedClassCount remains pretty stable, since we are loading as many new classes as are unloaded. It's as if there was a FIFO queue/LRU cache of classloaders, so that the oldest one is garbage collected once there is not enough space for a new one. However, after a while there is (assumably) not enough space to create the new classloader before the old one is garbage collected, and I get OutOfMemoryError somewhere in the middle. Sometimes I am actually able to recover from this error by waiting for the GC to do it's job and then just try again. 2. Now I attached YourKit, looking for dangling classloaders as of the inital post. I found none. In fact, the Classes without Instances inspection only shows the classes in the added JARs from the last redeployment, so when tracing back to GC root, it goes via the current EnvironmentClassLoader which is correct. There are also no excessive instances of EnvironmentClassLoader. Hmm... Now wait a minute. Look at the total number of java.lang.Class objects. It does not match with the
Re: [Resin-interest] Resin Pro licencing and support
With the pro license, you get better performance from both resin and quercus. Bill On Thu, Sep 4, 2008 at 12:52 PM, Rob Lockstone [EMAIL PROTECTED] wrote: We have a 100 Server Pro license and are very happy with it. Back in the day, there was no Pro version (as I recall). But as Resin has matured, having the Pro version has become more important if you're going to be using Resin in a production environment, or even if you just want to become familiar with the capabilities/features of the Pro version for future use. I agree, if you can afford to license Pro, it's definitely good to support further development. As you can tell, Resin is, and has been for years, frequently updated with bug fixes and new features, so you wouldn't be investing in a product that languishes for months or years with no new releases. Rob On Sep 4, 2008, at 08:29, Heimo Laukkanen wrote: Hi all, I have to say that I'm extremely impressed with my tests with resin and quercus - and have started to wonder, whether licencing the pro version would actually be worth it - if nothing else, then just to support the development :-D What is the general feeling among people using Resin: do you use pro version or manage with open source versions? Have you been happy with the nromal support , or have you invested in priority support? I've previosly been using mostly Sun Glassfish, but Resin has some neat features and small footprint to be very interesting tool to be used. My main interest though for Resin is Quercus - the ability to use php-frontend with existing skillsets from contractors, and build robust Java-backend. And eventhough Quercus can be used in other appservers too, the fact that it would be supported and tested on resin weights a lot. -huima ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Need expert to help with JVM troubleshooting
Take some thread dumps when your CPU utilization is high too see whats' going on inside that JVM during that time. Bill On Thu, Jul 10, 2008 at 4:57 PM, Adam Allgaier [EMAIL PROTECTED] wrote: We're having stability issues with our app running on Resin, characterized by climbing memory usage, and 100% CPU utilization, and frequent server crashes. We're looking for an expert who will be willing to help us. Any recommendations on where we can find one? Thank you, Adam Allgaier ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] How to remove new line preamble in JSP
Resin does support the trimDirectiveWhitespaces configuration parameter which is defined in the JSP 2.1 specifications. http://java.sun.com/developer/technicalArticles/J2EE/jsp_21/ Bill On Wed, Jun 4, 2008 at 6:05 AM, bisoa [EMAIL PROTECTED] wrote: It seems like I have to code without white spaces! Tomcat's way may not be uiversal and may not work on other application servers. -- View this message in context: http://www.nabble.com/How-to-remove-new-line-preamble-in-JSP-tp17640964p17643305.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Managing separate watchdog processes in 3.1.5
Sorry, I had misread your original question. Bill On Tue, Mar 11, 2008 at 9:27 AM, Eric Kreiser [EMAIL PROTECTED] wrote: I had found the watchdog-port... my issue with this is that when it binds to the IP, it binds to the main IP of the server... so if I have say 10 sites running on a machine, I would need to keep track of 10 unique port numbers to assign to each resin instance. In my case, each of the 10 resin instances are bound to different IP addresses on the server, so I would much prefer a way to specify that the watchdog port bind to the same IP the resin server is using for the sites themselves. Bill Au wrote: watchdog-port http://www.caucho.com/resin/doc/resin-watchdog.xtp I also want to run multiple independent instances on the same machine. Scott and company, I think it will be useful to include an example of that in the resin 3.1 documentation for the watchdog process. This is a big change from Resin 3.0 which took me a while to figure out. Bill On Mon, Mar 10, 2008 at 5:19 PM, Eric Kreiser [EMAIL PROTECTED] wrote: Is there a way to specify what IP the watchdog-port will bind to? I want to be able to have a number of sites/instances of resin running on a machine I want all of them to run independent of each other so to keep them independent, I need to specify a watchdog-port... but if I do... it binds to the main ip of the machine... so in my scenario, I would need to assign each resin instance a unique port number. Is there a better way for me to handle this? Thanks Eric Kreiser ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- ___ resin-interest mailing [EMAIL PROTECTED]://maillist.caucho.com/mailman/listinfo/resin-interest -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road • Mechanicsburg, PA 17055 --- *Call my office:* 717.790.0400 x4256 *Fax me:* 717.790.0401 *Email me:* [EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ *Toll Free:* 800.869.5763 ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] ssl port
With the SSL port set up in Resin, relative redirect on a https request should go to the SSL port. Is that not the case? Bill On 6/1/07, Michael Fortin [EMAIL PROTECTED] wrote: Hello, We have our servers setup behind a load balancer and the load balancer does all the encryption for ssl. All traffic inside our network is on port 8080. If I do a relative redirect on a request from a secure url it returns an insecure url. To try and fix this I setup another http port in the resin conf for 8443 and set the load balancer to send secure traffic to that port. Tomcat has a isSecure flag on it's connector to tell the request it's a secure request even though it's already decrypted. Does resin have something like that? Will resin know to make a secure link on that port? Resin version 3.0.18 JDK 1.5.0_10 Linux Thanks Michael ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] ssl port
There is a secure-host-name under host http://www.caucho.com/resin-3.0/config/resin.xtp#host You may have to use that to set the port number for SSL. Bill On 6/1/07, Michael Fortin [EMAIL PROTECTED] wrote: Hi Bill, Thanks for the response. Honestly, I haven't tested it just yet. I didn't see a 'secure' attribute on the http / config element so I just wanted to confirm that 8443 will implicitly be secure even though I'm not setting an encryption handler. I didn't see anything here (http://caucho.com/resin-3.0/security/ssl.xtp#notneeded) about it. I'll be back if it doesn't work. Thanks again, Michael Bill Au wrote: With the SSL port set up in Resin, relative redirect on a https request should go to the SSL port. Is that not the case? Bill On 6/1/07, *Michael Fortin * [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hello, We have our servers setup behind a load balancer and the load balancer does all the encryption for ssl. All traffic inside our network is on port 8080. If I do a relative redirect on a request from a secure url it returns an insecure url. To try and fix this I setup another http port in the resin conf for 8443 and set the load balancer to send secure traffic to that port. Tomcat has a isSecure flag on it's connector to tell the request it's a secure request even though it's already decrypted. Does resin have something like that? Will resin know to make a secure link on that port? Resin version 3.0.18 JDK 1.5.0_10 Linux Thanks Michael ___ resin-interest mailing list resin-interest@caucho.com mailto:resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] clearing cache manually or in code
In 3.0.x, the server mbean has a clearCache() and a clearCacheByPattern(host, url) method in com.caucho.server.resin.mbean.ServletServerMBean. The name of the mbean should be resin:type=Server,name=default Bill On 5/31/07, Bernard Bernstein [EMAIL PROTECTED] wrote: We are using the Resin proxy cache by setting Expire headers on some files (jsp files that generate css and some javascript). Occasionally, we want to get a new version of these files loaded, but we don't want to set a short expiration time for the occasional change in something. For example. We might have a .jsp file that is the stylesheet, where we can set the font size through some frontend setting. We want that page to be cached most of the time, but when someone changes that font, we don't want them to need to wait for an hour for the cached version to expire before everyone sees the new font size. We also don't want the overhead of executing the jsp for every pageview. The jsp file itself isn't changing, so resin wouldn't necessarily know that the page has expired. So, is there any way we can programmatically clear that page cache, or all cached pages for that matter. Looking through archives I see discussion of adding: allow-admintrue/allow-admin to a webapp setup, but that doesn't seem to work anymore now that we're starting to use 3.1 (I haven't tested on 3.0 which we are using in production). I've also tried calling com.caucho.server.resin.ServletServer.clearCache() and doesn't seem to compile. I'm using jconsole to look at the jmx-accessible beans, but I don't see anything there that can help with this either. What is the modern way to clear the cache during runtime? I'm having some trouble finding an answer, so I thought I'd ask here. Thanks, Bernie ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] LDAPAuthenticator with ActiveDirectory
I ended up writing my own authenticator extending Caucho's AbstractAuthenticator because I need to use ldaps and need some custom functionality. Things should work if the default PROVIDER_URL is good for you (ie ldap://localhost:389). Bill On 5/3/07, Riccardo Cohen [EMAIL PROTECTED] wrote: Hi I'm also interested in LDAP authentification, our new customer is a big organization, and they want our application to use LDAP services for authentification. I must say that I know very few about this. I could not find any class in resin's doc about LDAP, but found a page here from Ferg : http://bugs.caucho.com/view.php?id=666 It seems rather complex for me, as I'm reading these pages, I would need to include Acegi framework, then Spring framework, and finally a Resin adaptor which is a whole project itself... For my application, I only need a very simple java class getting current user name from LDAP, so a web user that is already authenticated does not have to retype its login/password... But I really don't know if it can be as simple as that... ! cilquirm wrote: Does anyone have any experience using Caucho's LDAPAuthenticator with ActiveDirectory? Still continuing on my quest to investigate possible ActiveDirectory authentication options. Any help would be appreciated. Thanks, -a -- Très cordialement, Riccardo Cohen ligne directe : 02-47-49-63-24 --- Articque http://www.articque.com 149 av Général de Gaulle 37230 Fondettes - France tel : 02-47-49-90-49 fax : 02-47-49-91-49 ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] LDAPAuthenticator with ActiveDirectory
There are many tutorials/examples on the web. This one covers both security and searches: http://java.sun.com/products/jndi/tutorial/ldap/ Bill On 5/3/07, Riccardo Cohen [EMAIL PROTECTED] wrote: All right, but if I want to write my own one, I need to know ldap protocole :)... where do you find this ? Bill Au wrote: I ended up writing my own authenticator extending Caucho's AbstractAuthenticator because I need to use ldaps and need some custom functionality. Things should work if the default PROVIDER_URL is good for you (ie ldap://localhost:389). Bill On 5/3/07, *Riccardo Cohen* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi I'm also interested in LDAP authentification, our new customer is a big organization, and they want our application to use LDAP services for authentification. I must say that I know very few about this. I could not find any class in resin's doc about LDAP, but found a page here from Ferg : http://bugs.caucho.com/view.php?id=666 It seems rather complex for me, as I'm reading these pages, I would need to include Acegi framework, then Spring framework, and finally a Resin adaptor which is a whole project itself... For my application, I only need a very simple java class getting current user name from LDAP, so a web user that is already authenticated does not have to retype its login/password... But I really don't know if it can be as simple as that... ! cilquirm wrote: Does anyone have any experience using Caucho's LDAPAuthenticator with ActiveDirectory? Still continuing on my quest to investigate possible ActiveDirectory authentication options. Any help would be appreciated. Thanks, -a -- Très cordialement, Riccardo Cohen ligne directe : 02-47-49-63-24 --- Articque http://www.articque.com 149 av Général de Gaulle 37230 Fondettes - France tel : 02-47-49-90-49 fax : 02-47-49-91-49 ___ resin-interest mailing list resin-interest@caucho.com mailto:resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- Très cordialement, Riccardo Cohen ligne directe : 02-47-49-63-24 --- Articque http://www.articque.com 149 av Général de Gaulle 37230 Fondettes - France tel : 02-47-49-90-49 fax : 02-47-49-91-49 ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Resin service threads!
On RHEL4, you need to use the -L option of ps to see threads: ps -AL BillOn 9/29/06, Swaminathan Subramanian [EMAIL PROTECTED] wrote: Hello!I am running Resin 3.0 on Linux (RHE 4). My resin.conffor threads is as follows:thread-pool!-- Maximum number of threads.--thread-max500/thread-max !-- Minimum number of spare connectionthreads. --spare-thread-min10/spare-thread-min/thread-poolBut, when I run ps -A, I see only one resin process. Am I missing something here?Thanks in advance!-SS__Do You Yahoo!?Tired of spam?Yahoo! Mail has the best spam protection around http://mail.yahoo.com___resin-interest mailing listresin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest