JDK-6363434 : shouldn't be possible to force the use of shared memory pixmaps if they're not available
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 1.4.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: sparc
  • Submitted: 2005-12-14
  • Updated: 2008-02-06
  • Resolved: 2006-01-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6
5.0u8Fixed 6 b67Fixed
Description
If the X server doesn't provide a suitable shared memory pixmaps format
we correctly disable the use of SMPs and normally would not use them, 
but if the user forces us via the env. variable we errorneously attempt
to create shared memory pixmaps which leads rendering problems.

Comments
SUGGESTED FIX *** /tmp/geta21069 Wed Dec 14 14:17:36 2005 --- X11SurfaceData.c Wed Dec 14 13:08:50 2005 *************** *** 140,146 **** useMitShmPixmaps = (useMitShmPixmaps == CAN_USE_MITSHM); force = getenv("J2D_PIXMAPS"); if (force != NULL) { ! if (strcmp(force, "shared") == 0) { forceSharedPixmaps = JNI_TRUE; } else if (strcmp(force, "server") == 0) { useMitShmPixmaps = JNI_FALSE; --- 140,146 ---- useMitShmPixmaps = (useMitShmPixmaps == CAN_USE_MITSHM); force = getenv("J2D_PIXMAPS"); if (force != NULL) { ! if (useMitShmPixmaps && (strcmp(force, "shared") == 0)) { forceSharedPixmaps = JNI_TRUE; } else if (strcmp(force, "server") == 0) { useMitShmPixmaps = JNI_FALSE;
14-12-2005

EVALUATION This happens with the latest nevada builds and netbeans on sparc - the X server in nevada reports to only support XYBitmask while it always used to support ZPixmap. Netbeans forces the use of shared memory pixmaps by default, so they run into this bug. I'd still like to investigate why did the X server in nevada regressed in this sense, all other X servers that I know of provide the support for shared mempry pixmaps in ZPixmap format.
14-12-2005

WORK AROUND Don't force the use of shared memory pixmaps (don't set J2D_PIXMAPS=shared), or disable the use of shared memory extension (we don't use SMP then) by the jdk (NO_MIT_SHM=true), or disable the use of pixmaps (-Dsun.java2d.pmoffscreen=false).
14-12-2005