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

jdk1.2beta3C-solaris VM segfaults if locale is different from C

XMLWordPrintable

    • 1.2beta3
    • sparc
    • solaris_2.5.1
    • Not verified



      Name: mgC56079 Date: 01/16/98



      The jdk1.2beta3C segfaults if locale is different from C.
      Build beta3B or "C" locale works OK. Changing the class to execute does not help.

      Here are the details:

      % uname -a
      SunOS mars 5.5.1 Generic_103640-08 sun4u sparc SUNW,Ultra-1

      % setenv LANG en_US
      % /set/java/JDK1.2-Beta3C/solaris/bin/java sun.applet.AppletViewer
      Segmentation Fault

      # Build beta3B works OK:
      % /set/java/JDK1.2-Beta3B/solaris/bin/java sun.applet.AppletViewer
      No input files specified.
      usage: appletviewer [-debug] [-J<javaflag>] [-encoding <character encoding type> ] url|file ...

      # "C" locale works OK:
      % setenv LANG C
      % /set/java/JDK1.2-Beta3C/solaris/bin/java sun.applet.AppletViewer
      No input files specified.
      usage: appletviewer [-debug] [-J<javaflag>] [-encoding <character encoding type> ] url|file ...

      # Here is what truss say:
      % setenv LANG en_US
      % truss /set/java/JDK1.2-Beta3C/solaris/bin/java sun.applet.AppletViewer
      execve("/set/java/JDK1.2-Beta3C/solaris/bin/java", 0xEFFFF9D8, 0xEFFFF9E4) argc = 3
      open("/dev/zero", O_RDONLY) = 3
      mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF7C0000
      open("/usr/openwin/lib/libsocket.so.1", O_RDONLY) Err#2 ENOENT
      open("/usr/lib//libsocket.so.1", O_RDONLY) = 4
      fstat(4, 0xEFFFF67C) = 0
      mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_SHARED, 4, 0) = 0xEF7B0000
      mmap(0x00000000, 122880, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF780000
      munmap(0xEF78E000, 57344) = 0
      mmap(0xEF79C000, 5393, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 49152) = 0xEF79C000
      close(4) = 0
      open("/usr/openwin/lib/libnsl.so.1", O_RDONLY) Err#2 ENOENT
      open("/usr/lib//libnsl.so.1", O_RDONLY) = 4
      fstat(4, 0xEFFFF67C) = 0
      mmap(0xEF7B0000, 8192, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_FIXED, 4, 0) = 0xEF7B0000
      mmap(0x00000000, 524288, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF680000
      munmap(0xEF6E2000, 57344) = 0
      mmap(0xEF6F0000, 33185, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 393216) = 0xEF6F0000
      mmap(0xEF6FA000, 23944, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF6FA000

      [...skip...]

      readlink("/set", 0xEFFFD6CC, 1025) Err#22 EINVAL
      readlink("/set/java", 0xEFFFD6CC, 1025) Err#22 EINVAL
      readlink("/set/java/JDK1.2-Beta3C", 0xEFFFD6CC, 1025) Err#22 EINVAL
      readlink("/set/java/JDK1.2-Beta3C/solaris", 0xEFFFD6CC, 1025) Err#22 EINVAL
      readlink("/set/java/JDK1.2-Beta3C/solaris/bin", 0xEFFFD6CC, 1025) Err#22 EINVAL
      readlink("/set/java/JDK1.2-Beta3C/solaris/lib", 0xEFFFD6CC, 1025) Err#22 EINVAL
      readlink("/set/java/JDK1.2-Beta3C/solaris/lib/sparc", 0xEFFFD6CC, 1025) Err#22 EINVAL
      readlink("/set/java/JDK1.2-Beta3C/solaris/lib/sparc/green_threads", 0xEFFFD6CC, 1025) Err#22 EINVAL
      readlink("/set/java/JDK1.2-Beta3C/solaris/lib/sparc/green_threads/libjvm.so", 0xEFFFD6CC, 1025) Err#22 EINVAL
      uname(0xEFFFE7F8) = 1
      systeminfo(SI_ARCHITECTURE, "sparc", 12) = 6
      access("/usr/lib/locale/en_US/LC_CTYPE/mb.so.1", 0) = 0
      access("/usr/lib/locale/en_US/LC_CTYPE/wcwidth.so.1", 0) = 0
      open("/usr/lib/locale/en_US/LC_CTYPE/mb.so.1", O_RDONLY) = 3
      fstat(3, 0xEFFFD1B4) = 0
      mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_SHARED, 3, 0) = 0xEF540000
      mmap(0x00000000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF3E0000
      munmap(0xEF3E2000, 57344) = 0
      mmap(0xEF3F0000, 3780, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF3F0000
      close(3) = 0
      munmap(0xEF540000, 8192) = 0
      open("/usr/lib/locale/en_US/LC_CTYPE/wcwidth.so.1", O_RDONLY) = 3
      fstat(3, 0xEFFFD1B4) = 0
      mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_SHARED, 3, 0) = 0xEF540000
      mmap(0x00000000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF3C0000
      munmap(0xEF3C2000, 57344) = 0
      mmap(0xEF3D0000, 1692, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF3D0000
      close(3) = 0
      munmap(0xEF540000, 8192) = 0
      access("/usr/lib/locale/en_US/LC_CTYPE/ctype", 4) = 0
          Incurred fault #6, FLTBOUNDS %pc = 0x00000000
            siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
          Received signal #11, SIGSEGV [default]
            siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
      *** process killed ***

      ======================================================================

            never Tom Rodriguez
            mgorshen Mikhail Gorshenev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: