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

[macosx] (awt) setjmp/longjmp changes the process signal mask on OS X

XMLWordPrintable

    • b22
    • os_x

        See JDK-8023786 for a complete description of the problem.

        I see several places in the awt and font code that uses setjmp/longjmp which should be changed to use _setjmp/_longjmp on OS X:

        $ grep -r longjmp jdk/src
        share/native/sun/awt/image/jpeg/imageioJPEG.c: longjmp(myerr->setjmp_buffer, 1);
        share/native/sun/awt/image/jpeg/jpegdecoder.c: longjmp(myerr->setjmp_buffer, 1);
        share/native/sun/awt/libpng/png.h:PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf, int)), typedef);
        share/native/sun/awt/libpng/png.h:PNG_EXPORT(8, jmp_buf*, png_set_longjmp_fn, (png_structp png_ptr,
        share/native/sun/awt/libpng/png.h: png_longjmp_ptr longjmp_fn, size_t jmp_buf_size));
        share/native/sun/awt/libpng/png.h: (*png_set_longjmp_fn((png_ptr), longjmp, sizeof (jmp_buf)))
        share/native/sun/awt/libpng/png.h:PNG_EXPORTA(9, void, png_longjmp, (png_structp png_ptr, int val),
        share/native/sun/awt/libpng/pngerror.c: png_longjmp(png_ptr, 1);
        share/native/sun/awt/libpng/pngerror.c:png_longjmp,(png_structp png_ptr, int val),PNG_NORETURN)
        share/native/sun/awt/libpng/pngerror.c: png_ptr->longjmp_fn(tmp_jmpbuf, val);
        share/native/sun/awt/libpng/pngerror.c: png_ptr->longjmp_fn(png_ptr->longjmp_buffer, val);
        share/native/sun/awt/splashscreen/splashscreen_jpeg.c: longjmp(myerr->setjmp_buffer, 1);
        solaris/native/sun/awt/gtk2_interface.c: longjmp(j, NO_SYMBOL_EXCEPTION);
        solaris/native/sun/awt/gtk2_interface.c: longjmp(j, NO_SYMBOL_EXCEPTION);
        solaris/native/sun/awt/gtk2_interface.c: longjmp(j, NO_SYMBOL_EXCEPTION);

              ddehaven David Dehaven (Inactive)
              sla Staffan Larsen (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: