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

Java applet created from pstoedit crashes Netscape 3.0, HotJava, Appletviewer

    XMLWordPrintable

Details

    • 1.1.1
    • sparc
    • solaris_2.5, solaris_2.5.1
    • Verified

    Description

      In an effort to use pstoedit (2.5) filter front end to ghostscript to convert postscript files to java applets, found a combination that crashes Java's virtual machine all browsers with a SIGSEGV segment violation. I've attached the PostScript file, the Java code generated, and the HTML file invoking it. To see this happen, try accessing the following URL through either Netscape 3.0 from softdist or any of the HotJava builds.

      http://cyberia.corp/public_html/test/colorcir.html

      SPARC appletviewer is crashed with the following diagnostics:

      miken@cyberia [205] appletviewer colorcir.html
      SIGSEGV 11* segmentation violation
          si_signo [11]: SIGSEGV 11* segmentation violation
          si_errno [0]: Error 0
          si_code [1]: SEGV_ACCERR [addr: 0x188]
       
              stackbase=EF0C1000, stackpointer=EF0BED40
       
      Full thread dump:
          "Screen Updater" (TID:0xee304640, sys_thread_t:0xef090de0) prio=4
              java.lang.Object.wait(Object.java)
              sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:75)
              sun.awt.ScreenUpdater.run(ScreenUpdater.java:95)
          "AWT-Motif" (TID:0xee3042d8, sys_thread_t:0xef0c0de0) prio=5 *current thread*
              colorcir.paint(colorcir.java:8188)
              sun.awt.motif.MComponentPeer.paint(MComponentPeer.java:123)
              sun.awt.motif.MComponentPeer.handleExpose(MComponentPeer.java:267)
              java.lang.Thread.run(Thread.java)
          "AWT-Input" (TID:0xee3042b0, sys_thread_t:0xef0f0de0) prio=5
          "thread applet-colorcir.class" (TID:0xee304020, sys_thread_t:0xef430de0) prio=6
              java.lang.Object.wait(Object.java)
              sun.applet.AppletPanel.getNextEvent(AppletPanel.java:185)
              sun.applet.AppletPanel.run(AppletPanel.java:216)
              java.lang.Thread.run(Thread.java)
          "Finalizer thread" (TID:0xee3003b0, sys_thread_t:0xef460de0) prio=1
          "Async Garbage Collector" (TID:0xee300368, sys_thread_t:0xef490de0) prio=1
          "Idle thread" (TID:0xee300320, sys_thread_t:0xef4c0de0) prio=0
          "clock handler" (TID:0xee3001f8, sys_thread_t:0xef4f0de0) prio=11
          "main" (TID:0xee3000a0, sys_thread_t:0x7c378) prio=5
      Monitor Cache Dump:
          unknown key (key=0xef490de0): monitor owner: "Async Garbage Collector"
          sun.awt.motif.MToolkit@EE304298/EE33DA30 (key=0xee304298): unowned
              Waiting to be notified:
                  "AWT-Input"
          sun.applet.AppletViewerPanel@EE303E78/EE33D018 (key=0xee303e78): unowned
              Waiting to be notified:
                  "thread applet-colorcir.class"
          sun.awt.ScreenUpdater@EE304640/EE33E190 (key=0xee304640): unowned
              Waiting to be notified:
                  "Screen Updater"
      Registered Monitor Dump:
          Finalize me queue lock: unowned
              Waiting to be notified:
                  "Finalizer thread"
          Thread queue lock: unowned
              Waiting to be notified:
                  "main"
          Class lock: unowned
          Java stack lock: unowned
          Code rewrite lock: unowned
          Heap lock: unowned
          Has finalization queue lock: unowned
          Monitor IO lock: unowned
          Child death monitor: unowned
          Event monitor: unowned
          I/O monitor: unowned
          Alarm monitor: unowned
              Waiting to be notified:
                  "clock handler"
          Sbrk lock: unowned
          Monitor cache lock: unowned
          Monitor registry: monitor owner: "AWT-Motif"
      Thread Alarm Q:
      Abort
      --------------------------------------------------------------------

      End of output from truss while running SPARC netscape 3.0 on the above URL:

      setcontext(0xEF1EF880)
      write(22, " 801\00404C0\0 F\0\0\004".., 2044) = 2044
      writev(22, 0xEF1EFB60, 2) = 2064
      write(22, " 801\00404C0\0 F\0\0\004".., 2044) = 2044
          Received signal #14, SIGALRM [caught]
      setcontext(0xEF1EF9C0)
      writev(22, 0xEF1EFB60, 2) = 2064
      write(22, " 801\00404C0\0 F\0\0\004".., 2044) = 2044
      writev(22, 0xEF1EFB60, 2) = 2064
          Received signal #14, SIGALRM [caught]
      setcontext(0xEF1EF9C0)
      write(22, " 801\00404C0\0 F\0\0\004".., 2044) = 2044
      writev(22, 0xEF1EFB60, 2) = 2064
          Incurred fault #6, FLTBOUNDS %pc = 0x001E9708
            siginfo: SIGSEGV SEGV_MAPERR addr=0x00000188
          Received signal #11, SIGSEGV [caught]
            siginfo: SIGSEGV SEGV_MAPERR addr=0x00000188
      getpid() = 11453 [11452]
      kill(11453, SIGBUS) = 0
          Received signal #10, SIGBUS [default]
            siginfo: SIGBUS pid=11453 uid=48464
              *** process killed ***
      miken@cyberia [137]

      Attachments

        Activity

          People

            pbk Peter Kessler
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: