views:

677

answers:

3

About once in 1 or 2 months, my 32bit CF8.01 (with cumulative hot fix 2) on Windows 2003 Server + IIS6 would somehow freeze for an unknown reason.

The Task Manager reported Jrun using ~600mb (far from the ~1.2gb limit). CPU is close to 0%.

I checked the /log, and the latest updated log doesn't have anything particularly interesting going on.

Once restarted the service, things are find again..

What would you do to investigate what's wrong?

I searched online and someone suggest it is something called a JRun dead-lock. How do I know if I'm having one of those? How to prevent such problem?

Thanks!

Update: I looked the at JRun log, and it has a lot of the follow entries:

Couldn't initialize from remote server, JRun server(s) probably down. returning error page for Connection timed out

jrISAPI could not initialize proxy for 127.0.0.1:xxxxx

jrISAPI Couldn't initialize from remote server, JRun server(s) probably down.

What's going on!?

Thanks.

+2  A: 

Have you installed the hotfix?

 JRun engineering has fixed the JRun deadlock issue with the hot fix provided below. Follow the instructions to install the hot fix :

   1. Download the hot fix JAR file (3K).
   2. Copy the JAR file into the servers\lib directory (or "servers/lib" on Unix and Linux).
   3. This hot fix is compatible with JRun4 Updater 6 (build 106363) and greater. You can verify your build number by one of the following options:
          * Open the JRun Management Console. Select Settings, then Version, to display the build number.
          * Run the following command at the command prompt:

            On Windows 2000, NT and Win9x:

            cd "{jrun-base-dir}\bin"
            jrun -info

            On Unix and Linux:

            cd $JRUN_HOME/bin
            jrun -info
drizzle
How to check thread dump?Is this hotfix suitable for CF8.01 Standard?thanks!
Henry
JRun 4 . . . what's your JRun version?
drizzle
JRun 4 built 108673.. the version that comes with CF8.01 http://kb2.adobe.com/cps/403/kb403823.html
Henry
+1  A: 

dude, upgrade your jvm first to the latest version. i know I say this ALL the time, but i can't stress this enough. updating the jvm can fix a world of errors and stability. I outlined how to do this here and provided links to the latest version for cf 8 standard.

http://stackoverflow.com/questions/798491/upgrading-the-jre-used-by-coldfusion/798852#798852

rip747
I can try that... Thanks!
Henry
A: 

You may not want to upgrade your JVM. It really depends on your application. The default JRE with cf 8.01 is Java 1.6, but we found that 1.5 operated much more efficiently for our application, which is object heavy. The Garbage Collection mechanisms were more efficient.

We had Mike Brunt come in to work on this with us, resetting the number of active threads for our system, changing the jrun memory allotment, and testing the various JVMs to see which would work better for us.

The latest JVM is supposed to be better at handling object heavy apps, but in our testing we have still found the 1.5 Garbage Collection to be better suited to our application.

Server tuning gets to be a bit of an art, and a lot of trial and error, to get your environment just right for your application.

(Thread was too long for a comment)

Steve -Cutter- Blades
i know this was the case with the default jvm that shipped with cf8, which i think was 1.6_7 or something (i could be wrong). however when 1.6_10 came out, the garbage collection was fixed as seen here:http://www.bytestopshere.com/post.cfm/using-frameworks-2-jvm-changes-to-rock-your-worldit would be interesting to see a benchmark with your app on 1.5 and the new 1.6_13
rip747