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

NetScape hang situation

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1
    • 1.3.1_11
    • 1.3.1_09
    • client-libs
    • 11
    • x86
    • solaris_8

    Description

      this bug is to track and create an escalation for case 63786394

      all stack traces, dumps, etc. can be located from the case notes


      ###@###.### 2003-12-12

      some good detail about showrev output
      I have looked into the showrev -p output and I found that they are upto date in the patches.

      Following patch is missing, but I do not think this is relevant...

      112003-03 SunOS 5.8: Unable to load fontset in 64-bit Solaris 8 iso-1 or iso-15

      They do not have 111310-01 and 111111-03 patches but have 108528-21 which obsoletes both (111310-01, 111111-03) these patches.

      They do not have 111023-02 patch but have 108993-18 which obsoletes this(111023-02) patch.

      They have 108993-29 version of the patch while the recommended is 108993-26

      *108993-26 SunOS 5.8: LDAP2 client, libc, libthread and libnsl libraries patch

      They have 108528-24 while the recommended is 108528-25

      *108528-25 SunOS 5.8: kernel update patch


      ###@###.### 2003-12-12
      another update ... some of the commented out code

      I am quite certain you aren't directly using JNI in the application and feel the mention of JNI in the stack trace is due to the AWT components. I was hoping to document as part of the case.

      When the pack() method is invoked it attempts to calculate the size of every child component. I am trying to understand where the Component$AWTTreeLock is called as part of the pack().

      I will look at the stack dump with this code snippet.

      Thank you.



      Z.
      Chris Zupko

      ---- "Ferdinand, Lori Beth (Lori)" <###@###.###> wrote:
      > Chris,
      >
      > Here is the code from the SaveDialog class: (line 81 is the pack() call near the end)
      >
      > /** private members */
      > private JPanel filterPanel = null;
      > private JPanel savePanel = null;
      > private SaveFileChooser chooser = null;
      > private JSeparator separator = null;
      > private Dimension dm = null;
      > private Container contentPane = null;
      >
      > private static int count = 0;
      > private static int height = 0;
      > private int showCount = 0;
      > private FullPage fullPg = null;
      >
      > /**
      > * Default constructor made private, so that no user of this class can
      > * make a direct call it, since it is not intended to be used.
      > */
      > private SaveDialog() {;}
      >
      > public SaveDialog(FullPage Page, JPanel leftPanel, SaveFileChooser fileChooser)
      > {
      > super();
      > Tracer.output(Constants.SAVE, 5, "SaveDialog()");
      > this.fullPg = Page;
      > addComponentListener(this);
      > filterPanel = leftPanel;
      > chooser = fileChooser;
      > String rsrcBndle = null;
      > rsrcBndle = fullPg.getPageResource("SaveButton.ItemDesc");
      > if(rsrcBndle == null) {
      > rsrcBndle = "Save";
      > }
      > setTitle(rsrcBndle);
      > contentPane = this.getContentPane();
      > contentPane.setLayout(new FlowLayout());
      > buildFilterPanel();
      >
      > //force a horizontal space between the filter area and the separator bar
      > contentPane.add(Box.createHorizontalStrut(5));
      >
      > separator = new JSeparator(JSeparator.VERTICAL);
      > dm = separator.getPreferredSize();
      > contentPane.add(separator);
      >
      > //force a horizontal space between the separator bar and the filechooser
      > contentPane.add(Box.createHorizontalStrut(5));
      >
      > buildSavePanel();
      > this.pack();
      > setResizable(false);
      > }
      >
      > /**
      > * Add a filter area that allows the user to restrict the data to be saved.
      > */
      > private void buildFilterPanel() {
      > Tracer.output(Constants.SAVE, 5, "SaveDialog.buildFilterPanel()");
      > this.contentPane.add(filterPanel);
      > }
      >
      > /**
      > * Create a panel to hold the SaveFileChooser object
      > */
      > private void buildSavePanel() {
      > Tracer.output(Constants.SAVE, 5, "SaveDialog.buildSavePanel()");
      > this.savePanel = new JPanel();
      > this.savePanel.add(chooser);
      > this.contentPane.add(savePanel);
      > }
      >
      > Lori
      >
      > -----Original Message-----
      > From: Chris Zupko [mailto:###@###.###
      > Sent: Wednesday, December 10, 2003 10:03 PM
      > To: Vijay Kaza; Ferdinand, Lori Beth (Lori)
      > Cc: '###@###.###'; '###@###.###'; '###@###.###'; Kunkel, Ronald Dale (Ron); Kumar, Ajoy (Ajoy); 'Al Palleschi'; '###@###.###'
      > Subject: Re: Sun case 63786394 Netscape hang
      >
      > You may have already discussed this, but why does JNI appear to be used in one of the deadlocked threads?
      >
      > Is JNI being used in the application? If so, for what reason?
      >
      > I am concerned about the tree component after looking at the 1st two thread dumps. Let me do a little research. Besides the question about JNI, would you please let me see the code with line numbers surrounding lucent.fm.parts.SaveDialog.<init>(SaveDialog.java:81)? If it's a small method could you provide the entire init method/block?
      >
      >
      >
      > Thanks,
      > -
      >
      > Z.
      > Chris Zupko
      >
      >
      > ---- Vijay Kaza <###@###.###> wrote:
      > > Hi Lori,
      > >
      > > These kill -3 outputs look different from the ones that we have seen earlier. In these thread dumps 2 are identical while the third one is different and all of the stacktraces are showing a Java Level Deadlock which was not the case earlier.
      > > It seems like the thread dump / stacktrace might change based on when we resize the window.
      > >
      > > Thanks,
      > > -Vijay
      > >
      > > "Ferdinand, Lori Beth (Lori)" wrote:
      > >
      > > > All,
      > > >
      > > > Here are the thread dumps for three more times I was able to get the browser window to hang. For the first two dumps I followed the exact same scenario as yesterday (one Netscape window & resizing while it is attempting to initialize the JTable) and the files appear to be very similar to the vm.notitle.120903 file I sent previously. The third dump (vm.out.12100303), however, represents a slightly different scenario (one Netscape window & resizing it at a different place in the application before it attempts to initialize the JTable) and the data, therefore, looks different as well.
      > > >
      > > > Lori
      > > >
      > > > <<vm.out.12100301>> <<vm.out.12100302>> <<vm.out.12100303>>
      > > > -----Original Message-----
      > > > From: Ferdinand, Lori Beth (Lori)
      > > > Sent: Wednesday, December 10, 2003 3:56 PM
      > > > To: '###@###.###'; '###@###.###'; '###@###.###'; '###@###.###'
      > > > Cc: Kunkel, Ronald Dale (Ron); Kumar, Ajoy (Ajoy); 'Al Palleschi'; '###@###.###'
      > > > Subject: RE: Sun case 63786394 Netscape hang
      > > >
      > > > All,
      > > >
      > > > Here is the code segment which represents what we have commented out in the latest patch we sent to Verizon:
      > > >
      > > > public void setBrowserTitle(String title) {
      > > > JSObject js = JSObject.getWindow(OneUIUtilities.getApplet(FullPage.this));
      > > > JSObject doc = (JSObject)js.getMember("document");
      > > > String setTitleStr = "document.title='" + title + "'"; js.eval(setTitleStr);
      > > > }
      > > >
      > > > public class OneUIUtilities extends Object {
      > > >
      > > > /**
      > > > * Find the Applet in the ancestry of <tt>c</tt>. If none can
      > > > * be found, returns null.
      > > > */
      > > > public static final Applet getApplet(Component c) {
      > > > Applet a = null;
      > > > while ( ! ( c instanceof Applet ) && (c != null)) {
      > > > c = c.getParent();
      > > > }
      > > > if ( c != null ) {
      > > > a = (Applet)c; return(a);
      > > > }
      > > > return null;
      > > > }
      > > >
      > > > ...
      > > > }

      Attachments

        Issue Links

          Activity

            People

              ccheung Calvin Cheung
              pallenba Peter Allenbach (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: