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

Inputting Japanese on JTextArea/JTextField causes Abort on Sparc 64bit&ServerVM

    XMLWordPrintable

    Details

    • Subcomponent:
      2d
    • CPU:
      sparc
    • OS:
      solaris_7

      Description

      OS : Solaris sparc 7 (64bit OS, atok8)
                Solaris sparc 8 (64bit OS, atok12)
                Solaris sparc 9 beta (64bit OS, atok12)
      Bundles : merlin-beta_refresh b71
                j2sdk-1_4_0-beta_refresh-bin-b71-solsparc-11_jul_2001.sh
                j2sdk-1_4_0-beta_refresh-bin-b71-solsparcv9-11_jul_2001.sh


      On Solaris sparc 64bit/ServerVM, inputting Japanese characters on JTextArea/JTextFiled causes abnomal termination and the error log file is created.
      The detail of the error log is below;
      ================================================================================
      An unexpected exception has been detected in native code outside the VM.
      Unexpected Signal : 11 occurred at PC=0xFFFFFFFF2FE24788
      Function=DPSInitCommonTextContextProcs+0x20
      Library=/usr/openwin/lib/sparcv9/libdps.so.5

      Current Java thread:
              at sun.awt.font.NativeFontWrapper.getGlyphInfo(Native Method)
              - locked <ffffffff356a8d40> (a java.lang.Class)
              at sun.awt.font.StandardGlyphVector.getGlyphInfo(StandardGlyphVector.java:1044)
              at sun.awt.font.AdvanceCache.initKanaAdvances(AdvanceCache.java:185)
              at sun.awt.font.AdvanceCache.<init>(AdvanceCache.java:209)
              at sun.awt.font.AdvanceCache.get(AdvanceCache.java:162)
              - locked <ffffffff315e7430> (a [Ljava.lang.ref.SoftReference;)
              at java.awt.font.TextLayout$OptInfo.getAdvance(TextLayout.java:246)
              at java.awt.font.TextLayout.getAdvance(TextLayout.java:1005)
              at javax.swing.text.Utilities.drawComposedText(Utilities.java:632)
              at javax.swing.text.PlainView.drawElement(PlainView.java:90)
              at javax.swing.text.PlainView.drawLine(PlainView.java:74)
              at javax.swing.text.PlainView.paint(PlainView.java:287)
              at javax.swing.text.FieldView.paint(FieldView.java:174)
              at javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1251)
              at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:568)
              at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:702)
              at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:681)
              at javax.swing.JComponent.paintComponent(JComponent.java:492)
              at javax.swing.JComponent.paint(JComponent.java:759)
              at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4669)
              at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4622)
              at javax.swing.JComponent._paintImmediately(JComponent.java:4567)
              at javax.swing.JComponent.paintImmediately(JComponent.java:4399)
              at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:407)
              at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:120)
              at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:167)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:437)
              at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:150)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:131)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

      Dynamic libraries:
      0x100000000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/bin/sparcv9/java
      0xffffffff7f500000 /usr/lib/sparcv9/libthread.so.1
      0xffffffff7f7f0000 /usr/lib/sparcv9/libdl.so.1
      0xffffffff7f300000 /usr/lib/sparcv9/libc.so.1
      0xffffffff7f7c0000 /usr/platform/SUNW,Ultra-5_10/lib/sparcv9/libc_psr.so.1
      0xffffffff7d800000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/server/libjvm.so
      0xffffffff7f100000 /usr/lib/sparcv9/libCrun.so.1
      0xffffffff7d600000 /usr/lib/sparcv9/libsocket.so.1
      0xffffffff7d400000 /usr/lib/sparcv9/libnsl.so.1
      0xffffffff7d200000 /usr/lib/sparcv9/libm.so.1
      0xffffffff7f780000 /usr/lib/sparcv9/libw.so.1
      0xffffffff7d000000 /usr/lib/sparcv9/libmp.so.2
      0xffffffff7ce00000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/native_threads/libhpi.so
      0xffffffff7cc00000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libverify.so
      0xffffffff7ca00000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libjava.so
      0xffffffff7c800000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libzip.so
      0xffffffff3aa00000 /usr/lib/locale/ja/sparcv9/ja.so.2
      0xffffffff39600000 /usr/lib/locale/ja/sparcv9/methods_ja.so.2
      0xffffffff31100000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libawt.so
      0xffffffff30f00000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libmlib_image.so
      0xffffffff30d00000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/motif21/libmawt.so
      0xffffffff30800000 /usr/dt/lib/sparcv9/libXm.so.4
      0xffffffff30600000 /usr/openwin/lib/sparcv9/libXt.so.4
      0xffffffff30400000 /usr/openwin/lib/sparcv9/libXext.so.0
      0xffffffff30200000 /usr/openwin/lib/sparcv9/libXtst.so.1
      0xffffffff30000000 /usr/openwin/lib/sparcv9/libX11.so.4
      0xffffffff2fe00000 /usr/openwin/lib/sparcv9/libdps.so.5
      0xffffffff2fc00000 /usr/openwin/lib/sparcv9/libSM.so.6
      0xffffffff2fa00000 /usr/openwin/lib/sparcv9/libICE.so.6
      0xffffffff2f800000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libfontmanager.so
      0xffffffff2f600000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libnio.so
      0xffffffff2f400000 /usr/lib/sparcv9/librt.so.1
      0xffffffff2f200000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libnet.so
      0xffffffff2f000000 /usr/lib/sparcv9/libaio.so.1
      0xffffffff2ed00000 /usr/openwin/lib/locale/ja/sparcv9/xlibi18n_ja.so.2
      0xffffffff2eb00000 /usr/openwin/lib/locale/common/sparcv9/xomLTRTTB.so.2
      0xffffffff2e900000 /usr/openwin/lib/locale/common/sparcv9/ximp40.so.2
      0xffffffff2e600000 /home/rs88024/jdk1.4/b71/j2sdk1.4.0/jre/lib/sparcv9/libsunwjdga.so
      0xffffffff2e400000 /usr/openwin/lib/sparcv9/libdga.so.1

      Local Time = Tue Jul 17 11:22:45 2001
      Elapsed Time = 38
      #
      # The exception above was detected in native code outside the VM
      #
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (1.4.0-beta_refresh-b71 mixed mode)
      #
      # An error report file has been saved as hs_err_pid5995.log.
      # Please refer to the file for further information.
      #
      ================================================================================

      To reproduce,

      1. Compile an attached test case "JTextFieldTest.java".
      2. Launch "JTextFieldTest with -d64, -server option.
         % java -d64 -server JTextFieldTest
      3. Activate Japanese IM (Control + space).
      4. Input some Japanese characters.

      or

      1. Launch NotePad demo ($JAVAHOME/demo/jfc/Notepad/Notepad.jar) with -d64, -server option.
         % java -d64 -server -jar Notepad.jar
      2. Activate Japanese IM (Control + space).
      3. Input some Japanese characters.

      Then, you can see the problem.

      Ascii characters can be inputted without any error.
      This problem does not occur on Solaris sparc 64 bit OS without option.
      - %java JTextArea <---- OK
      - %java -server JTextArea <---- OK

      However, with "-d64" option on 64 bit OS, this problem occurs.
      - %java -d64 -server JTextArea <---- NG

      This problem is not seen in b70, therefore, this is regression.

      > isainfo
      sparcv9 sparc

      > java -d64 -server -version
      java version "1.4.0-beta_refresh"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta_refresh-b71)
      Java HotSpot(TM) 64-Bit Server VM (build 1.4.0-beta_refresh-b71, mixed mode)
      ================================================================================

      merlin-beta_refresh b70:
      - Both Japanese and ascii characters can be inputted without any error.

      merlin-beta_refresh b71:
      - Ascii characters can be inputted without any error.
        However, even one Japanese character can not be inputted.
        Just as it inputs one character, it causes Abort.
      For example,
      1. Launch NotePad demo.
         % java -d64 -server -jar Notepad.jar
      2. Activate Japanese IM (Control + Space).
      3. Input one Japanese character.
         ex. type "a" --- English "a" means Japanese "\u3041".

      You can see the problem.

      [rieko.suzuki@Japan 2001-07-18]

        Attachments

          Activity

            People

            Assignee:
            prr Philip Race
            Reporter:
            rsuzukisunw Rieko Suzuki (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: