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

access violation while printing

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 1.1.3
    • client-libs
    • x86
    • windows_nt



      Name: joT67522 Date: 11/17/97

      [Also see ~jso/public/printer.uu for a uuencode file.]


      While trying to print a Freelance graphics document,
      the Dispose method in awt_Graphics.cpp (line 186)
      tries to set "unhand(m_pJavaObject)->pdata" to null.
      Unfortunately, "unhand(m_pJavaObject)" references
      a null pointer causing an access violation on
      Windows NT.

      This appears to be a race condition. It is not
      consistent and if a debugger interrupt is taken
      when there is a null pointer, the pointer is no
      longer null by the time the debugger gets control.
      But, waiting for up to 10 seconds (via a sleep())
      does not seem to help, the ptr is still null.

      Dispose() is being called by sun_awt_windows_WPrintJob_end.

      To reproduce the problem, contact me. It requires
      a binary prz file and the ability to run Lotus' NC
      Desktop and Kona applets. Sun has the Desktop and
      Kona, so perhaps all that is needed from me is the
      prz file and more detailed instructions on recreating
      the problem.

      I have no no simple Java Source that demonstrates
      the problem.

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

      To reproduce on Windows NT 4.0:

      1) Install the Lotus eSuite Desktop if you do not already have it (it is
      not practical for me to send it, but Sun has a copy. If you do not have a
      copy and do not know who at Sun does, let me know and I will find out).
      2) Decode bullet.prz (attached as uuencoded file).
      3) Copy to eSuite's home directory (usually named "home" and in the eSuite
      startup directory)
      4) Start the Lotus eSuite Desktop.
      5) Select the "List documents" option under "Work Files".
      6) Double click on "Bullet" to start the graphics applet.
      7) Click "Print".
      8) Click the "Next" button.
      9) At this point the NT print handler will take over. On my machine I am
      configured to print to a text file. Follow whatever directions NT offers
      to initiate printing. Repeat this step until crash. It will usually
      happen within the first 4 attempts.

      I have included a further description from our problem reporting system:

      Steps to Reproduce:
      Create a Kg file
         Choose the Print Icon
         Select the color palette option
         Print
         after the job has been sent to the printer it will crash the applet.
         This happened on 3 different PC's (Sean's, Margie's and mine)

      Martin Romano:
      This appears to have an intermittent component to it, but is predictable
      enough that I can always make it happen if I try hard enough. Here's
      exactly what I do to reproduce it: start Kona Graphics in a Sun-JVM/AWT
      Win32 container (appletviewer, HotJava, eSuite Workplace), load
      "BulleBuild.prz" (attached below) and repeatedly do print (to a file or to
      the real device). Between 2 and 10 iterations should suffice to make
      WINAWT.DLL crash by dereferencing a null pointer (stack trace attached
      below.)
      The crash seems to happen perhaps asynchronously, surely *not* during
      apparent actual printing. For example, the last crash happened just about
      as I checked the "print to file" box in the system print dialog, but the
      timing is seemingly random and different in other crash instances.


      (Review ID: 19430)
      ======================================================================

            dmendenhsunw David Mendenhall (Inactive)
            johsunw Joon Oh (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: