Async IO in JVM

Does Sun JVM support async IO when the OS allows it?
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)

Does Sun JVM support async IO when the OS allowsit?
Nope. It only supports non-blocking IO.Not correct. See JSR's 51 and 203; also java.nio.channels.InterruptibleChannel and java.nio.channels.spi.AbstractInterruptibleChannel

Similar Messages

  • How do I run multiple java apps in one JVM to reduce memory use?

    Hi all,
    I saw an article either on the web or in a magazine not too long ago about how to "detect" if the app is already running, and if so, it hands off the new instance to the already running JVM, which then creates a thread to run the Java app in. As it turns out, my app will be used in an ASP environment, through Citrix. We may have as many as 50 to 100 users running the same app, each with their own unique user ID, but all using the same one server to run it on. Each instance eats up 25MB of memory right now. So the question is if anybody knows of a URL or an app like this that can handle the process of running the same (or even different Java) apps in one JVM as separate threads, instead of requring several instances of the JVM to run? I know this article presented a fully working example, and I believe I know enough to do it but I wanted ot use the article as a reference to make sure it is done right. I know that each app basically would use the same one "launcher" program that would on first launch "listen" to a port, as well as send a message through the port to see if an existing launcher was running. If it does, it hands off the Java app to be run to the existing luancher application and shuts down the 2nd launching app. By using this method, the JVM eats up its normal memory, but each Java app only consumes its necessary memory as well and doesn't use up more JVM instance memory.
    Thanks.

    <pre>
    import java.util.Properties;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.lang.reflect.Method;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Enumeration;
    import java.util.NoSuchElementException;
    public class RunProg implements Runnable, Cloneable
    private String iProg;
    private String iArgs[];
    public static void main(String args[])
    new RunProg().main();
    // first step is to start main program itself
    private void main()
    Properties properties = System.getProperties();
    try
    properties.load(new FileInputStream("RunProg.properties"));
    catch(IOException e)
    System.setProperties(properties);
    int i = 0;
    System.out.println("enter main, activeCount=" + Thread.activeCount());
    while(true)
    String program = properties.getProperty("Prog" + i);
    if(program == null)
    break;
    StringTokenizer st = new StringTokenizer(program);
    String[] args = new String[st.countTokens() - 1];
    try
    RunProg rp = (RunProg)this.clone();
    rp.iProg = st.nextToken();
    for(int j = 0; st.hasMoreTokens(); j++)
         args[j] = st.nextToken();
    rp.iArgs = args;
    Thread th = new Thread(rp);
    th.setName("prog" + i + "=" + program);
    th.start();
    System.out.println("prog" + i + "=" + program + ", started");
    catch(CloneNotSupportedException e)
    System.out.println("prog" + i + "=" + program + ", can't start");
    i++;
         System.out.println("end of main, activeCount=" + Thread.activeCount());
    // next step is to start all others one by one
    public void run()
    try
    Class c = Class.forName(iProg);
    Class p[] = new Class[1];
    p[0] = String[].class;
    Method m = c.getMethod("main", p);
    Object o[] = new Object[1];
    o[0] = iArgs;
    m.invoke(null, o);
    catch(ClassNotFoundException e)
    System.out.println(iProg + "ClassNotFoundException");
    catch(NoSuchMethodException e)
    System.out.println(iProg + "NoSuchMethodException");
    catch(InvocationTargetException e)
    System.out.println(iProg + "NoSuchMethodException");
    catch(IllegalAccessException e)
    System.out.println(iProg + "NoSuchMethodException");
    System.out.println(Thread.currentThread().getName() + ", ended");
    System.out.println("exit run, activeCount=" + Thread.activeCount());
    // setup SecurityManager to disable method System.exit()
    public RunProg()
         SecurityManager sm = new mySecurityManager();
         System.setSecurityManager(sm);
    // inner-class to disable method System.exit()
    protected class mySecurityManager extends SecurityManager
         public void checkExit(int status)
              super.checkExit(status);
              Thread.currentThread().stop();
              throw new SecurityException();
    * inner-class to analyze StringTokenizer. This class is enhanced to check double Quotation marks
    protected class StringTokenizer implements Enumeration
    private int currentPosition;
    private int maxPosition;
    private String str;
    private String delimiters;
    private boolean retTokens;
    * Constructs a string tokenizer for the specified string. All
    * characters in the <code>delim</code> argument are the delimiters
    * for separating tokens.
    * <p>
    * If the <code>returnTokens</code> flag is <code>true</code>, then
    * the delimiter characters are also returned as tokens. Each
    * delimiter is returned as a string of length one. If the flag is
    * <code>false</code>, the delimiter characters are skipped and only
    * serve as separators between tokens.
    * @param str a string to be parsed.
    * @param delim the delimiters.
    * @param returnTokens flag indicating whether to return the delimiters
    * as tokens.
    public StringTokenizer(String str, String delim, boolean returnTokens)
    currentPosition = 0;
    this.str = str;
    maxPosition = str.length();
    delimiters = delim;
    retTokens = returnTokens;
    * Constructs a string tokenizer for the specified string. The
    * characters in the <code>delim</code> argument are the delimiters
    * for separating tokens. Delimiter characters themselves will not
    * be treated as tokens.
    * @param str a string to be parsed.
    * @param delim the delimiters.
    public StringTokenizer(String str, String delim)
    this(str, delim, false);
    * Constructs a string tokenizer for the specified string. The
    * tokenizer uses the default delimiter set, which is
    * <code>"&#92;t&#92;n&#92;r&#92;f"</code>: the space character, the tab
    * character, the newline character, the carriage-return character,
    * and the form-feed character. Delimiter characters themselves will
    * not be treated as tokens.
    * @param str a string to be parsed.
    public StringTokenizer(String str)
    this(str, " \t\n\r\f", false);
    * Skips delimiters.
    protected void skipDelimiters()
    while(!retTokens &&
    (currentPosition < maxPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) >= 0))
    currentPosition++;
    * Tests if there are more tokens available from this tokenizer's string.
    * If this method returns <tt>true</tt>, then a subsequent call to
    * <tt>nextToken</tt> with no argument will successfully return a token.
    * @return <code>true</code> if and only if there is at least one token
    * in the string after the current position; <code>false</code>
    * otherwise.
    public boolean hasMoreTokens()
    skipDelimiters();
    return(currentPosition < maxPosition);
    * Returns the next token from this string tokenizer.
    * @return the next token from this string tokenizer.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    public String nextToken()
    skipDelimiters();
    if(currentPosition >= maxPosition)
    throw new NoSuchElementException();
    int start = currentPosition;
    boolean inQuotation = false;
    while((currentPosition < maxPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) < 0 || inQuotation))
    if(str.charAt(currentPosition) == '"')
    inQuotation = !inQuotation;
    currentPosition++;
    if(retTokens && (start == currentPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) >= 0))
    currentPosition++;
    String s = str.substring(start, currentPosition);
    if(s.charAt(0) == '"')
    s = s.substring(1);
    if(s.charAt(s.length() - 1) == '"')
    s = s.substring(0, s.length() - 1);
    return s;
    * Returns the next token in this string tokenizer's string. First,
    * the set of characters considered to be delimiters by this
    * <tt>StringTokenizer</tt> object is changed to be the characters in
    * the string <tt>delim</tt>. Then the next token in the string
    * after the current position is returned. The current position is
    * advanced beyond the recognized token. The new delimiter set
    * remains the default after this call.
    * @param delim the new delimiters.
    * @return the next token, after switching to the new delimiter set.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    public String nextToken(String delim)
    delimiters = delim;
    return nextToken();
    * Returns the same value as the <code>hasMoreTokens</code>
    * method. It exists so that this class can implement the
    * <code>Enumeration</code> interface.
    * @return <code>true</code> if there are more tokens;
    * <code>false</code> otherwise.
    * @see java.util.Enumeration
    * @see java.util.StringTokenizer#hasMoreTokens()
    public boolean hasMoreElements()
    return hasMoreTokens();
    * Returns the same value as the <code>nextToken</code> method,
    * except that its declared return value is <code>Object</code> rather than
    * <code>String</code>. It exists so that this class can implement the
    * <code>Enumeration</code> interface.
    * @return the next token in the string.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    * @see java.util.Enumeration
    * @see java.util.StringTokenizer#nextToken()
    public Object nextElement()
    return nextToken();
    * Calculates the number of times that this tokenizer's
    * <code>nextToken</code> method can be called before it generates an
    * exception. The current position is not advanced.
    * @return the number of tokens remaining in the string using the current
    * delimiter set.
    * @see java.util.StringTokenizer#nextToken()
    public int countTokens()
    int count = 0;
    int currpos = currentPosition;
    while(currpos < maxPosition)
    * This is just skipDelimiters(); but it does not affect
    * currentPosition.
    while(!retTokens &&
    (currpos < maxPosition) &&
    (delimiters.indexOf(str.charAt(currpos)) >= 0))
    currpos++;
    if(currpos >= maxPosition)
    break;
    int start = currpos;
    boolean inQuotation = false;
    while((currpos < maxPosition) &&
    (delimiters.indexOf(str.charAt(currpos)) < 0 || inQuotation))
    if(str.charAt(currpos) == '"')
    inQuotation = !inQuotation;
    currpos++;
    if(retTokens && (start == currpos) &&
    (delimiters.indexOf(str.charAt(currpos)) >= 0))
    currpos++;
    count++;
    return count;
    </pre>
    RunProg.properties like this:
    Prog1=GetEnv 47838 837489 892374 839274
    Prog0=GetEnv "djkfds dfkljsd" dsklfj

  • Communication between multiple JVMs

    We have a Java toolkit that is shipped as a JAR file. The toolkit is ported from a C++ DLL running on Windows. Therefore, in both instances (Java and C++), we can't control who loads us or when.
    I need to communicate between different JVMs running on the same machine. The communication is very simple: "Is this user logged on in your JVM?" I send a string to the other JVM and I get back a boolean. I don't need to worry about crossing machine boundaries. Also, I'm not expecting to have a huge number of JVMs running. Maybe 3 or 4 could be likely. However, the solution does need to scale in case there are more than that. I'm not setting a limit on the number of JVMs either.
    The C++ code handled this situation very easily and elegantly. It created a named system semaphore (mutex) whenever a user logged on. The name of the mutex was the username. So, if there were multiple instances of the DLL running in separate processes (EXEs), we could easily tell if this user was logged on in another instance. We'd try to create the system semaphore - it would fail saying the name already exists. Therefore, we'd know the user was already logged on. The named system semaphore provided the means for a machine-global list - which is exactly what we wanted. It also had this extra benefit: if the process terminates normally or abnormally, the system semaphore is removed from memory. This means: the application is terminated, the user is no longer logged on, and we can relog this user on.
    Therefore, I have 2 requirements:
    1) A machine-global list where we can place a string. Keep in mind, it doesn't absolutely have to be a machine-global list. A suitable means to talk to other JVMs is acceptable too.
    2) If the process exits normally or abnormally, the string(s) get removed (for this JVM) from the list. Abnormal termination is the more important one to focus on because lots of people of varying skill levels use our toolkit. Abnormal terminations can be common.
    The first thought is to store these in a file. That solves #1, but not #2. I've seen the JIPC package. However, I'm not too crazy about requiring 3rd party developers to start up another program (JIPC) before they start up their application. As I said, we're just a toolkit so we can't control when or who loads us. It's not totally out of the question, but I'd prefer something else.
    I have a fairly involved solution that involves sockets. The first JVM creates a ServerSocket on a specific port and becomes the server. Subsequent JVMs also try to create the ServerSocket on the same port. They get a BindException because the ServerSocket already exists, so they know they're clients. Then, they create a client socket and talk to the server that way. This gets a little hairy when the server goes away. The clients will scramble to become the server and then all the other clients need to reconnect to the new server.
    This proposed solution sounds like it will address both requirements. However, I'm looking for something simpler. I'm asking this forum for help in case there's an easier way to do this. I don't have the breadth of experience with Java yet to know if there's a simpler way to fix this. If I have to go with the socket solution, I will. I just didn't want to overlook something simple that is already built into Java.
    Thanks for any tips or suggestions

    Thanks for the response.
    FileLock. We still have to target JDK 1.3 so we can't use FileLocks (at this point)
    JNI: That's an interesting idea. I suspect many people are using our software on Windows. Therefore, we could probably fix it in Windows the same as in the C++ code. If they're not on Windows, we could use the Sockets approach.
    I also had another idea: how about hashing the username string into some integer (or long) value. Then use the hashed value to lock some other resource: like the port number passed to ServerSocket. I know ServerSocket only accepts 0 - 0xFFFF so this obviously won't work. But is there some other system-wide thing we could lock given an integral value?

  • MochiKit.Async.XMLHttpRequestError Error while invoking a hyperlink

    Hi,
    I have a report , which has a sub report embedded in it . IN the sub report, there is a filed, that has a hyper link. The hyperlinks is  this
    "https://myserver.com/myportal/generateDocument?reportLink=true&filePath=" + CurrentFieldValue
    and when I hover the mouse over the field, the console shows up
    javascript.parent.bobj.event.publish('hyperlinked','MyReport','urs=https%3A%2F%2Fmyserver.com%2Fportal%2FgenerateDocument%3FreportLink%3Dtrue%26filePath%3DNTkxNA%3D%3D&target=_self')
    When I click on the link, the error message pops up
    Unable to process your request
    message: Request failed
    number: 0
    name: MochiKit.Async.XMLHttpRequestError
    but , the document opens .It is a pdf document , which is suppose to be opened, and it opens up. But I get the error message.
    Any clues how to suppress the error message pop-up window ?
    Thanks

    Try this,
    Do not launch the sub-report from the main report, rather open the sub report by itself from infoview and try to perform the action. I assume something may be happening in the Opendoc. if you can narrow it down to opendoc, then you can work on how you need to build the opendoc URL.
    Just need to do the natural troubleshooting.
    try to open the sub report in Webi righ client and publish it back, see if it fixes anything. I googled and found something about post back issues and that seems to be a problem. There are a few links on good when i searched using "MochiKit.Async.XMLHttpRequestError", they should help you or at the least give you a direction.

  • Several JVM s with RMI?

    Hi,
    As you can guess, my Java program needs more and more memory as users connections grow.
    We are of course trying to optimize the way it’s running but looks like we will anyway soon need to increase ressources of our JVM.
    We first thought to increase memory heap but there is a limit, on any 32 bit system 4Go seems the theoretical maximum ram size. And we have to keep a 32 bit JVM, can’t change this.
    Here is our next idea: we would like to run our program on several JVMs.
    Two options came then, and so here are my question: (maybe irrelevant for experts but I am a beginner regarding distributed architecture, so feel free to give me some reference to learn about it…)
    -First option: several 32 bit JVMs running together on one 64bits machine
    Is it possible to run several 32 bit JVM (jre 1.5) on a windows (or linux) 64 bits machine? So that we could ‘share’ the system (big) ram between each of them.
    Is there, in this case, a limit for the memory heap per JVM?
    What would be in this case the best way to communicate between jvms (I m thinking about RMI, but is it the only way to?)
    -Second option: run several 32bits JVM on several 32 bits machine.
    Questions are the same here:
    is it possible? I guess so, and would it be worse or better from a performance/learning time point of view, compare to option 1?
    Is RMI the best way here to make the several jvm communicate?
    Hope this is clear, english is not my first language so feel free to ask me any precision…
    Thank you very much for any help or reference.
    Jipe

    Multiple JVMs dont have any inherent special behavior on the same maching. However, you must consider the shared resources of that machine such as ports and files that may be contended for.
    The only advantage of multiple JVMs of single JVMs is an OS one. The JVMs are separate processes and as such if one crashes it will not bring the other down.
    If you want to transfer user sessions from one JVM to another, no matter if on the same computer or not, you will need an architecture to support this. That is where application servers come in. Some of them will allow you to do this. So if you design your product to run in an application server, you have a lot of room to expand. That is really the benefit of designing for an application server.
    The details of a shared session are likely very complicated. You will have to ask the application server folks about that. Maybe go over to the JBoss forums.

  • In BPM sync/async Step , can you have different message schema?

    Scenario:
    File to XI to BPM to SOAP to RFC
    In order to trigger the  webservice , I use  a dummy file which will be polled at a certain frequency- once in 30 minutes in Test mode - this will call the Webservice. The answer of webservice is sent to RFC Async.
    so these  are the Repository objects I created :
    1. File  Outbound Async Message Interface- Output Message (File_Request_MT)
    2.File Abstract Message Interface-Output Message (File_Request_MT)
    3.Async/ sync bridge Abstract interface to call the Webservice
    4 Webservice Inbound Sync Message interface-  with both input and output message
    5.RFC Inbound Async message interface- input message (RFC_Request)
    6 RFC Abstract Async Message interface-input message (RFC_Request)
    BPM
    a) Receive step  which uses the  the object 2.
    b) Sync send which uses object 3
    c) Send  step which uses Object 5
    I am using a BPM to Receive the file data/ "request " by using the File abstract message interface
    Then use the  the object  3 to call the webservice in BPM .
    My question is on this step
    Can I have for  the abstract Interface(Object 3) the Request message  as  File_Request_MT and
    response message as (RFC_Request) ?
    I  use a message mapping  to map Input and Ouput message of Object 3 with Object 4.
    Thanks for  your insight

    Raj,
    Thanks for the feedback , but I have  a question regarding your reply
    Interface Objects
    Object 1: File_Request_Abs
    Object 2: Soap_Response_Abs
    Object 3:Soap_Abs_Synch
    Output Message:File_Request_Abs
    Input Message:Soap_Response_Abs
    Object 4:Rfc_Request_Abs
    The question is  about
    a)SOAP_RESPONSE_ABS : could you please tell me why  do we need an abstract interface -SOAP_RESPONSE_ABS?
    I created a message type MT_SOAP_RESPONSE and used that in the BPM sync Send step as the Input message.
    b)Soap_Abs_Synch- I am using message types
    MT_File_request and MT_SOAP_Response From your reponse, it looks like you are suggesting to use
    Abstract Interfaces as Output message and Input Message, am I correct? Could you please tell me whether this has advantages over using message types MT_file_request and MT_soap_reponse? I haven't used Abstract interfaces  before as Input message and output message; infact, I wasn't even aware that it can be. Please confirm that it is possible. Thank you for increasing my knowledge !!!
    These are the Objects I created
    Message Type :
    a) MT_Filerequest
    b) MT_SOAPresponse
    Message Interface
    a)MI_Filerequest_out_async -
    Output message
    Mess. type MT_filerequst
    b)MI_filerequest_async_abs-
    Mess. type MT_filerequst 
    Used
    i) used for BPM receiver step- container definition
    ii) receiver determination
    c)MI_webservice_sync_in - This is created from External definition
    d)MI_webservice_sync_abs- 
    Input message  - MT_soapresponse
    Output message- MT_fierequest
    Used:
    i) used for BPM sync send step ,
    ii)Interface mapping between  MI_Webservice_sync_in and MI_webservice_sync_abs
    iii)Container element-SOAP_response
    e) MI_RFC_async_out
    Input message
    RFC_Request(This is imported from RFC definition)
    g) MI_RFC_async_abs
    Input message
    RFC_Request(This is imported from RFC definition)
    Mapping
    Message mapping
    i)Filerequest_TO_SOAPrequest
    Source: MT_Filerequest
    Target: SOAPrequest(Got from External definition)
    ii)SOAPresponse_TO_BPM_response
      Source : SOAPresponse(got from External definition)
    Target :   MT_SOAPresponse
    Interface Mapping
    i)IM_BPM_TO_SOAP
    Source Interface : MI_webservice_sync_abs
    Target :MI_webservice_sync_in
    uses following message mapping
    Request : filerequest_TO_SOAPrequest
    Response:SOAPresponse_TO_BPM_response
    BPM container element
    i)Receiver_container  TYPE MI_Filerequest_out_async
    ii)SOAP Responsecontainer TYPE MI_webservice_sync_abs
    iii)RFC_Request_container TYPE MI_RFC_async_abs
    BPM  flow
    Receive---->Send Synch-->Transformation----->Send Asynch
    Receive -
    > receiver_container
    Send Synch -
    > receiver_container(Request Message), Soap_response_container(Response Message)
    Transformation -
    > Source(Soap_response_container), Target(RFC_request_container)
    Send Asynch -
    > RFC_request_container
    Thanks for your help!!!

  • Unable to capture in Async Hot Log

    Hi,
    I am unable to get the changes captured in async hot log mode of operation. Have verified that DB is in archivelog mode and am able to create change tables, but changes in the source table are not getting propagated. Is it due to logs not getting picked up from the proper place.
    my change_sources view has empty values in all the fields except source_type, source_description and created.
    would appreciate any pointers for what may be missing..or how to go about identifying the problem.
    Thanks,
    RK

    Thank you Patrick. You have helped me before, so thanks again.
    I do not have anything else connected to the firewire ports. I have an external hard drive, but I have tried to capture with and without the hard drive attached. I did recently back up using Carbon Copy Cloner to another hard drive, if anyone thinks this may be the issue.
    I can't recall the exact error message in FCP (I have deleted the program trying to fix the issue, and focus on the capture problem in Quicktime thinking that if Quicktime and iMovie both don't capture, that the problem is not with FCP, but either with the OS or the back end of QT) I can re-install FCP to give you the exact FCP error message if you would like me too. Ie, if the exact error message is necessary.
    Thanks again for your response.

  • Hotspot core dumping during JVM garbage collection ?

    We have an application which calls a 3rd party supplied server API which has recently been upgraded to use Java 1.5
    We are getting the following error reported by our client application. The application is also now running Java 1.5 but references many classes in jar files which would have quite old code in.
    The supplier of the API has stated that the problem requires us to recompile all our jar files using v 1.5 ( including things like jconnect and jms ?!?!? ). This sounds like a bit of a cop-out to me, not to mention being impossible since we don't have the source for things like jconnect.
    I suspect that there is a garbage collection problem at the bottom of all this, but I'm not sure how I can "prove" this, nor do I currently have any real clue as to how to fix any GC problem that may exist.
    The application is supposed to wait for a message on a MQSeries queue and then transforms it via Xalan XSLT and sends it to a Server application. I've tried playing around with heap sizes etc but that just seems to make it worse. If I leave it at the settings that the previous version used then the client at least manages to process a couple of messages before core dumping. There doesn't seem to be a consistent trigger event to cause the core dump ( it's not a message arriving on a queue for example ) but it does seem to be fairly consistent timewise, i.e. after
    Any ideas gratefully accepted.
    Here's a logfile excerpt from my applications showing the Hotspot error message :
    =====================================================================================
    08-Jul-2008 10:01:05 Waiting for messages from COLT.BBFS
    08-Jul-2008 10:02:05 Waiting for messages from COLT.BBFS
    08-Jul-2008 10:03:05 Waiting for messages from COLT.BBFS
    405.815: [GC [PSYoungGen: 17331K->9244K(37632K)] 111702K->103615K(192128K), 0.1615910 secs]
    405.977: [Full GC#
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #  SIGBUS (0xa) at pc=0xfe141348, pid=2600, tid=8
    # Java VM: Java HotSpot(TM) Server VM (1.5.0_03-b07 mixed mode)
    # Problematic frame:
    # V  [libjvm.so+0x141348]
    # An error report file with more information is saved as hs_err_pid2600.log
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    =====================================================================================
    The logfile referred to in the error message contains the following.
    =====================================================================================
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # SIGBUS (0xa) at pc=0xfe141348, pid=2600, tid=8
    # Java VM: Java HotSpot(TM) Server VM (1.5.0_03-b07 mixed mode)
    # Problematic frame:
    # V [libjvm.so+0x141348]
    --------------- T H R E A D ---------------
    Current thread (0x001484d8): VMThread [id=8]
    siginfo:si_signo=10, si_errno=0, si_code=1, si_addr=0x0000080f
    Registers:
    O0=0x00487588 O1=0xfe7d6454 O2=0x000079b0 O3=0x00007800
    O4=0x00008868 O5=0x00147d48 O6=0xf8781460 O7=0xfe0f7938
    G1=0xe52aaae8 G2=0x00000003 G3=0x00000003 G4=0x001484d8
    G5=0xf8781d98 G6=0x00000002 G7=0xf8781d98 Y=0x805683e2
    PC=0xfe141348 nPC=0xfe14134c
    Top of Stack: (sp=0xf8781460)
    0xf8781460: fe786000 00c6ba20 fe10013c e54bab68
    0xf8781470: 0000080f e54bab6c 0000080f 00000004
    0xf8781480: 00487588 00000134 e54bab6c 00000004
    0xf8781490: 00000001 00000000 f87814c0 fe17aef4
    0xf87814a0: fe6485b4 fe7d899c 001484d8 0011da40
    0xf87814b0: 00148988 00148c10 00148d7c f8781880
    0xf87814c0: 007c3389 007c3c0e 00000f87 00008868
    0xf87814d0: 00008800 00487588 fe141310 fe7d6454
    Instructions: (pc=0xfe141348)
    0xfe141338: ec 06 c0 1a 80 a5 a0 00 22 40 00 0a ba 07 60 01
    0xfe141348: f2 05 a0 00 ae 0e 60 03 80 a5 e0 03 22 40 00 05
    Stack: [0xf8702000,0xf8781d98), sp=0xf8781460, free space=509k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V [libjvm.so+0x141348]
    V [libjvm.so+0x17aefc]
    V [libjvm.so+0x2d557c]
    V [libjvm.so+0x300ef8]
    V [libjvm.so+0x301e84]
    V [libjvm.so+0x2ff950]
    V [libjvm.so+0x29df30]
    V [libjvm.so+0x362b44]
    V [libjvm.so+0x6436f0]
    VM_Operation (0xe03012b0): parallel gc system gc, mode: safepoint, requested by thread 0x0031bca0
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x00b2c028 JavaThread "Thread-4" [_thread_in_native, id=85]
    0x007f5048 JavaThread "Thread-0" [_thread_blocked, id=84]
    0x00c27cf0 JavaThread "Notification Delivery" [_thread_blocked, id=81]
    0x0026fa08 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=73]
    0x00821048 JavaThread "RMI RenewClean-[162.11.2.32:44425]" daemon [_thread_blocked, id=70]
    0x0031bca0 JavaThread "GC Daemon" daemon [_thread_blocked, id=67]
    0x00cd5d28 JavaThread "RMI Reaper" [_thread_blocked, id=66]
    0x003c9300 JavaThread "Timer-0" daemon [_thread_blocked, id=65]
    0x00929fe0 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=64]
    0x0089bf18 JavaThread "SeedGenerator Thread" daemon [_thread_blocked, id=42]
    0x00c47248 JavaThread "Pool thread #7" daemon [_thread_blocked, id=38]
    0x00c466a0 JavaThread "Pool thread #6" daemon [_thread_blocked, id=37]
    0x00311850 JavaThread "Pool thread #5" daemon [_thread_blocked, id=36]
    0x00287a40 JavaThread "Pool thread #4" daemon [_thread_blocked, id=35]
    0x00286e98 JavaThread "Pool thread #3" daemon [_thread_blocked, id=34]
    0x00c134b0 JavaThread "Pool thread #2" daemon [_thread_blocked, id=33]
    0x00ad09e0 JavaThread "Pool thread #1" daemon [_thread_blocked, id=32]
    0x00286cd8 JavaThread "PoolThreadManager" daemon [_thread_blocked, id=31]
    0x00c129e0 JavaThread "Channel Reaper" daemon [_thread_blocked, id=30]
    0x00c669e8 JavaThread "ORB Daemon Thread" daemon [_thread_blocked, id=29]
    0x00b10170 JavaThread "Worker for ServerProtocol: (iiop) /0.0.0.0:20168" daemon [_thread_blocked, id=22]
    0x008a17e0 JavaThread "Syn~ Client" daemon [_thread_blocked, id=21]
    0x003dc378 JavaThread "PoolScavenger0" daemon [_thread_blocked, id=20]
    0x0015a928 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=15]
    0x00159880 JavaThread "CompilerThread1" daemon [_thread_blocked, id=14]
    0x00158a18 JavaThread "CompilerThread0" daemon [_thread_blocked, id=13]
    0x00157b98 JavaThread "AdapterThread" daemon [_thread_blocked, id=12]
    0x00156dc8 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=11]
    0x0014ccd8 JavaThread "Finalizer" daemon [_thread_blocked, id=10]
    0x0014ad90 JavaThread "Reference Handler" daemon [_thread_blocked, id=9]
    0x00038238 JavaThread "main" [_thread_in_native, id=1]
    Other Threads:
    =>0x001484d8 VMThread [id=8]
    0x0015c3b0 WatcherThread [id=16]
    VM state:at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
    [0x00037728/0x00037758] Threads_lock - owner thread: 0x001484d8
    [0x00033650/0x00037ba8] Heap_lock - owner thread: 0x0031bca0
    Heap
    PSYoungGen total 37632K, used 9244K [0xf2eb0000, 0xf7ba0000, 0xf8400000)
    eden space 28352K, 0% used [0xf2eb0000,0xf2eb0000,0xf4a60000)
    from space 9280K, 99% used [0xf4a60000,0xf5367080,0xf5370000)
    to space 25216K, 0% used [0xf6300000,0xf6300000,0xf7ba0000)
    PSOldGen total 154496K, used 94371K [0xe8400000, 0xf1ae0000, 0xf2eb0000)
    object space 154496K, 61% used [0xe8400000,0xee028e78,0xf1ae0000)
    PSPermGen total 35584K, used 18260K [0xe4400000, 0xe66c0000, 0xe8400000)
    object space 35584K, 51% used [0xe4400000,0xe55d5158,0xe66c0000)
    Dynamic libraries:
    0x00010000      /dsdvlp/java/jvm/jdk1.5.0_03/bin/java
    0xff350000      /usr/lib/libthread.so.1
    0xff340000      /usr/lib/libdl.so.1
    0xff200000      /usr/lib/libc.so.1
    0xff390000      /usr/platform/SUNW,Sun-Fire-880/lib/libc_psr.so.1
    0xfe000000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/server/libjvm.so
    0xff1e0000      /usr/lib/libsocket.so.1
    0xff2d0000      /usr/lib/libsched.so.1
    0xff1b0000      /usr/lib/libCrun.so.1
    0xff160000      /usr/lib/libm.so.1
    0xff080000      /usr/lib/libnsl.so.1
    0xff060000      /usr/lib/libmp.so.2
    0xff030000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/native_threads/libhpi.so
    0xfdfc0000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libverify.so
    0xfdf80000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libjava.so
    0xfdf50000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libzip.so
    0xfb7e0000      /usr/lib/locale/en_GB.ISO8859-1/en_GB.ISO8859-1.so.2
    0xe4190000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libnet.so
    0xe3bd0000      /dsdvlp/lib/5/libSolarisNatives.so
    0xe3e90000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/librmi.so
    VM Arguments:
    jvm_args: -Djava.ext.dirs=/dsdvlp/java/tmijar/firs7/lib/cli:/dsdvlp/java/tmijar/firs7/lib/cli/ext:/dsdvlp/java/tmijar/firs7/lib/cmn/OpenORB:/dsdvlp/java/tmijar/firs7/lib/cmn/OpenORB/ext:/dsdvlp/java/tmijar/firs7/lib/cmn:/dsdvlp/java/tmijar/firs7/lib/cmn/ext:/dsdvlp/java/tmijar/firs7/daemonlib -Duser.dir=/dsdvlp/java/tmijar/firs7 -Dopenorb.config=file:/dsdvlp/java/tmijar/firs7/configs/OpenORB/config/SynOpenORB.xml -Dopenorb.home=file:/dsdvlp/java/tmijar/firs7/configs/OpenORB -Dcom.coexis.syn.general.orbbinding=com.coexis.syn.general.orbbinding.openorb.OpenORBBinding_1_4 -Dsun.rmi.dgc.client.gcInterval=360000 -Dsun.rmi.dgc.server.gcInterval=360000000 -Xms32m -Xmx256m -Dcom.coexis.syn.clientcommandsconfiglocation=file://localhost//dsdvlp/java/tmijar/firs7/configs/clientcommands.xml -Dcom.coexis.syn.clientconfiglocation=file://localhost//dsdvlp/java/tmijar/firs7/configs/fsbbtd_client.xml -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
    java_command: com.coexis.syn.mqmessaging.daemon.RunDaemon -p /dsdvlp/bin/5/lndsfsd_fsbbtd.properties start
    Environment Variables:
    JAVA_HOME=/dsdvlp/java/jvm/jdk150
    CLASSPATH=.:/dsdvlp/java/jar/jconnect520.jar:/dsdvlp/java/jar/vbjapp340.jar:/dsdvlp/java/jar/vbjorb340.jar:/dsdvlp/java/jar/javax_jndi120.jar
    PATH=/usr/local/etc:/usr/lang:/usr/openwin/bin:/usr/ucb:/bin:/usr/etc:/usr/local/5/bin:/dsdvlp/bin/5:/dsdvlp/bin/4:/home/app/sybase/5/bin:/home/app/sybase/5/localscripts:/home/app/sybase/5/sqr:/home/app/lang:/home/app/lang/SC2.0.1:/usr/ccs/bin:/usr/local/opt/Acrobat3/bin:/dsdvlp/bin:.
    LD_LIBRARY_PATH=/dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/server:/dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc:/dsdvlp/java/jvm/jdk1.5.0_03/jre/../lib/sparc:/usr/lib:/usr/openwin/lib:/usr/local/5/lib:/dsdvlp/lib/5:/dstest/lib/5:/home/app/sybase/5/lib:/dstest/cats/sun4/lib:/tmitest/Opus/opus/lib
    SHELL=/bin/csh
    DISPLAY=CLI00184.mfil.local:1.0
    OS=5
    --------------- S Y S T E M ---------------
    OS: Solaris 8 2/02 s28s_u7wos_08a SPARC
    Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
    Assembled 18 December 2001
    uname:SunOS 5.8 Generic_117350-20 sun4u (T1 libthread)
    rlimit: STACK 8192k, CORE 9216k, NOFILE 4096, AS infinity
    load average:2.24 2.67 2.68
    CPU:total 4 has_v8, has_v9, has_vis1, has_vis2, is_ultra3
    Memory: 8k page, physical 8388608k(166384k free)
    vm_info: Java HotSpot(TM) Server VM (1.5.0_03-b07) for solaris-sparc, built on Apr 13 2005 03:31:26 by unknown with unknown Workshop:0x550

    The very first suggestion I have is to move your VM to a more recent update of 1.5.0.
    It looks like you are crashing with 5.0u3, and I'm pretty sure 5.0u16 is available. You
    don't want to waste your time chasing a bug that's already been fixed.

  • LDAP or JNDI Synchronization Across JVMs?

    I need to perform an atomic operation (get & set) in
    LDAP that is synchronized between multiple
    applications (i.e. across JVMs).
    Is that possible using iDS 4.x or 5.x?
    Does iDS implementation of JNDI/LDAP API provide a
    global lock mechanism (I know that this feature is not
    supported in the API)?
    Here is my actual problem. I need to generate a unique
    id of type "long". This id should be unique across
    several Java applications. I would like to store this
    id in LDAP.
    Any help is appreciated.
    Thanks, Shahriar

    There is no such locking mechanism. Is there a reason the unique id has to be type long? If not, then how about using a UUID? If it needs to be long, perhaps apportioning the number space between applications would work for you.

  • Printing report that has a parameter with multiple values crashes jvm

    I am using BOE XI 4.0 as an unmanaged RAS.
    I am able to preview a report that has a string discrete parameter that can have multiple values.  If I give it a single value.  It previews fine.  If I give it an empty string it prints all values which is fine.  If I give it two discrete values, it displays just those two.
    However, if I try printing the report to a printer:
    1 parameter value - prints fine.
    2 parameter values - crashes jvm
    empty string parameter value - crashes jvm
    I would appreciate some direction on how to do this.  It works in crystal reports for eclipse.
    The test jsp I am using is based off of the samples.  The print test jsp is the same as the preview test with the exception of the following code differences.:
    preview report.jsp code
    // Create a Viewer object
    CrystalReportViewer viewer = new CrystalReportViewer();
    // Set the report source for the  viewer to the ReportClientDocument's report source
    viewer.setReportSource(clientDoc.getReportSource());
    // Process the http request to view the report
    viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), out);
    // Dispose of the viewer object
    viewer.dispose();
    print report jsp code
      PrintReportOptions printOptions = new PrintReportOptions();
      printOptions.setPrinterName("DELL");
      try {
          clientDoc.getPrintOutputController().printReport(printOptions);
      } catch (ReportSDKException ex1) {
          System.out.println("Message - " + ex1.getLocalizedMessage());
      } catch (Exception ex2) {
          System.out.println("Message - " + ex2.getLocalizedMessage());
      clientDoc.close();

    I am using BOE XI 4.0 as an unmanaged RAS.
    I am able to preview a report that has a string discrete parameter that can have multiple values.  If I give it a single value.  It previews fine.  If I give it an empty string it prints all values which is fine.  If I give it two discrete values, it displays just those two.
    However, if I try printing the report to a printer:
    1 parameter value - prints fine.
    2 parameter values - crashes jvm
    empty string parameter value - crashes jvm
    I would appreciate some direction on how to do this.  It works in crystal reports for eclipse.
    The test jsp I am using is based off of the samples.  The print test jsp is the same as the preview test with the exception of the following code differences.:
    preview report.jsp code
    // Create a Viewer object
    CrystalReportViewer viewer = new CrystalReportViewer();
    // Set the report source for the  viewer to the ReportClientDocument's report source
    viewer.setReportSource(clientDoc.getReportSource());
    // Process the http request to view the report
    viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), out);
    // Dispose of the viewer object
    viewer.dispose();
    print report jsp code
      PrintReportOptions printOptions = new PrintReportOptions();
      printOptions.setPrinterName("DELL");
      try {
          clientDoc.getPrintOutputController().printReport(printOptions);
      } catch (ReportSDKException ex1) {
          System.out.println("Message - " + ex1.getLocalizedMessage());
      } catch (Exception ex2) {
          System.out.println("Message - " + ex2.getLocalizedMessage());
      clientDoc.close();

  • On HP-UX 11g rac cluvfy tool failed with "/dev/async"  (incorrect setting for minor number.)

    Hi ,
    We are planing to upgrade our 10g R2 CRS to 11g R2 CRS on HP-UX server ,while running cluvfy tool we are getting the below error.Please help me to fix this issue.
    Checking settings of device file "/dev/async"
      Node Name     Available                 Comment
      erpdev04      yes                       failed (incorrect setting for minor number.)
      erpdev03      yes                       failed (incorrect setting for minor number.)
    Result: Check for settings of device file "/dev/async" failed.
    Pre-check for cluster services setup was unsuccessful on all the nodes.
    oracle.oracle.erpdev03.fwprod_app1> (/app/oracle/oracle_source/patches/bin)

    # /sbin/mknod /dev/async c 101 0x104

  • What is the diffrence between java run time env and JVM ?

    I wrote an applet on computer that installed run time env J2SE 1.4 that is running ok.
    when i try to run the applet on diffrent mechine that has earlier version my applet didn't run ok.
    Isn't enught just to install JVM ?

    The target mechine requirements should be more then
    only JVM installed ?
    do I have to ask for updated Run Time Env installed
    also ?Yes, you have to. If your program has been developed taking advantage of a certain version of the JRE, then all people using your program must have at least that version of the JRE.

  • Can I have two or more JVMs in one mashin and switch between them?

    Hi all,
    I want to have two JVMs in one mashin and switch between them via a httpListener. If I can, could you please guide me to do it?
    Thanks in advance,
    Orod Semsarzadeh

    may be my question is not fully clear. I mean, I want to have an bottun in my JSP when I click on it, 1 thread will be created and work in another JVM.

  • JVM Crash: ConcMarkSweepGC related?

    We're experiencing the following JVM crash approximately 2-5 times per day on a well traffic application server running Tomcat 5.5 under Java 1.5 (05) on Linux with a 2.4.21-37 kernel. I'm posting here because we kind of have no route to take: I can't seem to work around the crash in any way. There's a potential that UseParallelGC might fix this, but I'm unable to run the app reliably with a ParallelGC, as we have a very large cache and the Full GC's get unbelievably long (2GB heap).
    How can we find out what's going on? Is there a way to obtain a debug build so that:
    V [libjvm.so+0x4c2c53]
    V [libjvm.so+0x1bea7c]
    We're also seeing this in the standard output:
    An exception occurred on the SessionReaperDaemon[null, 2005-11-01 20:02:14.81] thread while processing (task="com.tangosol.coherence.servlet.SessionHelper$SessionReaperDaemon$IncrementalReapTask@1ba4ac8"):
    java.lang.NullPointerException
         at com.tangosol.coherence.servlet.SessionHelper$SessionReaperDaemon$IncrementalReapTask.run(SessionHelper.java:3072)
         at com.tangosol.util.TaskDaemon.run(TaskDaemon.java:69)
         at com.tangosol.coherence.servlet.SessionHelper$SessionReaperDaemon.run(SessionHelper.java:2709)
         at com.tangosol.util.Daemon$1.run(Daemon.java:63)
    Prior to the crash, but this is an impossible place for an exception:
    3070: if (iter.hasNext())
    3071: {
    3072: String sId = (String) iter.next();3073: ...
    Any help or next steps would be greatly appreciated.
    An attached dump:
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # Internal Error (4E4D4554484F440E4350500521), pid=1705, tid=907377584
    # Java VM: Java HotSpot(TM) Server VM (1.5.0_05-b05 mixed mode)
    --------------- T H R E A D ---------------
    Current thread (0x36bc7068): JavaThread "SessionReaperDaemon[null, 2005-11-01 22:38:23.388]" daemon [_thread_in_Java, id=1739]
    Stack: [0x360d7000,0x36158000), sp=0x36156eec, free space=511k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V [libjvm.so+0x4c2c53]
    V [libjvm.so+0x1bea7c]
    V [libjvm.so+0x3e2bee]
    V [libjvm.so+0x4564cb]
    V [libjvm.so+0x3f8956]
    V [libjvm.so+0x3f5c64]
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x0894eba0 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=4871]
    0x0864ea88 JavaThread "RMI TCP Connection(341)-192.168.100.62" daemon [_thread_in_native, id=4802]
    0x083e6568 JavaThread "http-80-Processor300" daemon [_thread_in_native, id=4708]
    0x08d4e058 JavaThread "http-80-Processor299" daemon [_thread_in_native, id=4707]
    0x08bc7c20 JavaThread "http-80-Processor298" daemon [_thread_blocked, id=4706]
    0x0845fd78 JavaThread "http-80-Processor297" daemon [_thread_in_native, id=4705]
    0x08e39330 JavaThread "http-80-Processor296" daemon [_thread_in_native, id=4704]
    0x08bceb30 JavaThread "http-80-Processor295" daemon [_thread_blocked, id=4703]
    0x08bb9de8 JavaThread "http-80-Processor294" daemon [_thread_in_native, id=4702]
    0x08b692d0 JavaThread "http-80-Processor293" daemon [_thread_in_native, id=4701]
    0x084fa8e0 JavaThread "http-80-Processor292" daemon [_thread_in_native, id=4700]
    0x08446908 JavaThread "http-80-Processor291" daemon [_thread_blocked, id=4699]
    0x08e4c4c0 JavaThread "http-80-Processor290" daemon [_thread_in_native, id=4698]
    0x08625e60 JavaThread "http-80-Processor289" daemon [_thread_blocked, id=4697]
    0x0843d5b8 JavaThread "http-80-Processor288" daemon [_thread_in_native, id=4696]
    0x08ca13b8 JavaThread "http-80-Processor287" daemon [_thread_in_native, id=4695]
    0x08395e00 JavaThread "http-80-Processor286" daemon [_thread_in_native, id=4694]
    0x084c8f28 JavaThread "http-80-Processor285" daemon [_thread_in_native, id=4693]
    0x083f6490 JavaThread "http-80-Processor284" daemon [_thread_in_native, id=4692]
    0x08e69368 JavaThread "http-80-Processor281" daemon [_thread_blocked, id=4689]
    0x08df8218 JavaThread "http-80-Processor280" daemon [_thread_blocked, id=4688]
    0x0861ba28 JavaThread "http-80-Processor279" daemon [_thread_blocked, id=4687]
    0x083e22d0 JavaThread "http-80-Processor278" daemon [_thread_blocked, id=4686]
    0x08e44e80 JavaThread "http-80-Processor277" daemon [_thread_blocked, id=4685]
    0x08625478 JavaThread "http-80-Processor276" daemon [_thread_blocked, id=4684]
    0x08547890 JavaThread "http-80-Processor275" daemon [_thread_in_native, id=4632]
    0x0846c598 JavaThread "http-80-Processor274" daemon [_thread_in_native, id=4631]
    0x08beadb8 JavaThread "http-80-Processor270" daemon [_thread_in_native, id=4627]
    0x0865b3a0 JavaThread "http-80-Processor269" daemon [_thread_in_native, id=4626]
    0x092899e0 JavaThread "http-80-Processor268" daemon [_thread_in_native, id=4625]
    0x09277f58 JavaThread "http-80-Processor267" daemon [_thread_blocked, id=4624]
    0x086790b0 JavaThread "http-80-Processor265" daemon [_thread_in_native, id=4622]
    0x0844d920 JavaThread "http-80-Processor263" daemon [_thread_blocked, id=4620]
    0x0846f478 JavaThread "http-80-Processor262" daemon [_thread_in_native, id=4619]
    0x08c5f470 JavaThread "http-80-Processor261" daemon [_thread_in_native, id=4618]
    0x088cd8d0 JavaThread "http-80-Processor260" daemon [_thread_in_native, id=4617]
    0x08d5af30 JavaThread "http-80-Processor259" daemon [_thread_blocked, id=4616]
    0x0884bc18 JavaThread "http-80-Processor258" daemon [_thread_blocked, id=4615]
    0x08e618a0 JavaThread "http-80-Processor257" daemon [_thread_in_native, id=4614]
    0x08be3de0 JavaThread "http-80-Processor256" daemon [_thread_in_native, id=4613]
    0x085de680 JavaThread "http-80-Processor255" daemon [_thread_blocked, id=4612]
    0x083b8420 JavaThread "http-80-Processor254" daemon [_thread_blocked, id=4611]
    0x08e533e0 JavaThread "http-80-Processor253" daemon [_thread_in_native, id=4610]
    0x083c5af8 JavaThread "http-80-Processor252" daemon [_thread_in_native, id=4609]
    0x084701c0 JavaThread "http-80-Processor251" daemon [_thread_blocked, id=4608]
    0x3639cff0 JavaThread "http-80-Processor250" daemon [_thread_in_native, id=4402]
    0x2f41cd88 JavaThread "http-80-Processor249" daemon [_thread_in_native, id=4401]
    0x36bf7a48 JavaThread "http-80-Processor247" daemon [_thread_blocked, id=4399]
    0x35160748 JavaThread "http-80-Processor246" daemon [_thread_in_native, id=4398]
    0x36b42ed0 JavaThread "http-80-Processor245" daemon [_thread_blocked, id=4397]
    0x359b3ec0 JavaThread "http-80-Processor244" daemon [_thread_in_native, id=4396]
    0x3633a1f8 JavaThread "http-80-Processor240" daemon [_thread_blocked, id=4392]
    0x35a9ef28 JavaThread "http-80-Processor239" daemon [_thread_in_native, id=4391]
    0x35a52840 JavaThread "http-80-Processor238" daemon [_thread_blocked, id=4390]
    0x35a8e9e8 JavaThread "http-80-Processor236" daemon [_thread_blocked, id=4388]
    0x35a8de38 JavaThread "http-80-Processor235" daemon [_thread_in_native, id=4387]
    0x304703b8 JavaThread "http-80-Processor232" daemon [_thread_in_native, id=4384]
    0x36b32498 JavaThread "http-80-Processor231" daemon [_thread_blocked, id=4383]
    0x2e149a40 JavaThread "http-80-Processor230" daemon [_thread_blocked, id=4382]
    0x304731f8 JavaThread "http-80-Processor229" daemon [_thread_blocked, id=4381]
    0x2e186cd0 JavaThread "http-80-Processor228" daemon [_thread_in_native, id=4380]
    0x35a53c68 JavaThread "http-80-Processor227" daemon [_thread_blocked, id=4379]
    0x083a85d0 JavaThread "RMI TCP Connection(315)-192.168.100.62" daemon [_thread_blocked, id=4343]
    0x08cdd748 JavaThread "JMX server connection timeout 1017" daemon [_thread_blocked, id=3885]
    0x08df9fc0 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=3884]
    0x083c7f68 JavaThread "http-80-Processor225" daemon [_thread_blocked, id=3816]
    0x083c85b8 JavaThread "http-80-Processor223" daemon [_thread_blocked, id=3814]
    0x08df3be8 JavaThread "http-80-Processor222" daemon [_thread_in_native, id=3813]
    0x087a49b8 JavaThread "http-80-Processor221" daemon [_thread_in_native, id=3812]
    0x084c9db8 JavaThread "http-80-Processor220" daemon [_thread_in_native, id=3811]
    0x086203e0 JavaThread "http-80-Processor218" daemon [_thread_in_native, id=3809]
    0x088e2090 JavaThread "http-80-Processor216" daemon [_thread_in_native, id=3807]
    0x088bd2d0 JavaThread "http-80-Processor214" daemon [_thread_in_native, id=3805]
    0x08863490 JavaThread "http-80-Processor211" daemon [_thread_in_native, id=3802]
    0x08e9f4b8 JavaThread "http-80-Processor207" daemon [_thread_in_native, id=3798]
    0x08c9f748 JavaThread "http-80-Processor206" daemon [_thread_in_native, id=3797]
    0x0861fa00 JavaThread "http-80-Processor205" daemon [_thread_in_native, id=3796]
    0x08408ec8 JavaThread "http-80-Processor204" daemon [_thread_blocked, id=3795]
    0x0869bf28 JavaThread "http-80-Processor203" daemon [_thread_blocked, id=3794]
    0x08ba2648 JavaThread "http-80-Processor201" daemon [_thread_blocked, id=3792]
    0x08e70980 JavaThread "http-80-Processor200" daemon [_thread_blocked, id=3550]
    0x08e707e8 JavaThread "http-80-Processor199" daemon [_thread_blocked, id=3549]
    0x088e83b0 JavaThread "http-80-Processor196" daemon [_thread_blocked, id=3546]
    0x08634758 JavaThread "http-80-Processor195" daemon [_thread_blocked, id=3545]
    0x08198ea8 JavaThread "http-80-Processor194" daemon [_thread_blocked, id=3544]
    0x0831d5a8 JavaThread "http-80-Processor191" daemon [_thread_in_native, id=3541]
    0x088c6788 JavaThread "http-80-Processor189" daemon [_thread_in_native, id=3539]
    0x0835d868 JavaThread "http-80-Processor187" daemon [_thread_blocked, id=3537]
    0x08be2788 JavaThread "http-80-Processor186" daemon [_thread_in_native, id=3536]
    0x08d5b638 JavaThread "http-80-Processor182" daemon [_thread_blocked, id=3532]
    0x088c6488 JavaThread "http-80-Processor180" daemon [_thread_in_native, id=3530]
    0x08d83d70 JavaThread "http-80-Processor173" daemon [_thread_blocked, id=3158]
    0x088f3ca8 JavaThread "http-80-Processor171" daemon [_thread_blocked, id=3156]
    0x08862858 JavaThread "http-80-Processor168" daemon [_thread_blocked, id=3153]
    0x08629e38 JavaThread "http-80-Processor162" daemon [_thread_blocked, id=3147]
    0x086b9dd0 JavaThread "http-80-Processor159" daemon [_thread_in_native, id=3144]
    0x086e1c88 JavaThread "http-80-Processor153" daemon [_thread_in_native, id=3138]
    0x082fae10 JavaThread "http-80-Processor151" daemon [_thread_in_native, id=3136]
    0x084c7c40 JavaThread "http-80-Processor149" daemon [_thread_blocked, id=2489]
    0x087a5568 JavaThread "http-80-Processor147" daemon [_thread_in_native, id=2487]
    0x08c5f648 JavaThread "http-80-Processor146" daemon [_thread_blocked, id=2486]
    0x08c64090 JavaThread "http-80-Processor135" daemon [_thread_blocked, id=2475]
    0x08d60c68 JavaThread "http-80-Processor133" daemon [_thread_in_native, id=2473]
    0x08cdc058 JavaThread "http-80-Processor129" daemon [_thread_blocked, id=2469]
    0x0854a978 JavaThread "http-80-Processor128" daemon [_thread_blocked, id=2468]
    0x08d940c0 JavaThread "http-80-Processor126" daemon [_thread_in_native, id=2466]
    0x087c4998 JavaThread "http-80-Processor114" daemon [_thread_blocked, id=2186]
    0x0895ec90 JavaThread "http-80-Processor113" daemon [_thread_in_native, id=2185]
    0x0895e028 JavaThread "http-80-Processor112" daemon [_thread_blocked, id=2184]
    0x08e9bbb8 JavaThread "http-80-Processor82" daemon [_thread_in_native, id=2147]
    0x08634cf8 JavaThread "http-80-Processor80" daemon [_thread_in_native, id=2145]
    0x085d93c0 JavaThread "http-80-Processor68" daemon [_thread_blocked, id=2129]
    0x085d8658 JavaThread "http-80-Processor67" daemon [_thread_blocked, id=2128]
    0x085d7310 JavaThread "http-80-Processor66" daemon [_thread_in_native, id=2127]
    0x084c57e0 JavaThread "http-80-Processor60" daemon [_thread_blocked, id=2121]
    0x084c4a78 JavaThread "http-80-Processor59" daemon [_thread_blocked, id=2120]
    0x08588db8 JavaThread "http-80-Processor56" daemon [_thread_blocked, id=2117]
    0x086a2130 JavaThread "http-80-Processor54" daemon [_thread_in_native, id=2115]
    0x0878cfa8 JavaThread "http-80-Processor50" daemon [_thread_in_native, id=2108]
    0x087b9148 JavaThread "http-80-Processor39" daemon [_thread_blocked, id=2097]
    0x082f38c8 JavaThread "http-80-Processor29" daemon [_thread_blocked, id=2087]
    0x087a6a30 JavaThread "http-80-Processor28" daemon [_thread_in_native, id=2086]
    0x36b33540 JavaThread "http-80-Monitor" [_thread_blocked, id=1769]
    0x351178e0 JavaThread "http-80-Processor4" daemon [_thread_blocked, id=1747]
    0x35a72210 JavaThread "http-80-Processor1" daemon [_thread_blocked, id=1744]
    0x363ed3b0 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=1743]
    0x35a60238 JavaThread "Thread-4" [_thread_blocked, id=1742]
    =>0x36bc7068 JavaThread "SessionReaperDaemon[null, 2005-11-01 22:38:23.388]" daemon [_thread_in_Java, id=1739]
    0x363633c8 JavaThread "DistributedCache:DistributedSessions:EventDispatcher" daemon [_thread_blocked, id=1738]
    0x363771a0 JavaThread "DistributedCache:DistributedSessions" daemon [_thread_blocked, id=1737]
    0x36ba85f0 JavaThread "ReplicatedCache:ReplicatedSessionsMisc" daemon [_thread_blocked, id=1736]
    0x36bbb118 JavaThread "TcpRingListener" daemon [_thread_in_native, id=1735]
    0x36373478 JavaThread "Cluster" daemon [_thread_blocked, id=1733]
    0x36351268 JavaThread "PacketPublisher" daemon [_thread_blocked, id=1732]
    0x36350d60 JavaThread "PacketReceiver" daemon [_thread_blocked, id=1731]
    0x36ba8858 JavaThread "PacketListenerN" daemon [_thread_in_native, id=1730]
    0x36bb11e8 JavaThread "PacketListener1" daemon [_thread_in_native, id=1729]
    0x36b9f530 JavaThread "Logger@9508926 3.0/315" daemon [_thread_blocked, id=1728]
    0x081b0910 JavaThread "RMI TCP Accept-9000" daemon [_thread_in_native, id=1726]
    0x081b5c90 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=1725]
    0x081b57c0 JavaThread "Timer-0" daemon [_thread_blocked, id=1724]
    0x08157b60 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1722]
    0x081566e8 JavaThread "CompilerThread1" daemon [_thread_blocked, id=1721]
    0x08155698 JavaThread "CompilerThread0" daemon [_thread_blocked, id=1720]
    0x08154578 JavaThread "AdapterThread" daemon [_thread_blocked, id=1719]
    0x08153618 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1718]
    0x081528e8 JavaThread "Surrogate Locker Thread (CMS)" daemon [_thread_blocked, id=1717]
    0x08148480 JavaThread "Finalizer" daemon [_thread_blocked, id=1716]
    0x08148008 JavaThread "Reference Handler" daemon [_thread_blocked, id=1715]
    0x0805c598 JavaThread "main" [_thread_in_native, id=1705]
    Other Threads:
    0x08145bc8 VMThread [id=1714]
    0x082237b0 WatcherThread [id=1727]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    par new generation total 523840K, used 289536K [0x3d1c0000, 0x5d1c0000, 0x5d1c0000)
    eden space 523392K, 55% used [0x3d1c0000, 0x4ec800f0, 0x5d0e0000)
    from space 448K, 0% used [0x5d150000, 0x5d150000, 0x5d1c0000)
    to space 448K, 0% used [0x5d0e0000, 0x5d0e0000, 0x5d150000)
    concurrent mark-sweep generation total 1318912K, used 521347K [0x5d1c0000, 0xad9c0000, 0xad9c0000)
    concurrent-mark-sweep perm gen total 30720K, used 30499K [0xad9c0000, 0xaf7c0000, 0xb19c0000)
    Dynamic libraries:
    08048000-08056000 r-xp 00000000 08:02 180163 /usr/java/jdk1.5.0_05/bin/java
    08056000-08058000 rwxp 0000e000 08:02 180163 /usr/java/jdk1.5.0_05/bin/java
    08058000-0aea7000 rwxp 00000000 00:00 0
    2af40000-2b067000 rwxp 00001000 00:00 0
    2b067000-2b06a000 ---p 00000000 00:00 0
    2b06a000-2b0e8000 rwxp 00003000 00:00 0
    2b0e8000-2b0eb000 ---p 00081000 00:00 0
    2b0eb000-2b169000 rwxp 00084000 00:00 0
    2b169000-2b16c000 ---p 00102000 00:00 0
    2b16c000-2b1ea000 rwxp 00105000 00:00 0
    2b1ea000-2b1ed000 ---p 00081000 00:00 0
    2b1ed000-2b26b000 rwxp 00084000 00:00 0
    2b26b000-2b26e000 ---p 00081000 00:00 0
    2b26e000-2b2ec000 rwxp 00084000 00:00 0
    2b2ec000-2b367000 r-xs 00000000 08:02 1784003 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/xsdlib.jar
    2b367000-2b382000 r-xs 00000000 08:02 1784002 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/xmlrpc-1.2-b1.jar
    2b382000-2b39d000 r-xs 00000000 08:02 1784001 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/xml-apis.jar
    2b39d000-2b476000 r-xs 00000000 08:02 1784000 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/xercesImpl.jar
    2b476000-2b554000 r-xs 00000000 08:02 1783999 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/xalan.jar
    2b554000-2b557000 ---p 00000000 00:00 0
    2b557000-2b5d5000 rwxp 00003000 00:00 0
    2b5d5000-2b5d8000 ---p 00081000 00:00 0
    2b5d8000-2b656000 rwxp 00084000 00:00 0
    2b656000-2b659000 ---p 00081000 00:00 0
    2b659000-2b6d7000 rwxp 00084000 00:00 0
    2b6d7000-2b6da000 ---p 00102000 00:00 0
    2b6da000-2b758000 rwxp 00105000 00:00 0
    2b758000-2b75b000 ---p 00183000 00:00 0
    2b75b000-2b7d9000 rwxp 00186000 00:00 0
    2b7d9000-2b7dc000 rwxp 00000000 00:00 0
    2b7dc000-2b85a000 rwxp 00207000 00:00 0
    2b85a000-2b85d000 ---p 00285000 00:00 0
    2b85d000-2b8db000 rwxp 00288000 00:00 0
    2b8db000-2b8de000 ---p 00102000 00:00 0
    2b8de000-2b95c000 rwxp 00105000 00:00 0
    2b95c000-2b95f000 ---p 00183000 00:00 0
    2b95f000-2ba5d000 rwxp 00186000 00:00 0
    2ba5d000-2ba60000 ---p 00182000 00:00 0
    2ba60000-2bade000 rwxp 00185000 00:00 0
    2bade000-2bae1000 ---p 00203000 00:00 0
    2bae1000-2bb5f000 rwxp 00206000 00:00 0
    2bb5f000-2bb62000 ---p 00284000 00:00 0
    2bb62000-2bbe0000 rwxp 00287000 00:00 0
    2bbe0000-2bbe3000 ---p 00305000 00:00 0
    2bbe3000-2bc61000 rwxp 00308000 00:00 0
    2bc61000-2bc64000 ---p 00204000 00:00 0
    2bc64000-2bce2000 rwxp 00207000 00:00 0
    2bce2000-2bce5000 ---p 00285000 00:00 0
    2bce5000-2bd63000 rwxp 00288000 00:00 0
    2bd63000-2bd66000 rwxp 00000000 00:00 0
    2bd66000-2bde4000 rwxp 00186000 00:00 0
    2bde4000-2bde7000 ---p 00204000 00:00 0
    2bde7000-2be65000 rwxp 00207000 00:00 0
    2be65000-2be68000 rwxp 00000000 00:00 0
    2be68000-2bee6000 rwxp 00084000 00:00 0
    2bee6000-2bee9000 ---p 00102000 00:00 0
    2bee9000-2bf67000 rwxp 00105000 00:00 0
    2bf67000-2bf6a000 ---p 00183000 00:00 0
    2bf6a000-2bfe8000 rwxp 00186000 00:00 0
    2bfe8000-2bfeb000 ---p 00204000 00:00 0
    2bfeb000-2c069000 rwxp 00207000 00:00 0
    2c069000-2c06c000 ---p 00081000 00:00 0
    2c06c000-2c0ea000 rwxp 00084000 00:00 0
    2c0ea000-2c0ed000 ---p 00102000 00:00 0
    2c0ed000-2c16b000 rwxp 00105000 00:00 0
    2c16b000-2c16e000 ---p 00183000 00:00 0
    2c16e000-2c1ec000 rwxp 00186000 00:00 0
    2c1ec000-2c1ef000 rwxp 00000000 00:00 0
    2c1ef000-2c26d000 rwxp 00207000 00:00 0
    2c26d000-2c270000 ---p 00285000 00:00 0
    2c270000-2c2ee000 rwxp 00288000 00:00 0
    2c2ee000-2c2f1000 ---p 00306000 00:00 0
    2c2f1000-2c36f000 rwxp 00309000 00:00 0
    2c36f000-2c372000 ---p 00387000 00:00 0
    2c372000-2c3f0000 rwxp 0038a000 00:00 0
    2c3f0000-2c3f3000 ---p 00204000 00:00 0
    2c3f3000-2c471000 rwxp 00207000 00:00 0
    2c471000-2c474000 ---p 00285000 00:00 0
    2c474000-2c4f2000 rwxp 00288000 00:00 0
    2c4f2000-2c4f5000 ---p 00102000 00:00 0
    2c4f5000-2c573000 rwxp 00105000 00:00 0
    2c573000-2c576000 ---p 00183000 00:00 0
    2c576000-2c5f4000 rwxp 00186000 00:00 0
    2c5f4000-2c5f7000 ---p 00204000 00:00 0
    2c5f7000-2c675000 rwxp 00207000 00:00 0
    2c675000-2c678000 ---p 00285000 00:00 0
    2c678000-2c6f6000 rwxp 00288000 00:00 0
    2c6f6000-2c6f9000 ---p 00306000 00:00 0
    2c6f9000-2c777000 rwxp 00309000 00:00 0
    2c777000-2c77a000 ---p 00387000 00:00 0
    2c77a000-2c7f8000 rwxp 0038a000 00:00 0
    2c7f8000-2c7fb000 ---p 00081000 00:00 0
    2c7fb000-2c879000 rwxp 00084000 00:00 0
    2c879000-2c87c000 ---p 00102000 00:00 0
    2c87c000-2c8fa000 rwxp 00105000 00:00 0
    2c8fa000-2c8fd000 ---p 00183000 00:00 0
    2c8fd000-2c97b000 rwxp 00186000 00:00 0
    2c97b000-2c97e000 rwxp 00000000 00:00 0
    2c97e000-2c9fc000 rwxp 00207000 00:00 0
    2c9fc000-2c9ff000 ---p 00285000 00:00 0
    2c9ff000-2ca7d000 rwxp 00288000 00:00 0
    2ca7d000-2ca80000 ---p 00285000 00:00 0
    2ca80000-2cafe000 rwxp 00288000 00:00 0
    2cafe000-2cb01000 rwxp 00000000 00:00 0
    2cb01000-2cb7f000 rwxp 00309000 00:00 0
    2cb7f000-2cb82000 ---p 00387000 00:00 0
    2cb82000-2cc58000 rwxp 0038a000 00:00 0
    2cc58000-2cd00000 ---p 00029000 00:00 0
    2cd7f000-2cd82000 ---p 00000000 00:00 0
    2cd82000-2cefe000 rwxp 00003000 00:00 0
    2cefe000-2cf00000 ---p 00029000 00:00 0
    2cf00000-2d0fe000 rwxp 0002b000 00:00 0
    2d0fe000-2d100000 ---p 00038000 00:00 0
    2d17b000-2d17e000 ---p 00000000 00:00 0
    2d17e000-2d1fc000 rwxp 00003000 00:00 0
    2d1fc000-2d1ff000 ---p 00081000 00:00 0
    2d1ff000-2d27d000 rwxp 00084000 00:00 0
    2d27d000-2d280000 rwxp 00000000 00:00 0
    2d280000-2d2fe000 rwxp 00105000 00:00 0
    2d2fe000-2d301000 ---p 00183000 00:00 0
    2d301000-2d37f000 rwxp 00186000 00:00 0
    2d37f000-2d382000 ---p 00204000 00:00 0
    2d382000-2d600000 rwxp 00207000 00:00 0
    2d67f000-2d682000 ---p 00000000 00:00 0
    2d682000-2e1ff000 rwxp 00003000 00:00 0
    2e1ff000-2e200000 ---p 00029000 00:00 0
    2e200000-2e25d000 rwxp 0002a000 00:00 0
    2e25d000-2e300000 ---p 00059000 00:00 0
    2e300000-2e700000 rwxp 00000000 00:00 0
    2e77f000-2e782000 ---p 00000000 00:00 0
    2e782000-30500000 rwxp 00003000 00:00 0
    3057f000-30582000 rwxp 00000000 00:00 0
    30582000-30700000 rwxp 00003000 00:00 0
    3077d000-30780000 ---p 00000000 00:00 0
    30780000-307fe000 rwxp 00003000 00:00 0
    307fe000-30801000 ---p 00081000 00:00 0
    30801000-3087f000 rwxp 00084000 00:00 0
    3087f000-30882000 ---p 00102000 00:00 0
    30882000-30a00000 rwxp 00105000 00:00 0
    30a7f000-30a82000 ---p 00000000 00:00 0
    30a82000-30ffc000 rwxp 00003000 00:00 0
    30ffc000-31000000 ---p 00029000 00:00 0
    31000000-311fc000 rwxp 00095000 00:00 0
    311fc000-31200000 ---p 00029000 00:00 0
    31200000-313fc000 rwxp 0002d000 00:00 0
    313fc000-31400000 ---p 000fd000 00:00 0
    31416000-31434000 r-xs 00000000 08:02 1783998 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/wsdl4j.jar
    31434000-31442000 r-xs 00000000 08:02 1783997 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/wrapper.jar
    31442000-3147f000 r-xs 00000000 08:02 1783995 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/webInstaller.jar
    3147f000-31482000 ---p 00000000 00:00 0
    31482000-315ff000 rwxp 00003000 00:00 0
    315ff000-31600000 ---p 00000000 00:00 0
    31625000-3167f000 r-xs 00000000 08:02 1783994 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/velocity-1.4-rc1.jar
    3167f000-31682000 ---p 00000000 00:00 0
    31682000-31dfb000 rwxp 00003000 00:00 0
    31dfb000-31e00000 ---p 00000000 00:00 0
    31e14000-31e17000 ---p 00000000 00:00 0
    31e17000-31e95000 rwxp 00003000 00:00 0
    31e95000-31e98000 ---p 00081000 00:00 0
    31e98000-31f16000 rwxp 00084000 00:00 0
    31f16000-31f19000 ---p 00102000 00:00 0
    31f19000-31f97000 rwxp 00105000 00:00 0
    31f97000-31f9a000 ---p 00183000 00:00 0
    31f9a000-32018000 rwxp 00186000 00:00 0
    32018000-3201b000 ---p 00183000 00:00 0
    3201b000-32099000 rwxp 00186000 00:00 0
    32099000-3209c000 ---p 00204000 00:00 0
    3209c000-3211a000 rwxp 00207000 00:00 0
    3211a000-3211d000 ---p 00285000 00:00 0
    3211d000-3219b000 rwxp 00288000 00:00 0
    3219b000-3219e000 ---p 00102000 00:00 0
    3219e000-3221c000 rwxp 00105000 00:00 0
    3221c000-3221f000 ---p 00183000 00:00 0
    3221f000-3229d000 rwxp 00186000 00:00 0
    3229d000-322a0000 ---p 00204000 00:00 0
    322a0000-3231e000 rwxp 00207000 00:00 0
    3231e000-32321000 ---p 00285000 00:00 0
    32321000-3239f000 rwxp 00288000 00:00 0
    3239f000-323a2000 ---p 00306000 00:00 0
    323a2000-32420000 rwxp 00309000 00:00 0
    32420000-32423000 ---p 00387000 00:00 0
    32423000-324a1000 rwxp 0038a000 00:00 0
    324a1000-324a4000 ---p 00408000 00:00 0
    324a4000-32522000 rwxp 0040b000 00:00 0
    32522000-32525000 ---p 00285000 00:00 0
    32525000-325a3000 rwxp 00288000 00:00 0
    325a3000-325a6000 ---p 00102000 00:00 0
    325a6000-32624000 rwxp 00105000 00:00 0
    32624000-32627000 ---p 00183000 00:00 0
    32627000-326a5000 rwxp 00186000 00:00 0
    326a5000-326a8000 ---p 00204000 00:00 0
    326a8000-32726000 rwxp 00207000 00:00 0
    32726000-32729000 ---p 00285000 00:00 0
    32729000-327a7000 rwxp 00288000 00:00 0
    327a7000-327aa000 ---p 00102000 00:00 0
    327aa000-32828000 rwxp 00105000 00:00 0
    32828000-3282b000 rwxp 00000000 00:00 0
    3282b000-328a9000 rwxp 00186000 00:00 0
    328a9000-328ac000 ---p 00204000 00:00 0
    328ac000-3292a000 rwxp 00207000 00:00 0
    3292a000-3292d000 ---p 00285000 00:00 0
    3292d000-329ab000 rwxp 00288000 00:00 0
    329ab000-329ae000 rwxp 00000000 00:00 0
    329ae000-32a2c000 rwxp 00309000 00:00 0
    32a2c000-32a2f000 ---p 00183000 00:00 0
    32a2f000-32aad000 rwxp 00186000 00:00 0
    32aad000-32ab0000 rwxp 00000000 00:00 0
    32ab0000-32b2e000 rwxp 00207000 00:00 0
    32b2e000-32b31000 ---p 00000000 00:00 0
    32b31000-32baf000 rwxp 00003000 00:00 0
    32baf000-32bb2000 ---p 00081000 00:00 0
    32bb2000-32c30000 rwxp 00084000 00:00 0
    32c30000-32c33000 ---p 00102000 00:00 0
    32c33000-32cb1000 rwxp 00105000 00:00 0
    32cb1000-32cb4000 rwxp 00000000 00:00 0
    32cb4000-32d32000 rwxp 00186000 00:00 0
    32d32000-32d35000 rwxp 00000000 00:00 0
    32d35000-32db3000 rwxp 00084000 00:00 0
    32db3000-32db6000 ---p 00102000 00:00 0
    32db6000-32e34000 rwxp 00105000 00:00 0
    32e34000-32e37000 rwxp 00000000 00:00 0
    32e37000-32eb5000 rwxp 00186000 00:00 0
    32eb5000-32eb8000 ---p 00204000 00:00 0
    32eb8000-32f36000 rwxp 00207000 00:00 0
    32f36000-32f39000 rwxp 00000000 00:00 0
    32f39000-32fb7000 rwxp 00288000 00:00 0
    32fb7000-32fba000 ---p 00306000 00:00 0
    32fba000-33038000 rwxp 00309000 00:00 0
    33038000-3303b000 rwxp 00000000 00:00 0
    3303b000-330b9000 rwxp 00186000 00:00 0
    330b9000-330bc000 ---p 00204000 00:00 0
    330bc000-3313a000 rwxp 00207000 00:00 0
    3313a000-3313d000 ---p 00285000 00:00 0
    3313d000-331bb000 rwxp 00288000 00:00 0
    331bb000-331be000 ---p 00102000 00:00 0
    331be000-3323c000 rwxp 00105000 00:00 0
    3323c000-3323f000 ---p 00183000 00:00 0
    3323f000-332bd000 rwxp 00186000 00:00 0
    332bd000-332c0000 ---p 00204000 00:00 0
    332c0000-3333e000 rwxp 00207000 00:00 0
    3333e000-33341000 ---p 00285000 00:00 0
    33341000-333bf000 rwxp 00288000 00:00 0
    333bf000-333c2000 ---p 00306000 00:00 0
    333c2000-33440000 rwxp 00309000 00:00 0
    33440000-33443000 ---p 00183000 00:00 0
    33443000-334c1000 rwxp 00186000 00:00 0
    334e2000-33531000 r-xs 00000000 08:02 1783993 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/torque-3.0.2.jar
    33531000-33537000 r-xs 00000000 08:02 1783992 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/textile4j-1.20.jar
    33537000-336e9000 r-xs 00000000 08:02 1783991 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/tangosol.jar
    336e9000-33710000 r-xs 00000000 08:02 1783990 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/ss_css2.jar
    33710000-33716000 r-xs 00000000 08:02 1783989 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/smtp.jar
    33716000-3371b000 r-xs 00000000 08:02 1783987 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/saaj.jar
    3371b000-33720000 r-xs 00000000 08:02 1783986 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/relaxngDatatype.jar
    33720000-33726000 r-xs 00000000 08:02 1783985 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/pop3.jar
    33726000-3373e000 r-xs 00000000 08:02 1783984 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/p6spy.jar
    3373e000-3375b000 r-xs 00000000 08:02 1783983 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/oscache-2.1.1.jar
    3375b000-337ff000 r-xs 00000000 08:02 1783982 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/optional.jar
    337ff000-3396a000 r-xs 00000000 08:02 1783981 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/msv.jar
    3396a000-33979000 r-xs 00000000 08:02 1783980 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/msutil.jar
    33979000-3398a000 r-xs 00000000 08:02 1783979 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/mssqlserver.jar
    3398a000-339d1000 r-xs 00000000 08:02 1783978 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/msbase.jar
    339d1000-339e8000 r-xs 00000000 08:02 1783977 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/metadata-extractor-2.2.2.jar
    339e8000-33a15000 r-xs 00000000 08:02 1783976 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/mailapi.jar
    33a15000-33a6c000 r-xs 00000000 08:02 1783975 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/log4j-1.2.8.jar
    33a6c000-33a6e000 r-xs 00000000 08:02 1783974 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jdbc2_0-stdext.jar
    33a6e000-33ab6000 r-xs 00000000 08:02 1783973 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jcs.jar
    33ab6000-33ac2000 r-xs 00000000 08:02 1783972 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jazzy-core.jar
    33ac2000-33acb000 r-xs 00000000 08:02 1783971 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jaxrpc.jar
    33acb000-33b06000 r-xs 00000000 08:02 1783970 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jaxen-1.1-beta-4.jar
    33b06000-33b0e000 r-xs 00000000 08:02 1783969 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jakarta-regexp-1.2.jar
    33b0e000-33b1e000 r-xs 00000000 08:02 1783968 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jakarta-oro-2.0.6.jar
    33b1e000-33c9f000 r-xs 00000000 08:02 1783967 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jai_core.jar
    33c9f000-33cd3000 r-xs 00000000 08:02 1783966 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/jai_codec.jar
    33cd3000-33d03000 r-xs 00000000 08:02 1783965 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/isorelax.jar
    33d03000-33d25000 r-xs 00000000 08:02 1783964 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/imap.jar
    33d25000-33d54000 r-xs 00000000 08:02 1783963 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/hessian-3.0.13.jar
    33d54000-33d58000 r-xs 00000000 08:02 1783962 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/fast-md5-2.5.jar
    33d58000-33db8000 r-xs 00000000 08:02 1783961 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/dom4j-1.5-rc1.jar
    33db8000-33df5000 r-xs 00000000 08:02 1783960 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/dnsjava-1.6.6.jar
    33df5000-33ef6000 r-xs 00000000 08:02 1783958 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/db-ojb-1.0.1.jar
    33ef6000-33f0f000 r-xs 00000000 08:02 1783957 /usr/local/apache-tomcat-5.5.12/webapps/x/WEB-INF/lib/crossdb.jar
    33f0f000-33f1d000

    An aside: When I switch to ParallelGC, afterrunning
    for about 5-6 hours, GC times start doubling
    (approximately) in time, eventually moving upwardsof
    2 minutes per full GC.That sounds to me like you're swapping during full
    GCs. I wouldn't assume that 2 GB of physical RAM is
    sufficient to run an app with an 1800 MB heap. Have
    you done any heap profiling to determine the real
    working set of your application? When the GCs get
    this pathologically long, is there disk activity on
    the machine?Hmm.. So what should we size our heap to on a server with 2GB? The server is essentially only running the Java process. What would you consider "safe"?
    While heap profiling with jconsole, the application only utilizes 1.1GB of the heap at peaks. We want to expand that eventually as we size our caches larger.
    I don't believe there's disk activity with long GCs, but I can't confirm that 100% right now. The server is reading files from another machine, so the disks are more or less untouched while the app is running. There's heavy caching. The only reason disks would be hititng if your guess regarding the swapping turns out correct. After you suggest a safer way to calc a max heap size for our machine, I'll try again with ParallelGC and a smaller heap.
    Some points:
    - I tried increasing perm generation size. It'snot
    even close to filled (according to gc log).(As you mentioned, "old generation" instead of "perm
    generation".) What about when the full collection
    times are taking 2 minutes in duration? Is there any
    disk activity indicating swapping?Again, not positive on the disk situation -- should get an answer above to figure this out.
    - I have not tried the -client VM, will this break
    performance on a production application?The client VM does not generate as high quality
    machine code as the server VM but on the x86
    architecture many benchmark scores for the two
    compilers are comparable. I would recommend you try
    that option if only to narrow down the scope of the
    crash you're seeing.
    - I saw a bug related to a ConcMarkSweepGC crashon
    4-cpu machines opened on Oct 17th. I've testedthis
    on 4-cpu (2 proc with hyperthreading) and 2-cpu
    (hyperthreading off) -- both exhibit this issue.What bug ID is this?http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6337544
    - Are there any known issues with this collectorand
    Linux 2.4.21-37.ELsmp? Should we be using
    LD_ASSUME_KERNEL=2.2.5 or anything? For java to
    recognize this variable, do we just need itspecified
    anywhere in the environment at JVM start? How dowe
    test if it worked?No issues as far as I know, but I am not a Linux
    expert. I think in order to toggle which thread
    library is used you just need that variable exported
    in the environment when the JVM starts up. You can
    probably use pmap to see which thread library got
    loaded to verify the one you expect is present in the
    loaded objects.Trying various combinations of LD_ASSUME_KERNEL to switch threading versions has no real effect on stability there. We're seeing crashes repeatedly still.
    I'm going to attempt to deploy some machines with a new kernel as well and see if we can reproduce on those. I'll try ParallelGC again as soon as I get your recommendations on the configuration.

  • Option -splash and -Xmx result in "Unable to launch JVM" error

    Hello everybody,
    we have a severe problem with launching our Java application using the "-splash:" and "-Xmx" command line options for which we cannot find any solution in the web. Our application needs a lot of heap space, so we usually set "-Xmx=920M". Usually, we are working with Java 6 and use the "-splash:" option to show a splash screen while the application is loading. In some cases, we get an "Unable to launch JVM" error now. This happens only on particular customer systems (servers as well as desktop machines) and the only solution is to decrease the maximum heap size for a couple hundred megabytes. The latter is usually unacceptable since our application requires a lot of heap memory and the machines do have more than sufficient memory. The other option is to completely remove the "-splash:" option, but then there is of course no splash screen anymore.
    Unfortunately, we are unable to track the error back and to figure what exactly is going wrong. Does anyone of you have any hints how to debug or analyze the error? Our assumption is that something is wrong due to memory partitioning which leads to unsufficiently large memory partitions to allocate the required heap memory by the JVM.
    Any ideas?
    Thank you very much.
    Regards
    Timo Rohrberg
    Software Developer, initplan GmbH

    910396 wrote:
    This happens only on particular customer systems (servers as well as desktop machines) Red flag: it is not consistent, in other words it is system dependent. It is already hard for you to diagnose such an occurrence, I wouldn't expect anything more by asking in a forum. At least you have SOME way of doing some more diagnosing.
    I'm sorry, but you'll have to dive in deep. Figure out what update versions of Java the failing machines are running. Which OS. Which processor architecture. Etc. See if there is a common factor involved. If not, hunt through release notes of newer JDKs to see if any of them mention something related to the splash screen and if you find something, let the client attempt an update of the JDK on such a failing machine to see if the problem is remedied. If it is windows, try running with the server VM (java -server) in stead of the default client VM, if you are not already doing that.
    And yeah if all that fails and nobody else has something to add, I'm sorry to say that Oracle support will be your next logical step.

Maybe you are looking for