Topic
IC4NOTICE: developerWorks Community will be offline May 29-30, 2015 while we upgrade to the latest version of IBM Connections. For more information, read our upgrade FAQ.
6 replies Latest Post - ‏2010-03-25T11:20:03Z by SystemAdmin
SystemAdmin
SystemAdmin
15 Posts
ACCEPTED ANSWER

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
    ACCEPTED ANSWER

    Re: Beta hangs NetBeans 6.8

    ‏2010-03-23T16:41:15Z  in response to SystemAdmin
    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
      ACCEPTED ANSWER

      Re: Beta hangs NetBeans 6.8

      ‏2010-03-24T16:13:47Z  in response to SystemAdmin
      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
        ACCEPTED ANSWER

        Re: Beta hangs NetBeans 6.8

        ‏2010-03-24T16:14:40Z  in response to SystemAdmin
        The top output is attached.
        • SystemAdmin
          SystemAdmin
          15 Posts
          ACCEPTED ANSWER

          Re: Beta hangs NetBeans 6.8

          ‏2010-03-24T16:57:23Z  in response to SystemAdmin
          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
            ACCEPTED ANSWER

            Re: Beta hangs NetBeans 6.8

            ‏2010-03-25T10:48:14Z  in response to SystemAdmin
            It's hanging: I've attached the JIT log.
            • SystemAdmin
              SystemAdmin
              15 Posts
              ACCEPTED ANSWER

              Re: Beta hangs NetBeans 6.8

              ‏2010-03-25T11:20:03Z  in response to SystemAdmin
              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