Topic
  • 6 replies
  • Latest Post - ‏2010-03-25T11:20:03Z by SystemAdmin
SystemAdmin
SystemAdmin
15 Posts

Pinned topic Beta hangs NetBeans 6.8

‏2010-03-17T11:57:53Z |
I tried the JVM using NetBeans 6.8, Fedora 12 Linux x64 and after half a minute it hangs solid with an entire CPU saturated.
Updated on 2010-03-25T11:20:03Z at 2010-03-25T11:20:03Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    15 Posts

    Re: Beta hangs NetBeans 6.8

    ‏2010-03-23T16:41:15Z  
    Hello,

    Could you gather a bit of information to help track this down please

    Can you run the following top command once it hangs:

    top -H -b -c > top_threads.out

    And also gather a number of javacore files by sending a kill -3 to the java process.

    The top should show which threads are using the CPU and the javacore will allow us to map that to what code is executing at the time.

    Ben Hardill
  • SystemAdmin
    SystemAdmin
    15 Posts

    Re: Beta hangs NetBeans 6.8

    ‏2010-03-24T16:13:47Z  
    Hello,

    Could you gather a bit of information to help track this down please

    Can you run the following top command once it hangs:

    top -H -b -c > top_threads.out

    And also gather a number of javacore files by sending a kill -3 to the java process.

    The top should show which threads are using the CPU and the javacore will allow us to map that to what code is executing at the time.

    Ben Hardill
    I've run all day with this time NetBeans 6.9m1 and it just hung. I'm running with the options

    netbeans_default_options="-J-Xss2m --fontsize 12 -J-Djava.library.path=/usr/lib64/ -J-Dapple.laf.useScreenMenuBar=true --laf javax.swing.plaf.metal.MetalLookAndFeel -J-Xmx2048m -J-Dnetbeans.logger.console=true -J-Xshareclasses -J-Xcompressedrefs -J-Xscmx256m"

    I've attached the javacore file. Can only attach one file so I'll attach the top output on a reply message.
  • SystemAdmin
    SystemAdmin
    15 Posts

    Re: Beta hangs NetBeans 6.8

    ‏2010-03-24T16:14:40Z  
    I've run all day with this time NetBeans 6.9m1 and it just hung. I'm running with the options

    netbeans_default_options="-J-Xss2m --fontsize 12 -J-Djava.library.path=/usr/lib64/ -J-Dapple.laf.useScreenMenuBar=true --laf javax.swing.plaf.metal.MetalLookAndFeel -J-Xmx2048m -J-Dnetbeans.logger.console=true -J-Xshareclasses -J-Xcompressedrefs -J-Xscmx256m"

    I've attached the javacore file. Can only attach one file so I'll attach the top output on a reply message.
    The top output is attached.
  • SystemAdmin
    SystemAdmin
    15 Posts

    Re: Beta hangs NetBeans 6.8

    ‏2010-03-24T16:57:23Z  
    The top output is attached.
    Hi,

    Thanks for that, it's pointing* to something going astray in the JIT while trying to compile a method.

    Unfortunately we don't have enough information about what the method is, but if you can run with -Xjit:verbose={compileStart|compileEnd},vlog=/tmp/jit.log it should output which method it's compiling at the time to /tmp/jit.log. The output looks like this:

    
    (warm) Compiling java/lang/Math.max(II)I t=122140 + (hot) java/lang/Math.max(II)I @ 0x10C11DA4-0x10C11DDD
    


    You can then feed this back in to get the JIT to exclude compiling like this.

    -Xjit:exclude={java/lang/Math.max(II)I}

    If you can let me know what the method signature is I'll pass it to the JIT guys to have a look at.

    Ben Hardill

    • If you take the pid of the thread that's using all the CPU from the top output (17534) and convert it to hex (0x447E) this gives you the native thread ID in the javacore, in this case "JIT Compilation Thread".
  • SystemAdmin
    SystemAdmin
    15 Posts

    Re: Beta hangs NetBeans 6.8

    ‏2010-03-25T10:48:14Z  
    Hi,

    Thanks for that, it's pointing* to something going astray in the JIT while trying to compile a method.

    Unfortunately we don't have enough information about what the method is, but if you can run with -Xjit:verbose={compileStart|compileEnd},vlog=/tmp/jit.log it should output which method it's compiling at the time to /tmp/jit.log. The output looks like this:

    <pre class="jive-pre"> (warm) Compiling java/lang/Math.max(II)I t=122140 + (hot) java/lang/Math.max(II)I @ 0x10C11DA4-0x10C11DDD </pre>

    You can then feed this back in to get the JIT to exclude compiling like this.

    -Xjit:exclude={java/lang/Math.max(II)I}

    If you can let me know what the method signature is I'll pass it to the JIT guys to have a look at.

    Ben Hardill

    • If you take the pid of the thread that's using all the CPU from the top output (17534) and convert it to hex (0x447E) this gives you the native thread ID in the javacore, in this case "JIT Compilation Thread".
    It's hanging: I've attached the JIT log.
  • SystemAdmin
    SystemAdmin
    15 Posts

    Re: Beta hangs NetBeans 6.8

    ‏2010-03-25T11:20:03Z  
    It's hanging: I've attached the JIT log.
    OK, Thanks for that.

    So the last entry in the log is:

    (warm) Compiling org/netbeans/modules/versioning/util/queries/DiffFileEncodingQueryImpl.getEncoding(Lorg/openide/filesystems/FileObject;)Ljava/nio/charset/Charset; t=2578096

    which means you want to add the following command line option:

    -Xjit:exclude={org/netbeans/modules/versioning/util/queries/DiffFileEncodingQueryImpl.getEncoding(Lorg/openide/filesystems/FileObject;)Ljava/nio/charset/Charset}

    That should work around the problem while it gets looked at.

    Ben Hardill