JVM in MHP

Does MHP need JVM(eg: java.awt) to be modified so that it internally uses DVBColor, DVBGraphics etc?

Yes.

Similar Messages

  • How to implement MHP on PC?

    I'm doing project that implement MHP on PC. I read the MHP spec for a long time, but i'm really comfused. If i want to implement MHP on PC, what should i do first? what preparations should I do? Can my direct show filters be called by JVM?

    Possibly you could use Directshow from java using Java Native Interface (JNI). But I would rather use Java Media Framework (JMF). If you know directshow is not very difficult to learn; the arquitecture is also based on connected filters.
    You would also need a DVB-T/S/C capture card to access the content. JMF will probably present audio and video correctly; anyway I would check this before buying the card. I'm not sure about next, but probably to access MHP data you would have to use JNI, and things would be easier if you buy a card provided with an SDK.
    Note that if you use JNI, that application will NOT be platform independent.
    You could also build all your application in Directshow, parse MHP data and send it to a Java Program that executes the Xlet..
    In orther to execute the Xlets you could use XletView, which will save you lots of work; but you should have a look at the license.

  • IRT's MHP-RI HDD TS playback problem

    Dear all,
    I've got the license of the RI but now have no DVB-card at hand, so I am trying to get TS from HDD files. Below are my steps:
    1. From the install instruction: "To configure the RI to play a TS from HDD, please configure it as first as having a Technotrend udget DVB board." So:
    ==> Frontends.cfg: comment [irtdvbtt] and uncomment [irtdvbbda]
    ==> System.cfg: set VIDEO.COMPOSITION_DLL = irtdvbbda
    2.From the next step of the instruction:
    ==> Transponders.xml: add a new entry in the section "HDD TS Playback Transponders" and do not conflict with another transponder. So I set
    <satellite frequency="1" orbposition="192" eastwest="E" polarisation="H" symbolrate="27500000" onid="1" tsid="437" nid="4"/>
    ==> LocalTransponders.cfg: I add a line
    1="d:\TS\1.ts"
    and I am sure the file exists in the correct path. Of course, the file has no problem itself.
    ==> Navigator.prop:
    service1=IRT HDD Service
    service1id=dvb://1.437.4
    OK, the problem is why I cannot run the RI. When I execute it, the JVM has some problems:
    *16:22:59.229 Info [PAL] IRT PAL implementation (Version 0.9.0) starting up .
    ... Thread[main,5,main].
    *16:22:59.610 Info [PAL] IRT PAL implementation (Version 0.9.0) ready. Thread
    [main,5,main].
    *16:22:59.610 Info [PAL] de.irt.mhp.palimpl.core.c.e: going to state STANDBY.
    ... Thread[main,5,main].
    *16:22:59.610 Info [RI] >>>>> Initializing IRT's MHP 1.0.3 Reference Implemen
    tation <<<<<. Thread[main,5,main].
    *16:22:59.800 Info [PAL] de.irt.mhp.optional.palimpl.AddOn: add-on initialize
    d successfully. Thread[main,5,main].
    *16:23:00.281 Info [JAVA] de.irt.mhp.a.f: Toolkit used for delegation: sun.aw
    t.windows.WToolkit. Thread[main,5,main].
    *16:23:00.411 Info [JAVA] de.irt.mhp.a.g: createFrame( Frame ). Thread[main,5
    ,main].
    *16:23:00.471 Info [PAL] de.irt.mhp.palimpl.core.demux.input.NativeDvbDevice:
    Initializing frontend [irtdvbbda] .... Thread[main,5,main].
    *16:23:00.802 Info [PAL] de.irt.mhp.palimpl.core.demux.input.NativeDvbDevice:
    Initialized card with type Terrestrial having 16 section and 1 PES filters supp
    orting MPE MAC: 000000. Thread[main,5,main].
    *16:23:00.802 Info [PAL] de.irt.mhp.palimpl.core.demux.input.NativeDvbDevice:
    Initializing frontend [irtdvbvirtual] .... Thread[main,5,main].
    *16:23:00.822 Info [PAL] de.irt.mhp.palimpl.core.demux.input.NativeDvbDevice:
    Initialized card with type Satellite having 16 section and 0 PES filters MAC: 0
    00000. Thread[main,5,main].
    *16:23:00.842 Error [PAL] de.irt.mhp.palimpl.core.a.a: Error during instantiat
    ion of PlugIn de.irt.mhp.optional.AddOn. Thread[main,5,main].
    java.lang.UnsatisfiedLinkError: init
    at de.irt.mhp.palimpl.core.rendering.MHPCompositionPeer.init(Native Meth
    od)
    at de.irt.mhp.palimpl.core.rendering.MHPCompositionPeer.a(MHPComposition
    Peer.java:506)
    at de.irt.mhp.palimpl.core.rendering.k.<init>(k.java:69)
    at de.irt.mhp.palimpl.core.rendering.ScreenImpl.j(ScreenImpl.java:436)
    at de.irt.mhp.palimpl.core.rendering.ScreenImpl.i(ScreenImpl.java:424)
    at de.irt.mhp.palimpl.core.rendering.ScreenImpl.addNotify(ScreenImpl.jav
    a:336)
    at java.awt.Window.show(Unknown Source)
    at java.awt.Component.show(Unknown Source)
    at java.awt.Component.setVisible(Unknown Source)
    at de.irt.mhp.palimpl.core.rendering.ScreenImpl.<init>(ScreenImpl.java:1
    41)
    at de.irt.mhp.palimpl.core.rendering.y.<init>(y.java:32)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at de.irt.mhp.b.a.a.getComponent(a.java:91)
    at de.irt.mhp.optional.core.ui.SaveAreaComponent.<init>(SaveAreaComponen
    t.java:149)
    at de.irt.mhp.optional.core.ui.SaveAreaComponent.a(SaveAreaComponent.jav
    a:183)
    at de.irt.mhp.optional.AddOn.init(AddOn.java:28)
    at de.irt.mhp.palimpl.core.a.a.a(a.java:79)
    at de.irt.mhp.palimpl.core.a.a.parseCommandLineArguments(a.java:44)
    at de.irt.mhp.palimpl.PalStarter.systemStateChanged(PalStarter.java:127)
    at de.irt.mhp.palimpl.core.c.d.a(d.java:160)
    at de.irt.mhp.palimpl.core.c.d.a(d.java:23)
    at de.irt.mhp.palimpl.core.c.e.run(e.java:112)
    at java.security.AccessController.doPrivileged(Native Method)
    at de.irt.mhp.palimpl.core.c.d.setState(d.java:106)
    at de.irt.mhp.palimpl.PalStarter.<init>(PalStarter.java:88)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at de.irt.mhp.boot.MhpRI.main(MhpRI.java:68)
    *16:23:00.852 Info [PAL] de.irt.mhp.quicktime.palimpl.AddOn: add-on initializ
    ed successfully. Thread[main,5,main].
    *16:23:00.862 Info [PAL] de.irt.mhp.quicktime.AddOn: add-on initialized succe
    ssfully. Thread[main,5,main].
    *16:23:00.872 Info [PAL] de.irt.mhp.wmp.palimpl.AddOn: add-on initialized suc
    cessfully. Thread[main,5,main].
    *16:23:00.872 Info [PAL] de.irt.mhp.wmp.AddOn: add-on initialized successfull
    y. Thread[main,5,main].
    *16:23:00.882 Info [PAL] de.irt.mhp.cassic.palimpl.AddOn: add-on initialized
    successfully. Thread[main,5,main].
    *16:23:00.902 Info [PAL] de.irt.mhp.cassic.AddOn: add-on initialized successf
    ully. Thread[main,5,main].
    *16:23:00.902 Error [PAL] de.irt.mhp.palimpl.core.a.a: PlugIn de.irt.mhp.iptun
    er.AddOn not found. Thread[main,5,main].
    *16:23:00.912 Info [PAL] de.irt.mhp.pdr.palimpl.AddOn: add-on initialized suc
    cessfully. Thread[main,5,main].
    *16:23:00.932 Info [PAL] de.irt.mhp.pdr.AddOn: add-on initialized successfull
    y. Thread[main,5,main].
    *16:23:00.932 Error [PAL] de.irt.mhp.palimpl.core.a.a: PlugIn de.irt.mhp.tva.A
    ddOn not found. Thread[main,5,main].
    *16:23:00.932 Info [PAL] de.irt.mhp.palimpl.core.c.e: entering state STANDBY.
    ... Thread[main,5,main].
    *16:23:00.932 Info [PAL] de.irt.mhp.palimpl.core.c.e: reached state STANDBY.
    Thread[main,5,main].
    *16:23:00.932 Info [PAL] de.irt.mhp.palimpl.core.c.e: going to state OPERATIO
    NAL.... Thread[main,5,main].
    *16:23:00.972 Info [RI] de.irt.mhp.core.a.eb: load navigator. Thread[main,5,m
    ain].
    *16:23:00.982 Info [JAVA] de.irt.mhp.a.g: createFrame( Frame ). Thread[main,5
    ,main].
    *16:23:00.992 Error [RI] de.irt.mhp.core.a.eb: Unable to load, initialize and
    start the box navigator class de.irt.navigator.developer.TeletextNavigator. Thre
    ad[main,5,main].
    java.lang.UnsatisfiedLinkError: init
    at de.irt.mhp.palimpl.core.rendering.MHPCompositionPeer.init(Native Meth
    od)
    at de.irt.mhp.palimpl.core.rendering.MHPCompositionPeer.a(MHPComposition
    Peer.java:506)
    at de.irt.mhp.palimpl.core.rendering.k.<init>(k.java:69)
    at de.irt.mhp.palimpl.core.rendering.ScreenImpl.j(ScreenImpl.java:436)
    at de.irt.mhp.palimpl.core.rendering.ScreenImpl.i(ScreenImpl.java:424)
    at de.irt.mhp.palimpl.core.rendering.ScreenImpl.addNotify(ScreenImpl.jav
    a:336)
    at java.awt.Window.show(Unknown Source)
    at java.awt.Component.show(Unknown Source)
    at java.awt.Component.setVisible(Unknown Source)
    at de.irt.mhp.palimpl.core.rendering.ScreenImpl.<init>(ScreenImpl.java:1
    41)
    at de.irt.mhp.palimpl.core.rendering.y.<init>(y.java:32)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at de.irt.mhp.b.a.a.getComponent(a.java:91)
    at org.havi.ui.HScreen$1.run(HScreen.java:121)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.havi.ui.HScreen.getHScreens(HScreen.java:119)
    at org.havi.ui.HScreen.getDefaultHScreen(HScreen.java:150)
    at de.irt.navigator.developer.Navigator.<init>(Navigator.java:120)
    at de.irt.navigator.developer.TeletextNavigator.<init>(TeletextNavigator
    .java:35)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at de.irt.mhp.core.a.eb.a(eb.java:261)
    at de.irt.mhp.core.a.eb.startApp(eb.java:625)
    at de.irt.mhp.SetTopBox.systemStateChanged(SetTopBox.java:152)
    at de.irt.mhp.palimpl.core.c.d.a(d.java:160)
    at de.irt.mhp.palimpl.core.c.d.a(d.java:23)
    at de.irt.mhp.palimpl.core.c.e.run(e.java:112)
    at java.security.AccessController.doPrivileged(Native Method)
    at de.irt.mhp.palimpl.core.c.d.setState(d.java:106)
    at de.irt.mhp.palimpl.PalStarter.<init>(PalStarter.java:88)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at de.irt.mhp.boot.MhpRI.main(MhpRI.java:68)
    *16:23:01.042 Info [PAL] de.irt.mhp.palimpl.core.c.e: entering state OPERATIO
    NAL.... Thread[main,5,main].
    *16:23:01.042 Info [PAL] de.irt.mhp.palimpl.core.c.e: reached state OPERATION
    AL. Thread[main,5,main].
    ==========================================================
    If there's anyone who knows the solution or tells me the correct steps to setup the HDD TS playback, please email me or reply this post. I need the solution urgely. If anyone needs more information about my problem, please reply too.
    my email : [email protected]
    Thanks a lot!
    Best regards to all.

    I have a problem too playing TS from Harddisk with the IRT RI..
    I went through all steps and i am not quite sure if i configured it right and i am confused about the way my xlet tells the RI WHICH TS-file it wants to play..
    Because i get a NoPlayerException when trying to play a TS-File, there must be something wrong with the parameters i use in my code or my configuration settings..
    I got a ts-file with the following parameters:
    Network-ID: 16
    Transportstream-ID: 1080
    Service-ID: 100
    I set up the IRT RI as follows:
    ==> Transponders.xml:
    satellite frequency="1" orbposition="192" eastwest="E" polarisation="H" symbolrate="27500000" onid="1" tsid="437" nid="4"/>
    ==> LocalTransponders.cfg:
    1="d:\TS\MyStream.ts"
    ==> Navigator.prop:
    service1=IRT HDD Service
    service1id=dvb://1.437.4
    ==> Frontends.cfg: comment [irtdvbtt] and uncomment [irtdvbbda]
    ==> System.cfg: set VIDEO.COMPOSITION_DLL = irtdvbbda
    Yet i have a few more questions concerning that topic:
    1. Where exactly do i have to put my TS-File (has it to be in the same directory where my application is)?
    2. the default settings of the irt ri seem to be:
    ==> Transponders.xml:
    ... onid="1" tsid="437" nid="4"/>
    ==> Navigator.prop:
    service1=IRT HDD Service
    service1id=dvb://1.437.4
    but my TS-File has other SI-Information (NID:16 TS-ID:1080 SID: 100)..
    Doesn't i have to change the default settings then to find my TS??
    3. How do i actually create a player for my xlet then?
    Is it something like:
    targetVideo = new MediaLocator("dvb://16.1080.100");
    or
    targetVideo = new MediaLocator("dvb://1.437.4");
    or maybe
    targetVideo = new MediaLocator(" d:\TS\MyStream.ts");??????
    As you can see, i am very confused of that feature and there is a big lack of know-how...
    Could anybody help me please??
    With best regards,
    Alex.

  • 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?

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

  • 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();

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

  • JVM freeze on SocketRead

    Hi!
    Try to explain my problem. I have a Servlet (call com.foo.core.ProxyServlet) which uses HttpUrLConnection (it's a proxy). The problem is : after a week all thread are frozen in the same method. Here the thread dump :
    "ExecuteThread: '26' for queue: 'default'" daemon prio=5 tid=0x2589f8 nid=0x26 runnable [0xcd380000..0xcd381a38]
         at java.net.SocketInputStream.socketRead(Native Method)
         at java.net.SocketInputStream.read(SocketInputStream.java:86)
         at java.io.BufferedInputStream.fill(BufferedInputStream.java:186)
         at java.io.BufferedInputStream.read(BufferedInputStream.java:204)
         at weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:132)
         at weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:286)
         at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:282)
         at com.foo.core.ProxyServlet.performTask(proxyServlet.java:143)
         at com.foo.core.ProxyServlet.doPost(proxyServlet.java:63)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1302)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1680)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)Here a part of the source code (where the thread stop)
         String uri = request.getParameter("uri");
         String sourceServlet = _HTTPServer + uri;
         String method = request.getMethod();
         URL url = new URL(sourceServlet);
         HttpURLConnection uc = (HttpURLConnection)url.openConnection();
         uc.setDoOutput(true);
         uc.setDoInput(true);
         uc.setUseCaches(false);
         uc.setAllowUserInteraction(false);
         uc.setRequestMethod(method);
         uc.connect();
         InputStream is = uc.getInputStream();I work with WebLogic 6.0 SP2 RP2, jdk1.3.0, Solaris 2.6
    Thx for help
    Simon Pierre NOLIN

    Hi
    The ProxyServlet is like a proxy : it receive data from client (GET and POST), ask the 'real' server, do some work with the response (if the response is in XML/XSL it will be transform to HTML) and send the HTML to the client.
    As i said in the post, the problem occur after a week : every day one or two thread are frozen and gradually the JVM is frozen.
    I will try to set the ouput to false and test. I think i can not rid the setRequestMethod
    Simon Pierre NOLIN

  • Problem calling two perl modules from java in seperate threads(JVM CRASHES)

    Dear Friends,
    I have one severe problem regarding calling perl modules from java
    I had to call two perl modules simultaneously (i.e.) from two threads,,, but jvm crashes when one of the perl calls is exiting earlier
    I am unable to spot out why ....
    For calling perl from java ...., We are first calling C code from java using JNI and then Perl code from C
    All works fine if we call only one perl call at a time.... If we call them in a synchronized manner the JVM is not crashing .... But we don't want blocking..
    The following is the code snippet
    <JAVA FILE>
    class Sample
         static {
              System.loadLibrary("xyz");  // Here xyz is the library file generated by compiling c code
         public native void call_PrintList();
         public native void call_PrintListNew();
         Sample()
              new Thread1(this).start();     
         public static void main(String args[])
              System.out.println("In the main Method");
              new Sample().call_PrintList();
         class Thread1 extends Thread
              Sample sample;
              Thread1(Sample sam)
                   sample=sam;
              public void run()
                   sample.call_PrintListNew();     
    }<C FILE>
    #include <EXTERN.h>
    #include <perl.h>
    static PerlInterpreter *my_perl;
    static char * words[] = {"alpha", "beta", "gamma", "delta", NULL } ;
    static void
    call_PrintList(){
         printf("\nIn the Call method of string.c\n");
            char *wor[] = {"hello", "sudha", NULL } ;
               char *my_argv[] = { "", "string.pl" };
               PERL_SYS_INIT3(&argc,&argv,&env);
               my_perl = perl_alloc();
                   PL_perl_destruct_level = 1; //// We have mentioned this also and tried removing destruct call
               perl_construct( my_perl );
               perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
              PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
               perl_run(my_perl);
         dSP ;
            perl_call_argv("PrintList",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
    //     perl_destruct(my_perl);
    //          perl_free(my_perl);
    //           PERL_SYS_TERM();
    static void
    call_PrintListNew(){
    printf("In the new call method\n");
    char *wor[] = {"Hiiiiiiiiiiiiiii", "Satyam123333", NULL } ;
            char *my_argv[] = { "", "string.pl" };
            PERL_SYS_INIT3(&argc,&argv,&env);
            my_perl = perl_alloc();
    PL_perl_destruct_level = 1;
            perl_construct( my_perl );
            perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
            PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
            perl_run(my_perl);
            dSP ;
            perl_call_argv("PrintListNew",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
      //      perl_destruct(my_perl);
      //      perl_free(my_perl);
       //     PERL_SYS_TERM();
    void callNew()
    call_PrintListNew();
    void call ( )
    call_PrintList();
    //char *wor[] = {"hello","sudha",NULL};
    /*   char *my_argv[] = { "", "string.pl" };
          PERL_SYS_INIT3(&argc,&argv,&env);
          my_perl = perl_alloc();
          perl_construct( my_perl );
          perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
         PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
          perl_run(my_perl);*/
       //   call_PrintList();                      /*** Compute 3 ** 4 ***/
    /*      perl_destruct(my_perl);
          perl_free(my_perl);
          PERL_SYS_TERM();*/
        }And Finally the perl code
    sub PrintList
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
    sub PrintListNew
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
            }Please help me in this regard

    Dear Friends,
    I have one severe problem regarding calling perl modules from java
    I had to call two perl modules simultaneously (i.e.) from two threads,,, but jvm crashes when one of the perl calls is exiting earlier
    I am unable to spot out why ....
    For calling perl from java ...., We are first calling C code from java using JNI and then Perl code from C
    All works fine if we call only one perl call at a time.... If we call them in a synchronized manner the JVM is not crashing .... But we don't want blocking..
    The following is the code snippet
    <JAVA FILE>
    class Sample
         static {
              System.loadLibrary("xyz");  // Here xyz is the library file generated by compiling c code
         public native void call_PrintList();
         public native void call_PrintListNew();
         Sample()
              new Thread1(this).start();     
         public static void main(String args[])
              System.out.println("In the main Method");
              new Sample().call_PrintList();
         class Thread1 extends Thread
              Sample sample;
              Thread1(Sample sam)
                   sample=sam;
              public void run()
                   sample.call_PrintListNew();     
    }<C FILE>
    #include <EXTERN.h>
    #include <perl.h>
    static PerlInterpreter *my_perl;
    static char * words[] = {"alpha", "beta", "gamma", "delta", NULL } ;
    static void
    call_PrintList(){
         printf("\nIn the Call method of string.c\n");
            char *wor[] = {"hello", "sudha", NULL } ;
               char *my_argv[] = { "", "string.pl" };
               PERL_SYS_INIT3(&argc,&argv,&env);
               my_perl = perl_alloc();
                   PL_perl_destruct_level = 1; //// We have mentioned this also and tried removing destruct call
               perl_construct( my_perl );
               perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
              PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
               perl_run(my_perl);
         dSP ;
            perl_call_argv("PrintList",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
    //     perl_destruct(my_perl);
    //          perl_free(my_perl);
    //           PERL_SYS_TERM();
    static void
    call_PrintListNew(){
    printf("In the new call method\n");
    char *wor[] = {"Hiiiiiiiiiiiiiii", "Satyam123333", NULL } ;
            char *my_argv[] = { "", "string.pl" };
            PERL_SYS_INIT3(&argc,&argv,&env);
            my_perl = perl_alloc();
    PL_perl_destruct_level = 1;
            perl_construct( my_perl );
            perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
            PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
            perl_run(my_perl);
            dSP ;
            perl_call_argv("PrintListNew",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
      //      perl_destruct(my_perl);
      //      perl_free(my_perl);
       //     PERL_SYS_TERM();
    void callNew()
    call_PrintListNew();
    void call ( )
    call_PrintList();
    //char *wor[] = {"hello","sudha",NULL};
    /*   char *my_argv[] = { "", "string.pl" };
          PERL_SYS_INIT3(&argc,&argv,&env);
          my_perl = perl_alloc();
          perl_construct( my_perl );
          perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
         PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
          perl_run(my_perl);*/
       //   call_PrintList();                      /*** Compute 3 ** 4 ***/
    /*      perl_destruct(my_perl);
          perl_free(my_perl);
          PERL_SYS_TERM();*/
        }And Finally the perl code
    sub PrintList
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
    sub PrintListNew
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
            }Please help me in this regard

Maybe you are looking for

  • How to access a class file outside the package?

    created a two java files Counter.java and TestCounter.java as shown below: public class Counter      public void print()           System.out.println("counter"); package foo; public class TestCounter      public static void main(String args[])       

  • Youtube doesn't display correctly since I installed latest version of firefox

    youtube doesn't display correctly anymore...adobe flash has been updated and java is enabled. This is what it looks like now... "Loading... Videos Music Shows Trailers Live All Categories Categories "

  • Image created from 2 channels + CMYK, has 2 faint marks that show up only in Ai and print from PDF

    Hello all, my head on the chopping block! So we have created an image for packaging. The image is a CMYK glass placed on a knockout gradient created from two spot channels. recently(ready to go to print), we realized there are faint half circle marks

  • JMS Message Format

    Hi, I have to set-up a scenario where I have to load messages from a Message Queue system via XI JMS Adapter into R/3. On R/3 side, we are talking about the Invoices IDoc. Now I have to define the XML structure of the message that has to be provided

  • Update trigger ...problem

    ... i have following requirement for the update of person table 1) if address field is changed then i want to store old address information in one table and then replace the new address in person table 2) if fields other than address are changed then