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);