JDK-6303785 : OGL: AWT ScrollPane is broken on OpenGL - Solaris10 + XToolkit
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 6
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • OS: solaris_10
  • CPU: sparc
  • Submitted: 2005-07-29
  • Updated: 2012-01-16
Related Reports
Relates :  
Description
AWT ScrollPane does not get repainted properly on OpenGL with XToolkit. The scrollbars never appear even though some of the components added to the AWT scrollpane go out of the visible area. AWT scrollpane is not usable with OGL on XToolkit.

I am running the attached test (which shows an AWT scrollpane) on SolarisSparc10, XToolkit using different builds and the behaviors are listed below:

JDK1.5FCS:
Motif:
Initially appears correctly. But when moving the scrollbar, the components in the scrollpane are not scrolled properly.

XToolkit:
Scrollbar does not appear but components do scroll when doing it programmatically (clicking a button scrolls the scrollpane through method calls)

JDK1.6-b44: (XToolkit)
Scrollbar does not appear. Resizing the frame mess up the entire scrollpane and none of the components in the scrollpane are painted properly.

On Win32, it works fine.

I am using a SunBlade-2500 machine with XVR-600 frame buffer. 

Here is the output of xdpyinfo:
-------------------------------
name of display:    :0.0
version number:    11.0
vendor string:    Sun Microsystems, Inc.
vendor release number:    6620
maximum request size:  262140 bytes
motion buffer size:  256
bitmap unit, bit order, padding:    32, MSBFirst, 32
image byte order:    MSBFirst
number of supported pixmap formats:    3
supported pixmap formats:
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 8, bits_per_pixel 8, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
keycode range:    minimum 8, maximum 254
focus:  window 0xb8000a, revert to Parent
number of extensions:    33
    AccessX
    Adobe-DPS-Extension
    DAMAGE
    DOUBLE-BUFFER
    DPMS
    DPSExtension
    Extended-Visual-Information
    FBPM
    GLX
    LBX
    MIT-SCREEN-SAVER
    MIT-SHM
    MIT-SUNDRY-NONSTANDARD
    Multi-Buffering
    RECORD
    SECURITY
    SHAPE
    SUN_ALLPLANES
    SUN_DGA
    SUN_OVL
    SUN_SME
    SYNC
    SolarisIA
    TOG-CUP
    X-Resource
    XC-APPGROUP
    XC-MISC
    XEVIE
    XFIXES
    XIE
    XInputDeviceEvents
    XInputExtension
    XTEST
default screen number:    0
number of screens:    1

screen #0:
  dimensions:    1280x1024 pixels (361x288 millimeters)
  resolution:    90x90 dots per inch
  depths (3):    1, 8, 24
  root window id:    0x3e
  depth of root window:    24 planes
  number of colormaps:    minimum 1, maximum 2
  default colormap:    0x33
  default number of colormap cells:    256
  preallocated pixels:    black 0, white 16777215
  options:    backing-store YES, save-unders YES
  largest cursor:    32x32
  current input event mask:    0xfa2033
    KeyPressMask             KeyReleaseMask           EnterWindowMask          
    LeaveWindowMask          ButtonMotionMask         StructureNotifyMask      
    SubstructureNotifyMask   SubstructureRedirectMask FocusChangeMask          
    PropertyChangeMask       ColormapChangeMask       
  number of visuals:    16
  default visual id:  0x26
  visual:
    visual id:    0x20
    class:    PseudoColor
    depth:    8 planes
    available colormap entries:    256
    red, green, blue masks:    0x0, 0x0, 0x0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x21
    class:    PseudoColor
    depth:    8 planes
    available colormap entries:    256
    red, green, blue masks:    0x0, 0x0, 0x0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x22
    class:    StaticColor
    depth:    8 planes
    available colormap entries:    256
    red, green, blue masks:    0x7, 0x38, 0xc0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x23
    class:    StaticGray
    depth:    8 planes
    available colormap entries:    256
    red, green, blue masks:    0x0, 0x0, 0x0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x24
    class:    GrayScale
    depth:    8 planes
    available colormap entries:    256
    red, green, blue masks:    0x0, 0x0, 0x0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25
    class:    StaticGray
    depth:    8 planes
    available colormap entries:    256
    red, green, blue masks:    0x0, 0x0, 0x0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2e
    class:    PseudoColor
    depth:    8 planes
    available colormap entries:    255
    red, green, blue masks:    0x0, 0x0, 0x0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2f
    class:    PseudoColor
    depth:    8 planes
    available colormap entries:    255
    red, green, blue masks:    0x0, 0x0, 0x0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x26
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x27
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x28
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x29
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2a
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2b
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2c
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2d
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits

Output of /usr/openwin/demo/GL/glxinfo
--------------------------------------
 /usr/openwin/demo/GL/xglinfo
================================= Display :0.0 =================================
name of display:        :0.0
version number:         11.0
vendor string:          Sun Microsystems, Inc.
vendor release:         6620
max request size:       262140 bytes
motion buffer size:     256
bitmap:                 unit = 32, bit order = MSBFirst, padding = 32
image byte order:       MSBFirst
keycode range:          minimum 8, maximum 254
focus window:           0xb8000a, revert to RevertToParent
default screen num:     0
number of screens:      1
pixmap formats:         3 total
                        depth  1, bits_per_pixel  1, scanline_pad 32
                        depth  8, bits_per_pixel  8, scanline_pad 32
                        depth 24, bits_per_pixel 32, scanline_pad 32
Server Extensions:      33 total
                        Adobe-DPS-Extension, DPSExtension, SHAPE,
                        Extended-Visual-Information, MIT-SHM, Multi-Buffering,
                        XInputExtension, XInputDeviceEvents, XTEST,
                        MIT-SUNDRY-NONSTANDARD, SolarisIA, SUN_DGA, SUN_OVL,
                        SUN_ALLPLANES, SYNC, XC-MISC, RECORD, LBX,
                        DOUBLE-BUFFER, XC-APPGROUP, SECURITY, TOG-CUP, XEVIE,
                        SUN_SME, MIT-SCREEN-SAVER, AccessX, DPMS, FBPM,
                        X-Resource, XFIXES, DAMAGE, GLX, XIE,
GLX Extension:          error base = 148, event base = 97, Version 1.4
=================================== Screen 0 ===================================
screen:                 0
dimensions:             1280x1024 pixels (361x288 millimeters)
resolution:             90x90 dots per inch
depths:                 (3 total):       1, 8, 24
root window id:         0x3e
depth of root window:   24 planes
number colormaps:       minimum 1, maximum 2
default colormap:       0x33, number colormap cells 256
preallocated pixels:    black 0x0, white 0xffffff
options:                backing-store YES, save-unders YES
input event mask:       0xfa2033
                        KeyPress             KeyRelease           EnterWindow
                        LeaveWindow          ButtonMotion
                        StructureNotify      SubstructureNotify
                        SubstructureRedirect FocusChange          PropertyChange
                        ColormapChange
=================== 16 Visuals for Screen 0 (default = 0x26) ===================
PseudoColor visual: ID = 0x20 (hex) 32 (decimal), screen = 0, gamma = 2.22
  DOUBLE buffered MONO COLOR INDEX visual with (Z Stencil)
  GL Sizes: ColorIndex=8, Z=32, Stencil=8
  number of sample buffers=0, samples per pixel =1
  Core X: depth=8, colormapSize=256

PseudoColor visual: ID = 0x21 (hex) 33 (decimal), screen = 0, gamma = 2.22
  SINGLE buffered MONO COLOR INDEX visual with (Z Stencil)
  GL Sizes: ColorIndex=8, Z=32, Stencil=8
  number of sample buffers=0, samples per pixel =1
  Core X: depth=8, colormapSize=256

StaticColor visual: ID = 0x22 (hex) 34 (decimal), screen = 0, gamma = 2.22
  GL NOT SUPPORTED
  Core X: depth=8, colormapSize=256

StaticGray visual: ID = 0x23 (hex) 35 (decimal), screen = 0, gamma = 2.22
  GL NOT SUPPORTED
  Core X: depth=8, colormapSize=256

GrayScale visual: ID = 0x24 (hex) 36 (decimal), screen = 0, gamma = 2.22
  GL NOT SUPPORTED
  Core X: depth=8, colormapSize=256

StaticGray visual: ID = 0x25 (hex) 37 (decimal), screen = 0, gamma = 2.22
  GL NOT SUPPORTED
  Core X: depth=8, colormapSize=256

PseudoColor visual: ID = 0x2e (hex) 46 (decimal), screen = 0, gamma = 2.22
  OVERLAY(1) DOUBLE buffered MONO COLOR INDEX visual   GL Sizes: ColorIndex=8,
  number of sample buffers=0, samples per pixel =1
  Core X: depth=8, colormapSize=255

PseudoColor visual: ID = 0x2f (hex) 47 (decimal), screen = 0, gamma = 2.22
  OVERLAY(1) SINGLE buffered MONO COLOR INDEX visual   GL Sizes: ColorIndex=8,
  number of sample buffers=0, samples per pixel =1
  Core X: depth=8, colormapSize=255

TrueColor visual: ID = 0x26 (hex) 38 (decimal), screen = 0, gamma = 2.22
  DOUBLE buffered MONO RGB visual with (Z Stencil Accum)
  GL Sizes: RGBA=(8,8,8,0), Z=32, Stencil=8, Accum=(16,16,16,16)
  number of sample buffers=0, samples per pixel =1
  Core X: depth=24, colormapSize=256 RGB: masks=(0xff,0xff00,0xff0000) bits=8

TrueColor visual: ID = 0x27 (hex) 39 (decimal), screen = 0, gamma = 2.22
  SINGLE buffered MONO RGB visual with (Z Stencil Accum)
  GL Sizes: RGBA=(8,8,8,0), Z=32, Stencil=8, Accum=(16,16,16,16)
  number of sample buffers=0, samples per pixel =1
  Core X: depth=24, colormapSize=256 RGB: masks=(0xff,0xff00,0xff0000) bits=8

DirectColor visual: ID = 0x28 (hex) 40 (decimal), screen = 0, gamma = 2.22
  DOUBLE buffered MONO RGB visual with (Z Stencil Accum)
  GL Sizes: RGBA=(8,8,8,0), Z=32, Stencil=8, Accum=(16,16,16,16)
  number of sample buffers=0, samples per pixel =1
  Core X: depth=24, colormapSize=256 RGB: masks=(0xff,0xff00,0xff0000) bits=8

DirectColor visual: ID = 0x29 (hex) 41 (decimal), screen = 0, gamma = 2.22
  SINGLE buffered MONO RGB visual with (Z Stencil Accum)
  GL Sizes: RGBA=(8,8,8,0), Z=32, Stencil=8, Accum=(16,16,16,16)
  number of sample buffers=0, samples per pixel =1
  Core X: depth=24, colormapSize=256 RGB: masks=(0xff,0xff00,0xff0000) bits=8

TrueColor visual: ID = 0x2a (hex) 42 (decimal), screen = 0, gamma = 1.00
  DOUBLE buffered MONO RGB visual with (Alpha Z Stencil Accum)
  GL Sizes: RGBA=(8,8,8,8), Z=32, Stencil=8, Accum=(16,16,16,16)
  number of sample buffers=0, samples per pixel =1
  Core X: depth=24, colormapSize=256 RGB: masks=(0xff,0xff00,0xff0000) bits=8

TrueColor visual: ID = 0x2b (hex) 43 (decimal), screen = 0, gamma = 1.00
  SINGLE buffered MONO RGB visual with (Alpha Z Stencil Accum)
  GL Sizes: RGBA=(8,8,8,8), Z=32, Stencil=8, Accum=(16,16,16,16)
  number of sample buffers=0, samples per pixel =1
  Core X: depth=24, colormapSize=256 RGB: masks=(0xff,0xff00,0xff0000) bits=8

TrueColor visual: ID = 0x2c (hex) 44 (decimal), screen = 0, gamma = 1.00
  DOUBLE buffered MONO RGB visual with (Z Stencil Accum)
  GL Sizes: RGBA=(8,8,8,0), Z=32, Stencil=8, Accum=(16,16,16,16)
  number of sample buffers=0, samples per pixel =1
  Core X: depth=24, colormapSize=256 RGB: masks=(0xff,0xff00,0xff0000) bits=8

TrueColor visual: ID = 0x2d (hex) 45 (decimal), screen = 0, gamma = 1.00
  SINGLE buffered MONO RGB visual with (Z Stencil Accum)
  GL Sizes: RGBA=(8,8,8,0), Z=32, Stencil=8, Accum=(16,16,16,16)
  number of sample buffers=0, samples per pixel =1
  Core X: depth=24, colormapSize=256 RGB: masks=(0xff,0xff00,0xff0000) bits=8

Comments
EVALUATION Still reproducible on Solaris/SPARC with XVR-1200 and JDK 6 (GA) (and JDK 7-b05 for that matter).
12-01-2007

EVALUATION This could be a combination of a bunch of different issues with XAWT (most of which have since been fixed) in addition to a possible issue with backing store and OGL. Will investigate more thoroughly once things settle down.
23-09-2005

EVALUATION This bug makes testing of the backing store fix (4960743) difficult.
29-07-2005