4 Replies Latest reply on Nov 10, 2009 10:19 AM by Peter Johnson

    JVM Crash on Xen

    Rob Shepherd Newbie

      Vanilla download of 5.1.0-GA on Ubuntu Hardy 8.04 Xen PV Guest.

      The JVM Crashes (libjvm) with a seemingly arbitrary SIGSEGV shortly (1-10s) after starting AS.

      Tried and tested with all available JVMs
      1.5 through 1.7 (sun and openjdk)

      Nevertheless,
      The system is stable when reducing the amount of memory allocated to the system from 4GB to 1GB

      Who can I report this to? JBoss? Ubuntu? Xen?

      I will shortly find the exact failure value for allocated memory.

      What can I get/produce/generate to assist in getting this fixed?

      Many thanks

      Rob

        • 1. Re: JVM Crash on Xen
          Peter Johnson Master

          Since it is a JVM crash, you should talk to the JVM vendors. Of course, they will probably blame it on Xen, so you will have to get those people involved also. Good luck. Too bad you aren't using RHEL with a support contract... (Or perhaps you have a support contract for Ubuntu?)

          • 2. Re: JVM Crash on Xen
            Peter Johnson Master

            One more thought - try setting min and max heap size to the same value and see if that helps.

            • 3. Re: JVM Crash on Xen
              Rob Shepherd Newbie

              Thanks Peter,

              Xms == Xmx shows no difference.

              Odd numbers though.

              1791 MB jvm crashes
              1792 MB (1.75000 GB) stable.

              No other Java programs are affected, only JBoss.

              Does JBoss do some memory manipulation, or populate some large datastructures at startup?

              Thanks

              Rob

              • 4. Re: JVM Crash on Xen
                Peter Johnson Master

                 

                No other Java programs are affected

                Can I assume that you run those other Java programs also with heaps of 1792MB or greater?

                Does JBoss do some memory manipulation, or populate some large datastructures at startup?

                No pure Java app can manipulate memory - all it can do is allocate objects, it is the JVM that asks for memory and the OS that allocates the memory to the app as needed. Also, I was working with a customer a few weeks ago who was trying to pin down some memory leaks and for the web services that had no such leaks we were down to a 64MB heap and still never got an OOME, so I would say no, JBoss AS does not allocate large data structures at startup. It does, however, call System.gc() a few times during startup which causes a major collection and the JVM always "readjusts" the memory during major collections. I suspect that the crash happens during one of those readjustments.