System.CurrentTimeMillis(), load, and WebLogic

Discussions

Performance and scalability: System.CurrentTimeMillis(), load, and WebLogic

  1. System.CurrentTimeMillis(), load, and WebLogic (8 messages)

    FYI,

    I have encountered a interesting bug/feature that keeps popping up. It is repeatable, however, not always under the same exact conditions.

    Basically, under load(not necessarily heavy) in WebLogic 6.1 and 7.0, if you request System.CurrentTimeMillis() once per page and use a load tool to load up a sequence of pages, the managed servers in the WebLogic cluster will eventually crash. I have run a threaded routine on the UNIX box to test the requesting of System.CurrentTimeMillis() separate of WebLogic and this doesn't crash, so it appears to be WebLogic specific.

    If you remove the System.CurrentTimeMillis() from the same pages and apply load all works fine.

    It is an interesting bug/feature and was just wondering if anyone had seen it...

    cb
  2. Hi Craig,

    Interesting problem. Can you give us more details of the crash and what your platform is in terms of JDK. As you no doubt know CurrentTimeMillis (like a lot of Java) is simply a native method call to the systems time function and should be quite simple. Did you try changing the JDK in use? Are you running on Unix or Windows? Did the system crash (check the coredump or rerun the JDK with truss) or simply hang (thread dump). You could also try turning hotspot off although this shouldn't make a difference.

    Just some ideas to narrow down the problem, I would ask BEA about it too. I've not seen the problem myself.

    David
  3. Not a problem at all.
    We are running a 2-instance cluster on WebLogic 7.0.1 on Solaris 2.8 running

    java version "1.3.1_03"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_03-b03)
    Java HotSpot(TM) Client VM (build 1.3.1_03-b03, mixed mode)

    for the jdk.

    I have tried this on WebLogic 6.1 sp1 as well and got the same results, although it took longer to crash.

    By crash I mean that both instances freeze up and the following message is displayed(this is an older message from the other jdk I tried, but the error messages are similar. I have tried different jdk's to no avail):

    Unexpected Signal : 11 occurred at PC=0xfe0b5cf0
    Function name=JVM_CurrentTimeMillis
    Library=/usr/j2sdk1_3_1/jre/lib/sparc/server/libjvm.so

    Current Java thread:

    Dynamic libraries:
    0x10000 /usr/j2sdk1_3_1/jre/bin/../bin/sparc/native_threads/java
    0xff350000 /usr/lib/libthread.so.1
    0xff390000 /usr/lib/libdl.so.1
    0xff200000 /usr/lib/libc.so.1
    0xff330000 /usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1
    0xfe000000 /usr/j2sdk1_3_1/jre/lib/sparc/server/libjvm.so
    0xff2e0000 /usr/lib/libCrun.so.1
    0xff1e0000 /usr/lib/libsocket.so.1
    0xff100000 /usr/lib/libnsl.so.1
    0xff0d0000 /usr/lib/libm.so.1
    0xff310000 /usr/lib/libw.so.1
    0xff0b0000 /usr/lib/libmp.so.2
    0xff080000 /usr/j2sdk1_3_1/jre/lib/sparc/native_threads/libhpi.so
    0xff050000 /usr/j2sdk1_3_1/jre/lib/sparc/libverify.so
    0xfe7c0000 /usr/j2sdk1_3_1/jre/lib/sparc/libjava.so
    0xff020000 /usr/j2sdk1_3_1/jre/lib/sparc/libzip.so
    0xfe560000 /usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.2
    0xfdfe0000 /usr/j2sdk1_3_1/jre/lib/sparc/libnet.so
    0xfdfc0000 /usr/lib/nss_files.so.1
    0xfdf90000 /export/home/weblogic/bea-dev2/wlserver6.1/lib/solaris/libmuxer.so
    0xfdd80000 /usr/j2sdk1_3_1/jre/lib/sparc/libioser12.so

    Local Time = Thu Sep 12 07:51:13 2002
    Elapsed Time = 1146
    #
    # HotSpot Virtual Machine Error : 11
    # Error ID : 4F530E43505002CC 01
    # Please report this error at
    # http://java.sun.com/cgi-bin/bugreport.cgi
    #
    # Java VM: Java HotSpot(TM) Server VM (1.3.1-b24 mixed mode)
    #

    See what you think about what I said and let me know if you need anything else. I agree this should be a simple thing to do, but I keep seeing crashing under heavy load.
  4. Hi Craig,

    Your configuration looks ok, the JDK and VM match, here are a couple of ideas:-

    2. Did you correctly patch Solaris 2.8 for this JDK release (if this was necessary)?

    3. Did you try running without hotspot?

    Otherwise this seems to be a JVM problem to me. I looked at the Sun bug parade and there was a similar problem posted: Bug Id 4427662 but the Sun engineers were unable to reproduce, this was with the same JDK on B19.

    David
  5. running as server seems to be the issue. In client mode, no problems.

    So, the question is do we run without -server optimizations or risk crashing.

    I think we run in -client mode and live with it until this is fixed.
  6. Did you report the bug to Sun/Weblogic?

    Good luck,

    David
  7. well, after re-reading the documentation, weblogic does not support this in -server mode, so I guess there you have it. Maybe they know of it. I posted this issue in the newsgroups and no one responded so I would imagine that no one is running into this type of issue.....
  8. Hi,
    You should try a 1.3.1_05 : have a look at http://developer.java.sun.com/developer/bugParade/bugs/4499777.html
    Regards
    Benjamin
  9. Although that sounds like a good idea, it is not approved accroding to BEA as certified to run on that, so you might run into other problems by running that JDK

    This is what it says for certification on Solaris 2.8:

    SunSoft SDK 1.3.1_02
    JavaTM 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02) with Java HotSpot TM Client VM (build 1.3.1_02-b02, mixed mode)




    SunSoft SDK 1.3.1_03
    JavaTM 2 Runtime Environment, Standard Edition (build 1.3.1_03-b03) with Java HotSpot TM Client VM (build 1.3.1_03-b03, mixed mode)