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

STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 17
    • Fix Version/s: 18
    • Component/s: client-libs
    • Environment:

      bash configure --with-debug-level=release --with-jvm-variants=client,server --with-target-bits=32 --target=x86

    • Subcomponent:
    • Introduced In Build:
      b25
    • Introduced In Version:
      17
    • Resolved In Build:
      b28
    • CPU:
      x86
    • OS:
      windows

      Backports

        Description

        The fix for JDK-8182043 causes a regression for 32 bit builds. The change of MAX_ICON_SIZE from 128 to 256 increases stack usage by 370k, which causes an overflow because the default Windows 32 bit stack size is 320k.

        Workaround is to set stack size, e.g. -Xss1m

        Reproduces with

        import javax.swing.UIManager;

        public class Repro {
            public static void main(final String... args) throws Exception {
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                UIManager.getIcon("Tree.openIcon"); // Same with "Tree.closedIcon" and "Tree.leafIcon"
            }
        }

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                kizune Alexander Zuev
                Reporter:
                dgrieve David Grieve
                Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: