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

Segmentation violation occured when running JCK 12a Swing Interactive

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1 P1
    • 1.1.8
    • 1.2.1
    • client-libs
    • None
    • 1.1.8
    • sparc
    • solaris_2.6

        The crash ( SIGSEGV 11) occured when trying to run JCK -12a Swing Interactive tests with JDK 1.2.1 j build on Solaris 2.5.1/ 2.6/ 2.7. This did not occur with
        JDK 1.2.1 i build

        Steps to reproduce:

        1) Configure JavaTest to run JCK -12a against JDK 1.2.1 j build
        2) From JavaTest 's GUI, select javax_swing_interactive.jtp file
        3) Click "Open" to open this file
        4) Instead of running through this whole Swing interactive test package, can just run the test cases that can reproduce the crash:

          a) api/javax_swing/interactive/JCheckBoxTests.html#JCheckBox
             (test case failed: JCheckBoxTest0002)
             Tried to scroll down the vertical scrollbar of the test
             window, the test failed with "...unexpected exit code 6. Sigsegv 11:
             Segmentation violation"
         
          b) api/javax_swing/interactive/JProgressBarTests.html#JProgressBar
              (test case failed: JProgressBarTest0008)
              Tried to move the slider, Seg violation occured .

          c) api/javax_swing/interactive/JRadioButtonTests.html#JRadioButton
             (test case failed: JRadioButtonTest0002)
             Sigbus 10- bus error occured when trying to scroll down
             the vertical scrollbar

           
          d) api/javax_swing/interactive/JScrollPaneTests.html#JScrollPane
             (test case failed: JScrollPaneTest0002)
              Sigsegv 11: Seg violation when trying to scroll down
              the vertical scrollbar

          e) api/javax_swing/interactive/JSliderTests.html#JSlider
             (test case failed: JSliderTest0002)
             Sigsegv 11: Seg violation when trying to move the slider

          f) api/javax_swing/interactive/JToggleButtonTests.html#JToggleButton
             (test case failed: JToggleButtonTest0003)
             Sigsegv 11: Seg. violation when trying to scroll down
             the vertical scrollbar

          g) api/javax_swing/interactive/JToolBarTests.html#JToolBar
             (test case failed: JToolBarTest0006)
             Sigsegv 11: Seg. violation when trying to dragg out the toolBar
             from its container (provided that the "foatable" mode selected)

          h) api/javax_swing/interactive/JTreeTests.html#JTree
             (test case failed JTreeTest0020)
             Sigsegv 11: Seg. violation when using the slider to change the
             height of the tree.

        In short, these errors failed with the same characteristic: "Failed: unexpected exit code 6" with Segmentation violation / bug error. It looks a failure in the multi-threading mechanism.

        Also, you can run these tests as standalone without launch JavaTest. Enclosed below is result that Gauri Sharma tried to reproduce it by running the test as standalone. She ran case b above. The stack trace and her comment are also included below:

        --------------------------------------------------------------------------------
        What she did:
        - Start running the JProgressBar tests
        - Randomly click inside the progress bar in each test
        - The crash will eventually occur as you click in a progress bar

        gauri@apollo> java javasoft.sqe.tests.api.javax.swing.interactive.JProgressBar.JProgressBarTests -TestCaseID ALL -TestDirURL file:/home/gauri/js/ws/jck12b/tests/api/javax_swing/interactive/
        JProgressBarTest0001: Passed. JProgressBar created with default constructor behaves as expected.
        JProgressBarTest0002: Passed. JProgressBar created with JProgressBar(int) constructor behaves as expected for horizontal progress bar.
        JProgressBarTest0003: Passed. JProgressBar created with JProgressBar(int) constructor behaves as expected for vertical progress bar.
        JProgressBarTest0004: Passed. JProgressBar created with JProgressBar(int,int) constructor behaves as expected.
        JProgressBarTest0005: Passed. JProgressBar created with JProgressBar(int,int,int) constructor behaves as expected for horizontal progress bar.
        SIGSEGV 11* segmentation violation
            si_signo [11]: SIGSEGV 11* segmentation violation
            si_errno [0]: Error 0
            si_code [1]: SEGV_MAPERR [addr: 0x31323041]

                stackpointer=eaab17c8

        Full thread dump Classic VM (JDK-1.2.1-K, green threads):
            "Screen Updater" (TID:0xebc84090, sys_thread_t:0x78d0f8, state:CW) prio=4
                at java.lang.Object.wait(Native Method)
                at java.lang.Object.wait(Object.java, Compiled Code)
                at sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java, Compiled Code)
                at sun.awt.ScreenUpdater.run(ScreenUpdater.java, Compiled Code)
            "AWT-Motif" (TID:0xebcc5a78, sys_thread_t:0x5c74f0, state:R) prio=5
                at sun.awt.motif.MToolkit.run(Native Method)
                at java.lang.Thread.run(Thread.java, Compiled Code)
            "SunToolkit.PostEventQueue-0" (TID:0xebcc5f28, sys_thread_t:0x5a1090, state:CW) prio=5
                at java.lang.Object.wait(Native Method)
                at java.lang.Object.wait(Object.java, Compiled Code)
                at sun.awt.PostEventQueue.run(SunToolkit.java, Compiled Code)
            "AWT-EventQueue-0" (TID:0xebcc5ee0, sys_thread_t:0x5a0f58, state:CW) prio=6
                at java.lang.Object.wait(Native Method)
                at java.lang.Object.wait(Object.java, Compiled Code)
                at java.awt.EventQueue.getNextEvent(EventQueue.java, Compiled Code)
                at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java, Compiled Code)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java, Compiled Code)
                at java.awt.EventDispatchThread.run(EventDispatchThread.java, Compiled Code)
            "Finalizer" (TID:0xebc98320, sys_thread_t:0x698b0, state:CW) prio=8
                at java.lang.Object.wait(Native Method)
                at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java, Compiled Code)
                at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java, Compiled Code)
                at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
            "Reference Handler" (TID:0xebc983b0, sys_thread_t:0x65420, state:CW) prio=10
                at java.lang.Object.wait(Native Method)
                at java.lang.Object.wait(Object.java, Compiled Code)
                at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
            "Signal dispatcher" (TID:0xebc983e0, sys_thread_t:0x5e628, state:CW) prio=5
            "main" (TID:0xebc981e0, sys_thread_t:0x26970, state:CW) prio=5
                at java.lang.Object.wait(Native Method)
                at javasoft.sqe.jck.lib.InteractiveTest.waitForStatus(InteractiveTest.java, Compiled Code)
                at javasoft.sqe.jck.lib.InteractiveTest.run(InteractiveTest.java, Compiled Code)
                at javasoft.sqe.tests.api.javax.swing.interactive.JProgressBar.JProgressBarTests.main(JProgressBarTests.java, Compiled Code)
        Monitor Cache Dump:
            sun.awt.PostEventQueue@EBCC5F28/EBDC5128: <unowned>
                Waiting to be notified:
                    "SunToolkit.PostEventQueue-0" (0x5a1090)
            javasoft.sqe.tests.api.javax.swing.interactive.JProgressBar.JProgressBarTests@EBCB6830/EBD42C90: <unowned>
                Waiting to be notified:
                    "main" (0x26970)
            sun.awt.ScreenUpdater@EBC84090/EBDE6C60: <unowned>
                Waiting to be notified:
                    "Screen Updater" (0x78d0f8)
            java.lang.ref.ReferenceQueue$Lock@EBC98338/EBCCDD50: <unowned>
                Waiting to be notified:
                    "Finalizer" (0x698b0)
            java.lang.Class@EBCA3858/EBD53FD0: owner "AWT-Motif" (0x5c74f0) 1 entry
            java.awt.EventQueue@EBCC5E08/EBD9D358: <unowned>
                Waiting to be notified:
                    "AWT-EventQueue-0" (0x5a0f58)
            java.lang.ref.Reference$Lock@EBC983C0/EBCCD890: <unowned>
                Waiting to be notified:
                    "Reference Handler" (0x65420)
        Registered Monitor Dump:
            PCMap lock: <unowned>
            utf8 hash table: <unowned>
            JNI pinning lock: <unowned>
            JNI global reference lock: <unowned>
            BinClass lock: <unowned>
            Class linking lock: <unowned>
            System class loader lock: <unowned>
            Code rewrite lock: <unowned>
            Heap lock: <unowned>
            Monitor cache lock: owner "AWT-Motif" (0x5c74f0) 1 entry
            Dynamic loading lock: <unowned>
            Monitor IO lock: <unowned>
            User signal monitor: <unowned>
                Waiting to be notified:
                    "Signal dispatcher" (0x5e628)
            Child death monitor: <unowned>
            I/O monitor: <unowned>
            Alarm monitor: <unowned>
                Waiting to be notified:
                    <unknown thread> (0x2bc60)
            Thread queue lock: owner "AWT-Motif" (0x5c74f0) 1 entry
            Monitor registry: owner "AWT-Motif" (0x5c74f0) 1 entry


        --------------------------------------------------------------------------------

        To reproduce the crash outside of JavaTest:

        % cd /home/dpm/bugs/4219215/javasoft/sqe/tests/api/javax/swing/interactive/JCheckBox

        Run with 1.1.8:

        % /usr/local/java/jdk1.1.8/solaris/bin/java -classpath /usr/local/java/jck1.2/JCK-runtime-api-12a/javatest.jar:/usr/local/java/jck1.2/JCK-runtime-api-12a/classes/:/home/dpm/bugs/4219215/:/usr/local/java/swing-1.1/swing.jar:/usr/local/java/jdk1.1.8/solaris/lib/classes.zip javasoft.sqe.tests.api.javax.swing.interactive.JCheckBox.JCheckBoxTests -TestDirURL file://tmp/foo.html

        Run with 1.2.1:

        % /usr/local/java/jdk1.2.1/solaris/bin/java -classpath /usr/local/java/jck1.2/JCK-runtime-api-12a/javatest.jar:/usr/local/java/jck1.2/JCK-runtime-api-12a/classes/:/home/dpm/bugs/4219215/ javasoft.sqe.tests.api.javax.swing.interactive.JCheckBox.JCheckBoxTests -TestDirURL file://tmp/foo.html

        Run with 1.1.8 in dbx:

        % jdkx -r 1.1.8 -g -dbx -classpath /usr/local/java/jck1.2/JCK-runtime-api-12a/javatest.jar:/usr/local/java/jck1.2/JCK-runtime-api-12a/classes/:/home/dpm/bugs/4219215/:/usr/local/java/swing-1.1/swing.jar:/usr/local/java/jdk1.1.8/solaris/lib/classes.zip -native javasoft.sqe.tests.api.javax.swing.interactive.JCheckBox.JCheckBoxTests -TestDirURL file://tmp/foo.html

        Run with 1.2.1 in dbx:

        % jdkx -r 1.2.1 -g -dbx -classpath /usr/local/java/jck1.2/JCK-runtime-api-12a/javatest.jar:/usr/local/java/jck1.2/JCK-runtime-api-12a/classes/:/home/dpm/bugs/4219215/ -native javasoft.sqe.tests.api.javax.swing.interactive.JCheckBox.JCheckBoxTests -TestDirURL file://tmp/foo.html

        david.mendenhall@eng 1999-03-11


        -----------------
        ###@###.### 1999-03-22

        - Verified that this bug no longer occurs with JDK 1.2.1 - L build

              mbronsonsunw Mike Bronson (Inactive)
              hungnguy Hung Nguyen (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: