Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4216393

java2d is unstable in JDK build "I"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1 P1
    • 1.2.2
    • 1.2.1, 1.2.2
    • client-libs
    • 2d
    • 1.2.2
    • generic, sparc
    • solaris_2.5, solaris_2.5.1

      Problems started with "I" build. This is flakey and crashes consistently,
      but running different tests, rather than the same test...problem is timing
      dependent in some way. To reproduce the problem, run the JCK selecting
      the java2d test suite, api/java_awt/java2d/index.html

      For more information please contact gauri@eng

      ------- crash with no trace shown below ---------------

      SIGSEGV 11* segmentation violation
          si_signo [11]: SIGSEGV 11* segmentation violation
          si_errno [0]: Error 0
          si_code [1]: SEGV_MAPERR [addr: 0x1C]

              stackpointer=e6921a20
      Segmentation Fault

      -------- another ----------

      SIGSEGV 11* segmentation violation
          si_signo [11]: SIGSEGV 11* segmentation violation
          si_errno [0]: Error 0
          si_code [1]: SEGV_MAPERR [addr: 0x10]

              stackpointer=e6921610

      ------ this one gave us a trace --------



      SIGSEGV 11* segmentation violation
          si_signo [11]: SIGSEGV 11* segmentation violation
          si_errno [0]: Error 0
          si_code [2]: SEGV_ACCERR [addr: 0xEF6F3380]

              stackpointer=e69211a0

      Full thread dump Classic VM (JDK-1.2.1-I, green threads):
          "JavaTest-SlaveThread-0" (TID:0xe846b6c8, sys_thread_t:0x4f0cc0, state:R) prio=3
              at sun.awt.geom.AreaOp.addEdges(AreaOp.java:165)
              at sun.awt.geom.AreaOp.calculate(AreaOp.java:146)
              at java.awt.geom.Area.<init>(Area.java:125)
              at javasoft.sqe.tests.api.java.awt.java2d.geom.Area.ConstructorTest.testCase3(ConstructorTest.java:185)
              at java.lang.reflect.Method.invoke(Native Method)
              at javasoft.sqe.jck.lib.MultiTest.runTests(MultiTest.java:149)
              at javasoft.sqe.jck.lib.MultiTest.run(MultiTest.java:116)
              at javasoft.sqe.javatest.lib.ExecJCKTestSameJVMCmd.executeOldTest(ExecJCKTestSameJVMCmd.java:223)
              at javasoft.sqe.javatest.lib.ExecJCKTestSameJVMCmd.run(ExecJCKTestSameJVMCmd.java:135)
              at javasoft.sqe.javatest.SlaveThread.executeCommand(Slave.java:549)
              at javasoft.sqe.javatest.SlaveThread.handleRequest(Slave.java:380)
              at javasoft.sqe.javatest.SlaveThread.run(Slave.java:305)
          "Timer0" (TID:0xe846b0d0, sys_thread_t:0x4f0b88, state:CW) prio=6
              at java.lang.Object.wait(Native Method)
              at javasoft.sqe.javatest.util.Timer.run(Timer.java:149)
          "SlavePanel worker thread" (TID:0xe846ad28, sys_thread_t:0x4ab2f0, state:CW) prio=6
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at javasoft.sqe.javatest.Slave.run(Slave.java:130)
              at java.lang.Thread.run(Thread.java:479)
          "Screen Updater" (TID:0xe8462b60, sys_thread_t:0x485af0, state:CW) prio=4
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:79)
              at sun.awt.ScreenUpdater.run(ScreenUpdater.java:99)
          "AWT-Motif" (TID:0xe8458498, sys_thread_t:0x40a328, state:CW) prio=5
              at sun.awt.motif.MToolkit.run(Native Method)
              at java.lang.Thread.run(Thread.java:479)
          "SunToolkit.PostEventQueue-0" (TID:0xe8458200, sys_thread_t:0x3e6758, state:CW) prio=5
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at sun.awt.PostEventQueue.run(SunToolkit.java:413)
          "AWT-EventQueue-0" (TID:0xe8458230, sys_thread_t:0x3ec800, state:CW) prio=6
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at java.awt.EventQueue.getNextEvent(EventQueue.java:196)
              at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:95)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:87)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:78)
          "Finalizer" (TID:0xe83326c8, sys_thread_t:0x78300, state:CW) prio=8
              at java.lang.Object.wait(Native Method)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
              at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
          "Reference Handler" (TID:0xe83324a0, sys_thread_t:0x7ae30, state:CW) prio=10
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
          "Signal dispatcher" (TID:0xe83324d8, sys_thread_t:0x506c8, state:CW) prio=5
          "Thread-0" (TID:0xe84683b0, sys_thread_t:0x26d90, state:CW) prio=5
      Monitor Cache Dump:
          java.lang.ref.ReferenceQueue$Lock@E83326D8/E899CE90: <unowned>
              Waiting to be notified:
                  "Finalizer" (0x78300)
          javasoft.sqe.javatest.Slave@E846AD50/E8BB3AA0: <unowned>
              Waiting to be notified:
                  "SlavePanel worker thread" (0x4ab2f0)
          java.lang.ref.Reference$Lock@E83324B0/E899C940: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
              Waiting to be notified:
                  "Reference Handler" (0x7ae30)
          sun.awt.PostEventQueue@E8458200/E8B7F988: <unowned>
              Waiting to be notified:
                  "SunToolkit.PostEventQueue-0" (0x3e6758)
          sun.awt.ScreenUpdater@E8462B60/E8BA2250: <unowned>
              Waiting to be notified:
                  "Screen Updater" (0x485af0)
          java.awt.EventQueue@E8457FF8/E8B7F550: <unowned>
              Waiting to be notified:
                  "AWT-EventQueue-0" (0x3ec800)
          javasoft.sqe.javatest.util.Timer@E846B0D0/E8BB3C98: <unowned>
              Waiting to be notified:
                  "Timer0" (0x4f0b88)
      Registered Monitor Dump:
          utf8 hash table: <unowned>
          JNI pinning lock: <unowned>
          JNI global reference lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
          BinClass lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
          Class linking lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
          System class loader lock: <unowned>
          Code rewrite lock: <unowned>
          Heap lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
          Monitor cache lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 2 entries
          Dynamic loading lock: <unowned>
          Monitor IO lock: <unowned>
          User signal monitor: <unowned>
              Waiting to be notified:
                  "Signal dispatcher" (0x506c8)
          Child death monitor: <unowned>
          I/O monitor: <unowned>
              Waiting to be notified:
                  "AWT-Motif" (0x40a328)
          Alarm monitor: <unowned>
              Waiting to be notified:
                  <unknown thread> (0x2c080)
          Thread queue lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 2 entries
              Waiting to be notified:
                  "Thread-0" (0x26d90)
          Monitor registry: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry

      SIGABRT 6* abort (generated by abort(3) routine)
          si_signo [6]: SIGABRT 6* abort (generated by abort(3) routine)
          si_errno [0]: Error 0
          si_code [0]: SI_USER [pid: 18107, uid: 37364]
              stackpointer=e69211a0

      Full thread dump Classic VM (JDK-1.2.1-I, green threads):
          "JavaTest-SlaveThread-0" (TID:0xe846b6c8, sys_thread_t:0x4f0cc0, state:R) prio=3
              at sun.awt.geom.AreaOp.addEdges(AreaOp.java:165)
              at sun.awt.geom.AreaOp.calculate(AreaOp.java:146)
              at java.awt.geom.Area.<init>(Area.java:125)
              at javasoft.sqe.tests.api.java.awt.java2d.geom.Area.ConstructorTest.testCase3(ConstructorTest.java:185)
              at java.lang.reflect.Method.invoke(Native Method)
              at javasoft.sqe.jck.lib.MultiTest.runTests(MultiTest.java:149)
              at javasoft.sqe.jck.lib.MultiTest.run(MultiTest.java:116)
              at javasoft.sqe.javatest.lib.ExecJCKTestSameJVMCmd.executeOldTest(ExecJCKTestSameJVMCmd.java:223)
              at javasoft.sqe.javatest.lib.ExecJCKTestSameJVMCmd.run(ExecJCKTestSameJVMCmd.java:135)
              at javasoft.sqe.javatest.SlaveThread.executeCommand(Slave.java:549)
              at javasoft.sqe.javatest.SlaveThread.handleRequest(Slave.java:380)
              at javasoft.sqe.javatest.SlaveThread.run(Slave.java:305)
          "Timer0" (TID:0xe846b0d0, sys_thread_t:0x4f0b88, state:CW) prio=6
              at java.lang.Object.wait(Native Method)
              at javasoft.sqe.javatest.util.Timer.run(Timer.java:149)
          "SlavePanel worker thread" (TID:0xe846ad28, sys_thread_t:0x4ab2f0, state:CW) prio=6
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at javasoft.sqe.javatest.Slave.run(Slave.java:130)
              at java.lang.Thread.run(Thread.java:479)
          "Screen Updater" (TID:0xe8462b60, sys_thread_t:0x485af0, state:CW) prio=4
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:79)
              at sun.awt.ScreenUpdater.run(ScreenUpdater.java:99)
          "AWT-Motif" (TID:0xe8458498, sys_thread_t:0x40a328, state:CW) prio=5
              at sun.awt.motif.MToolkit.run(Native Method)
              at java.lang.Thread.run(Thread.java:479)
          "SunToolkit.PostEventQueue-0" (TID:0xe8458200, sys_thread_t:0x3e6758, state:CW) prio=5
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at sun.awt.PostEventQueue.run(SunToolkit.java:413)
          "AWT-EventQueue-0" (TID:0xe8458230, sys_thread_t:0x3ec800, state:CW) prio=6
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at java.awt.EventQueue.getNextEvent(EventQueue.java:196)
              at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:95)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:87)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:78)
          "Finalizer" (TID:0xe83326c8, sys_thread_t:0x78300, state:CW) prio=8
              at java.lang.Object.wait(Native Method)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
              at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
          "Reference Handler" (TID:0xe83324a0, sys_thread_t:0x7ae30, state:CW) prio=10
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:424)
              at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
          "Signal dispatcher" (TID:0xe83324d8, sys_thread_t:0x506c8, state:CW) prio=5
          "Thread-0" (TID:0xe84683b0, sys_thread_t:0x26d90, state:CW) prio=5
      Monitor Cache Dump:
          java.lang.ref.ReferenceQueue$Lock@E83326D8/E899CE90: <unowned>
              Waiting to be notified:
                  "Finalizer" (0x78300)
          javasoft.sqe.javatest.Slave@E846AD50/E8BB3AA0: <unowned>
              Waiting to be notified:
                  "SlavePanel worker thread" (0x4ab2f0)
          java.lang.ref.Reference$Lock@E83324B0/E899C940: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
              Waiting to be notified:
                  "Reference Handler" (0x7ae30)
          sun.awt.PostEventQueue@E8458200/E8B7F988: <unowned>
              Waiting to be notified:
                  "SunToolkit.PostEventQueue-0" (0x3e6758)
          sun.awt.ScreenUpdater@E8462B60/E8BA2250: <unowned>
              Waiting to be notified:
                  "Screen Updater" (0x485af0)
          java.awt.EventQueue@E8457FF8/E8B7F550: <unowned>
              Waiting to be notified:
                  "AWT-EventQueue-0" (0x3ec800)
          javasoft.sqe.javatest.util.Timer@E846B0D0/E8BB3C98: <unowned>
              Waiting to be notified:
                  "Timer0" (0x4f0b88)
      Registered Monitor Dump:
          utf8 hash table: <unowned>
          JNI pinning lock: <unowned>
          JNI global reference lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
          BinClass lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
          Class linking lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
          System class loader lock: <unowned>
          Code rewrite lock: <unowned>
          Heap lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry
          Monitor cache lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 2 entries
          Dynamic loading lock: <unowned>
          Monitor IO lock: <unowned>
          User signal monitor: <unowned>
              Waiting to be notified:
                  "Signal dispatcher" (0x506c8)
          Child death monitor: <unowned>
          I/O monitor: <unowned>
              Waiting to be notified:
                  "AWT-Motif" (0x40a328)
          Alarm monitor: <unowned>
              Waiting to be notified:
                  <unknown thread> (0x2c080)
          Thread queue lock: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 2 entries
              Waiting to be notified:
                  "Thread-0" (0x26d90)
          Monitor registry: owner "JavaTest-SlaveThread-0" (0x4f0cc0) 1 entry

      -----stevef, more info on how to reproduce ------
      Running java with jit off...

      Master-Slave Runtime Testing on Solaris

      - Preferrable to have 2 gigs of local hard drive space, 128+ Megs Ram
        Below we assume a disk partition /single with large amounts of free storage

      - The configuration below has the JDK on a network drive. Alternately the JDK
        may be installed locally.
        
      - A .java.policy file should NOT be in place for master-slave testing

      ===== for the runtime api JCK =========================================================

        - Create a directory /single
        
        - Path to zip file is /java/jck/workspaces/unzip-test-I/jck-runtime-api-121.zip
        
        - cd to /single and unzip the jck-runtime-api zip file using
          unzip <path to zip file>/<jck-runtime-api zip file name>
              
        - Rename the top level JCK-runtime-api directory to JCK-12
        
        - cd to JCK-12 and "unzip classes.zip"

        - cd to lib
          copy javasoft-runtime.jte to javasoft.jte
          edit javasoft.jte making path the following changes under "singleJVM":
          
            *.testExecute...change DISPLAY=$DISPLAY to DISPLAY=sfleming:0.0 or appropriate value
            
        - open a new shell window
          setenv CLASSPATH /single/JCK-12/classes:/single/JCK-12/javatest.jar
          /usr/local/java/jdk1.2.1/solaris/bin/java -Xfuture -ms32m -mx128m -Djava.compiler=NONE javasoft.sqe.javatest.slavetool.SlaveFrame
          ...this launches the JavaTest Slave GUI

      * Note: to test with JIT off, use -Djava.compiler=NONE above
          
        - open a new shell window
          setenv CLASSPATH /single/JCK-12/classes:/single/JCK-12/javatest.jar
          /usr/local/java/jdk1.2.1/solaris/bin/java -Xfuture -ms32m -mx128m javasoft.sqe.javatest.tool.Main -startSlavePool lib/runtime-batch.jtp
          ...this launches the JavaTest GUI
          
        - enter "sfleming" in the "host name" entry field on the slave GUI, or the
          appropriate name for machine the master is running on. The slave GUI should
          indicate a successful connection is established.
          
        - In the Javatest GUI set:
              "Which tests to run", add initial file: api/java_awt/java2d/index.html
         "How to Execute" envfile, change to javasoft.jte from javasoft-compiler.jte
         "How to Execute" environment, choose: singleJVM
         "Where to Put the Results" "work" /single/a1w, "report" /single/a1r
        
      ===== stevef, 3/9/99 ===

      Please note this problem was reproduced by Thanh on a uniprocessor Ultra.

            tnguyensunw Thanh Nguyen (Inactive)
            sflemingsunw Steve Fleming (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: