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

Java GUI's are very slow over network x11 redirection (through ssh)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 6
    • client-libs
    • x86
    • linux

      FULL PRODUCT VERSION :
      The problem certainly exists for both jdk/jre 1.6 and jdk/jre 1.5;
      1.4 could also be affected.

      ADDITIONAL OS VERSION INFORMATION :
      Ubuntu linux 8.04 / Linux vali 2.6.24-18-generic #1 SMP Wed May 28 20:27:26 UTC 2008 i686 GNU/Linux
      However, this is reproducible on any other linux environment.

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      ******************Xorg version :
      ii xorg 1:7.3+10ubuntu X.Org X Window System

      ****************** xdpyingo :
      name of display: :0.0
      version number: 11.0
      vendor string: The X.Org Foundation
      vendor release number: 10400090
      X.Org version: 1.4.0.90
      maximum request size: 16777212 bytes
      motion buffer size: 256
      bitmap unit, bit order, padding: 32, LSBFirst, 32
      image byte order: LSBFirst
      number of supported pixmap formats: 7
      supported pixmap formats:
          depth 1, bits_per_pixel 1, scanline_pad 32
          depth 4, bits_per_pixel 8, scanline_pad 32
          depth 8, bits_per_pixel 8, scanline_pad 32
          depth 15, bits_per_pixel 16, scanline_pad 32
          depth 16, bits_per_pixel 16, scanline_pad 32
          depth 24, bits_per_pixel 32, scanline_pad 32
          depth 32, bits_per_pixel 32, scanline_pad 32
      keycode range: minimum 8, maximum 255
      focus: window 0x4200003, revert to PointerRoot
      number of extensions: 33
          BIG-REQUESTS
          Composite
          DAMAGE
          DOUBLE-BUFFER
          DPMS
          Extended-Visual-Information
          GLX
          MIT-SCREEN-SAVER
          MIT-SHM
          MIT-SUNDRY-NONSTANDARD
          RANDR
          RECORD
          RENDER
          SECURITY
          SGI-GLX
          SHAPE
          SYNC
          TOG-CUP
          X-Resource
          XAccessControlExtension
          XC-APPGROUP
          XC-MISC
          XFIXES
          XFree86-Bigfont
          XFree86-DGA
          XFree86-DRI
          XFree86-Misc
          XFree86-VidModeExtension
          XINERAMA
          XInputExtension
          XKEYBOARD
          XTEST
          XVideo
      default screen number: 0
      number of screens: 1

      screen #0:
        dimensions: 1400x1050 pixels (305x228 millimeters)
        resolution: 117x117 dots per inch
        depths (7): 24, 1, 4, 8, 15, 16, 32
        root window id: 0x5a
        depth of root window: 24 planes
        number of colormaps: minimum 1, maximum 1
        default colormap: 0x20
        default number of colormap cells: 256
        preallocated pixels: black 0, white 16777215
        options: backing-store NO, save-unders NO
        largest cursor: 64x64
        current input event mask: 0xfa8033
          KeyPressMask KeyReleaseMask EnterWindowMask
          LeaveWindowMask ExposureMask StructureNotifyMask
          SubstructureNotifyMask SubstructureRedirectMask FocusChangeMask
          PropertyChangeMask ColormapChangeMask
        number of visuals: 17
        default visual id: 0x23
        visual:
          visual id: 0x23
          class: TrueColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x24
          class: TrueColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x25
          class: TrueColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          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: 0xff0000, 0xff00, 0xff
          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: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x28
          class: TrueColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x29
          class: TrueColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          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: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x2b
          class: DirectColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x2c
          class: DirectColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x2d
          class: DirectColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x2e
          class: DirectColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x2f
          class: DirectColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x30
          class: DirectColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x31
          class: DirectColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x32
          class: DirectColor
          depth: 24 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
        visual:
          visual id: 0x58
          class: TrueColor
          depth: 32 planes
          available colormap entries: 256 per subfield
          red, green, blue masks: 0xff0000, 0xff00, 0xff
          significant bits in color specification: 8 bits
      ***************************************************** glxinfo :

      name of display: :0.0
      display: :0 screen: 0
      direct rendering: Yes
      server glx vendor string: SGI
      server glx version string: 1.2
      server glx extensions:
          GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
          GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
          GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
          GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
      client glx vendor string: SGI
      client glx version string: 1.4
      client glx extensions:
          GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
          GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
          GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
          GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control,
          GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
          GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
          GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
      GLX version: 1.2
      GLX extensions:
          GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
          GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
          GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,
          GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
          GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
      OpenGL vendor string: Tungsten Graphics, Inc
      OpenGL renderer string: Mesa DRI Intel(R) 965GM 4.1.3002 x86/MMX/SSE2
      OpenGL version string: 1.4 Mesa 7.0.3-rc2
      OpenGL extensions:
          GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging,
          GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters,
          GL_ARB_shadow, GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
          GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
          GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
          GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
          GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,
          GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,
          GL_ARB_vertex_program, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra,
          GL_EXT_blend_color, GL_EXT_blend_equation_separate,
          GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax,
          GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cull_vertex,
          GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture,
          GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_histogram,
          GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_point_parameters,
          GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color,
          GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap,
          GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
          GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
          GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
          GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
          GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array,
          GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage,
          GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate,
          GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat,
          GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture,
          GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent,
          GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_OES_read_format,
          GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_generate_mipmap,
          GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
          GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SUN_multi_draw_arrays

         visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
       id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
      ----------------------------------------------------------------------
      0x23 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
      0x24 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
      0x25 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
      0x26 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
      0x27 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow
      0x28 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow
      0x29 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
      0x2a 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
      0x2b 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
      0x2c 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
      0x2d 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
      0x2e 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
      0x2f 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow
      0x30 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow
      0x31 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
      0x32 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
      0x58 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 Ncon


      A DESCRIPTION OF THE PROBLEM :
      When running java remote applications with the x11 display connection redirected via ssh (or not even redirected with ssh, just with DISPLAY set to remote.address:0 ) the latency of the GUI is so big that it is impossible to use the application productively.
      This is DEFINITELY not a physical network latency or bandwidth issue, because the problem is reproducible even on localhost connections, something like this :
      user@localhost:~$ssh -X someotheruser@localhost
      someotheruser@localhost:~$ /path/to/java_application
      This also happens if plain tcp listening of the Xserver (disabled by default on most systems) is reactivated and on the someotheruser account DISPLAY is set as localhost:0 (xhost + localhost or xauth should be prepared under the user account currently logged on the X session )
      So, as this problem manifests itself even on the loopback interface, which is usually VERY fast, any network bandwidth or latency issue is excluded.
      The following should be mentioned :
      - any other graphic application works as expected, interactivity and display fluency is very good, for example using ssh -X someotheruser@localhost firefox one is able to view flash videos in very good conditions. The menus response times for the applications is very good, unlike java gui's
      - the problem seems very much related to the one described here :
      https://qa.mandriva.com/show_bug.cgi?id=39994
      - however, i encountered this problem long ago, but ignored it until recently as i was not so much depending on running remote java applications.

       

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1: ssh -X someotheruser@localhost any_graphic_application
      result : good interactivity and low latency
      2: ssh -X someotheruser@localhost java_application
      result : slow refresh, slow menu refresh, high latency with no apparent cpu usage.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      expected result : usable reaction times, at least when redirecting/using tcp socket x11 connections from the same machine via the loopback interface.
      ACTUAL -
      actual result : due to latency, any productive usage is impossible and painful.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      see https://qa.mandriva.com/show_bug.cgi?id=39994 for some errors, however these errors are most likely not related with the latency problem, as these errors appear even when not using x11 tcp sockets , but the applications are responsive.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      No source, any java gui.
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      None available.

            Unassigned Unassigned
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: