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

core dump during jck test if DISPLAY not initialized

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.2.0
    • Fix Version/s: None
    • Component/s: client-libs
    • Subcomponent:
    • CPU:
      generic
    • OS:
      solaris_2.5

      Description

      If the JCK signature test is run in singleJVM mode without setting the
      DISPLAY environment variable the JDK dumps core. See trace below.
      This problem is easily reproduced by removing the JCK code in
      build/tests/run-jck.sh that sets the environment variable and then
      performing an "INITIALURL" build of api/SignatureTest/index.html

      > SIGSEGV 11* segmentation violation
      > si_signo [11]: SIGSEGV 11* segmentation violation
      > si_errno [0]: Error 0
      > si_code [1]: SEGV_MAPERR [addr: 0x0]
      >
      > stackpointer=EF191250
      >
      > Full thread dump:
      > "JavaTest-SlaveThread-1" (TID:0xebcb7e90, sys_thread_t:0x19bfd0, state:R)
      > prio=3
      > at java.lang.StringBuffer.expandCapacity(Compiled Code)
      > at java.lang.StringBuffer.append(Compiled Code)
      > at
      > javasoft.sqe.tests.api.SignatureTest.DefinitionFormat.removeModifier(Compiled
      > Code)
      > at
      > javasoft.sqe.tests.api.SignatureTest.DefinitionFormat.getDefinition(Compiled
      > Code)
      > at javasoft.sqe.tests.api.SignatureTest.MemberEntry.<init>(Compiled
      > Code)
      > at
      > javasoft.sqe.tests.api.SignatureTest.TableOfClass.createMembers(Compiled Code)
      > at
      > javasoft.sqe.tests.api.SignatureTest.ClassSignatureReader.nextClass(Compiled
      > Code)
      > at javasoft.sqe.tests.api.SignatureTest.SignatureTest.verify(Compiled
      > Code)
      > at javasoft.sqe.tests.api.SignatureTest.SignatureTest.run(Compiled
      Code)
      > at
      > javasoft.sqe.javatest.lib.ExecJCKTestSameJVMCmd.executeOldTest(Compiled Code)
      > at javasoft.sqe.javatest.lib.ExecJCKTestSameJVMCmd.run(Compiled Code)
      > at javasoft.sqe.javatest.SlaveThread.executeCommand(Compiled Code)
      > at javasoft.sqe.javatest.SlaveThread.handleRequest(Compiled Code)
      > at javasoft.sqe.javatest.SlaveThread.run(Compiled Code)
      > "JavaTest-SlaveThread-0" (TID:0xebcb8360, sys_thread_t:0x19bea8, state:CW)
      > prio=3
      > at java.net.SocketInputStream.socketRead(Native Method)
      > at java.net.SocketInputStream.read(Compiled Code)
      > at java.net.SocketInputStream.read(Compiled Code)
      > at java.io.DataInputStream.readShort(Compiled Code)
      > at javasoft.sqe.javatest.SlaveThread.handleRequest(Compiled Code)
      > at javasoft.sqe.javatest.SlaveThread.run(Compiled Code)
      > "Timer0" (TID:0xebcb8c20, sys_thread_t:0x188578, state:CW) prio=5
      > at java.lang.Object.wait(Native Method)
      > at java.lang.Object.wait(Compiled Code)
      > at javasoft.sqe.javatest.util.Timer.run(Compiled Code)
      > "Finalizer" (TID:0xebc984d8, sys_thread_t:0x60fd8, state:R) prio=8
      *current
      > thread*
      > at java.awt.Font.pDispose(Native Method)
      > at java.awt.Font.finalize(Compiled Code)
      > at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
      > at java.lang.ref.Finalizer.runFinalizer(Compiled Code)
      > at java.lang.ref.Finalizer.access$1(Compiled Code)
      > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:129)
      > "Reference Handler" (TID:0xebc98568, sys_thread_t:0x62630, state:CW)
      prio=10
      > at java.lang.Object.wait(Native Method)
      > at java.lang.Object.wait(Compiled Code)
      > at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:209)
      > "Signal dispatcher" (TID:0xebc985a0, sys_thread_t:0x52348, state:CW)
      prio=10
      > "main" (TID:0xebc983f8, sys_thread_t:0x28b70, state:CW) prio=5
      > at java.lang.Object.wait(Native Method)
      > at java.lang.Object.wait(Compiled Code)
      > at javasoft.sqe.javatest.Slave.run(Compiled Code)
      > at javasoft.sqe.javatest.SlaveMain.main(Compiled Code)
      > Monitor Cache Dump:
      > java.lang.ref.Finalizer@EBB343D8/EC788668: owner "Finalizer" (0x60fd8, 1
      > entry)
      > java.lang.StringBuffer@EBB26040/EC7EF130: owner "JavaTest-SlaveThread-1"
      > (0x19bfd0, 1 entry)
      > 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>
      > Dynamic loading lock: <unowned>
      > Monitor IO lock: <unowned>
      > User signal monitor: <unowned>
      > Waiting to be notified:
      > "Signal dispatcher" (0x52348)
      > Child death monitor: <unowned>
      > I/O monitor: <unowned>
      > Alarm monitor: <unowned>
      > Waiting to be notified:
      > Internal clock thread (ef7a0c38)
      > Thread queue lock: <unowned>
      > Monitor registry: owner "Finalizer" (0x60fd8, 1 entry)
      >

      ------ more info on reproducing problem, ssf, 8/12/98 -----------

      cd jckj
      sfleming% cat ../jckint/bringover
      bringover -p /usr/sqe/workspaces/jck12-cup -w jck12-tests-int build src tests/index.html tests/api/index.html tests/api/SignatureTest.html tests/api/SignatureTest.java tests/api/jdk1_2.sig tests/api/jdk1_11.sig tests/api/jdk-1_1.sig tests/testsuite.html
      sfleming% bringover -p /home/joew/jck -w jck12-tests-int build src tests/testsuite.html tests/api/index.html tests/api/SignatureTest
      Parent workspace: /home/joew/jck
      Child workspace: /jckj/jck12-tests-int

      sfleming% pwd
      /jckj
      sfleming% ls
      jck12-tests-int
      sfleming% cd *int
      sfleming% ls
      Codemgr_wsdata build src tests
      sfleming% cd build
      sfleming% cd tests
      sfleming% sccs edit run-jck.sh
      1.9
      new delta 1.10
      98 lines
      sfleming% ed run-jck.sh
      2536
      /DISPLAY
        *runtime* ) echo "Using DISPLAY=`uname -n`:0.0"
      /
                      jtRuntimeArgs="$jtRuntimeArgs -DDISPLAY=`uname -n`:0.0" ;;
      /
        DISPLAY=`uname -n`:0.0 .d
      w
      2509
      q
      sfleming% sccs delget run-jck.sh
      comments? unset DISPLAY
      No id keywords (cm7)
      1.10
      0 inserted
      1 deleted
      97 unchanged
      1.10
      97 lines
      No id keywords (cm7)
      sfleming% pwd
      /jckj/jck12-tests-int/build/tests
      sfleming% cd ..
      sfleming% setenv DISPLAY
      sfleming% make INITIALURL=api/SignatureTest/index.html

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ehawkessunw Eric Hawkes (Inactive)
              Reporter:
              sflemingsunw Steve Fleming (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: