I still don't have a solution but here are my latest findings about this
issue:

1.) WID process uses following files:
lsof -p <PID> | grep swt
        eclipse 7819 rstribrn  mem    REG                8,7     40736 1058233 
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-cairo-gtk-3453.so
        eclipse 7819 rstribrn  mem    REG                8,7     23060 1058235 
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-atk-gtk-3453.so
        eclipse 7819 rstribrn  mem    REG                8,7    352276 1058234 
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-pi-gtk-3453.so
        eclipse 7819 rstribrn  mem    REG                8,7     11360 1058230 
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-gtk-3453.so
        eclipse 7819 rstribrn  102r   REG                8,7     17000 3424093 
/opt/IBM/SDPShared/plugins/org.eclipse.swt_3.4.2.v3453a.jar
        eclipse 7819 rstribrn  112r   REG                8,7   2066776 3421737 
/opt/IBM/SDPShared/plugins/org.eclipse.swt.gtk.linux.x86_3.4.1.v3453a.jar


lsof -p <PID> | grep gtk
        eclipse 14813 rstribrn  mem    REG                8,1     80704    
15754 
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/printbackends/libprintbackend-cups.so
        eclipse 14813 rstribrn  mem    REG                8,1     18068     
4218 
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/printbackends/libprintbackend-file.so
        eclipse 14813 rstribrn  mem    REG                8,7     40736  
1058233 
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-cairo-gtk-3453.so
        eclipse 14813 rstribrn  mem    REG                8,7     23060  
1058235 
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-atk-gtk-3453.so
        eclipse 14813 rstribrn  mem    REG                8,1     26512     
6241 /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so
        eclipse 14813 rstribrn  mem    REG                8,7    352276  
1058234 
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-pi-gtk-3453.so
        eclipse 14813 rstribrn  mem    REG                8,7     11360  
1058230 
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-gtk-3453.so
        eclipse 14813 rstribrn  mem    REG                8,1    219296    
31730 /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/engines/libmurrine.so
        eclipse 14813 rstribrn  mem    REG                8,1   4617044   
931729 /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.17
        eclipse 14813 rstribrn  mem    REG                8,1     17948   
926032 /usr/lib/i386-linux-gnu/libcanberra-gtk.so.0.1.9
        eclipse 14813 rstribrn  mem    REG                8,1     22156      
529 /usr/lib/i386-linux-gnu/gtk-2.0/modules/libcanberra-gtk-module.so
        eclipse 14813 rstribrn  mem    REG                8,7    133193   
790237 
/opt/IBM/WID62/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.0.101.R34x_v20080805/eclipse_1115.so
        eclipse 14813 rstribrn  182r   REG                8,7   2066776  
3421737 
/opt/IBM/SDPShared/plugins/org.eclipse.swt.gtk.linux.x86_3.4.1.v3453a.jar

lsof -p <PID> | grep gdk
        eclipse 14813 rstribrn  mem    REG                8,1      5604  
1454545 
/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
        eclipse 14813 rstribrn  mem    REG                8,1     18044  
1458116 
/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
        eclipse 14813 rstribrn  mem    REG                8,1     26176  
1457839 
/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so
        eclipse 14813 rstribrn  mem    REG                8,1     13768  
1457834 
/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so
        eclipse 14813 rstribrn  mem    REG                8,1    712732   
924837 /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0.2400.17
        eclipse 14813 rstribrn  mem    REG                8,1    137196   
924851 /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0.2800.0

2.) kill -3 <PID>
javacore.20130429.181810.32056.0005.txt
        3XMTHREADINFO      "main" J9VMThread:0x09288400, j9thread_t:0x0926C02C, 
java/lang/Thread:0x98B60020, state:R, prio=6
        3XMTHREADINFO1            (native thread ID:0x7D38, native 
priority:0x6, native policy:UNKNOWN)
        3XMTHREADINFO2            (native stack address range from:0xFF27A000, 
to:0xFFA7A000, size:0x800000)
        3XMTHREADINFO3           Java callstack:
        4XESTACKTRACE                at 
org/eclipse/swt/internal/gtk/OS._gdk_pixbuf_scale_simple(Native Method)
        4XESTACKTRACE                at 
org/eclipse/swt/internal/gtk/OS.gdk_pixbuf_scale_simple(OS.java:3154(Compiled 
Code))
        4XESTACKTRACE                at 
org/eclipse/swt/graphics/GC.scale(GC.java:1105(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/swt/graphics/GC.drawImage(GC.java:884(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/swt/graphics/GC.drawImage(GC.java:873(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/swt/graphics/GC.drawImage(GC.java:759(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/swt/graphics/ImageData.fillGradientRectangle(ImageData.java:3597(Compiled
 Code))
        4XESTACKTRACE                at 
org/eclipse/swt/graphics/GC.fillGradientRectangle(GC.java:1833(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/draw2d/SWTGraphics.fillGradient(SWTGraphics.java:515(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/draw2d/Graphics.fillGradient(Graphics.java:412(Compiled Code))
        4XESTACKTRACE                at 
com/ibm/wbit/bpel/ui/editparts/borders/GradientBorder.paintGradient(Bytecode 
PC:18(Compiled Code))
        4XESTACKTRACE                at 
com/ibm/wbit/bpel/ui/editparts/figures/GradientFigure.paintClientArea(Bytecode 
PC:28(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/draw2d/Figure.paint(Figure.java:1051(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/draw2d/Figure.paintChildren(Figure.java:1087(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/draw2d/Figure.paintClientArea(Figure.java:1119(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/draw2d/Figure.paint(Figure.java:1051(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/draw2d/Figure.paintChildren(Figure.java:1087(Compiled Code))
        4XESTACKTRACE                at 
org/eclipse/draw2d/Figure.paintClientArea(Figure.java:1119(Compiled Code))

        2CLTEXTCLLIB            Loader 
org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader(0x993A33C8)
        3CLTEXTLIB                      
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-gtk-3453.so
        3CLTEXTLIB                      
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-pi-gtk-3453.so
        3CLTEXTLIB                      
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-atk-gtk-3453.so
        3CLTEXTLIB                      
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-cairo-gtk-3453.so

=> So it seems that it is spending the time in
OS._gdk_pixbuf_scale_simple.


3.)     gdk_pixbuf_scale_simple is provided by libgdk_pixbuf-2.0.so

4.) I've verified the differences between the builds of gdk-
pixbuf-2.28.0 for oneiric and precise/raring and found no problematic
difference.

I've verified the differences between the gdk-pixbuf-2.24.1 (oneiric
version) and gdk-pixbuf-2.28.0 (raring) and also found nothing.

5.) However, gdk_pixbuf_scale_simple function calls
gdk_pixbuf_scale...but wait, this function should be performed by
hardware (and not CPU), right?

=> That led me to another investigation.


6.) SWT library
org/eclipse/swt/graphics/Device.java
has boolean named useXRender

It seems that there is some difference in libXrender (oneiric version and all 
newer versions)
        - Oneiric version sets device.useXRender (boolean) flag to TRUE
        - All other newer version sets it to FALSE

=> I've verified this with a simple Java program which was using
libXrender1.so from Ubuntu Oneiric (11.10) and from Ubuntu Raring
(13.04).

When Oneiric's version was used => Device.useXRender flag was set to TRUE.
When newer version of the same library was put on the LD_LIBRARY_PATH => 
Device.useXRender flag was set to FALSE.

Strange...still need more investigation what's going on :-(...

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to libxrender in Ubuntu.
https://bugs.launchpad.net/bugs/1033253

Title:
  WebSphere Integration Developer 6.2 (Eclipse 3.4) - BPEL editor is
  slow for large windows

Status in “libxrender” package in Ubuntu:
  New

Bug description:
  
  1.) lsb_release -rd
      Description:      Ubuntu 12.04.1 LTS
      Release:  12.04

  2.) apt-cache policy libXrender1
        libxrender1:
          Installed: 1:0.9.6-2build1
          Candidate: 1:0.9.6-2build1
          Version table:
         *** 1:0.9.6-2build1 0
                        500 http://archive.ubuntu.com/ubuntu/ precise/main 
amd64 Packages
                        100 /var/lib/dpkg/status

  apt-cache policy libXrender1:i386
        libxrender1:i386:
          Installed: 1:0.9.6-2build1
          Candidate: 1:0.9.6-2build1
          Version table:
         *** 1:0.9.6-2build1 0
                        500 http://archive.ubuntu.com/ubuntu/ precise/main i386 
Packages
                        100 /var/lib/dpkg/status

  3.) What you expected to happen: Eclipse window rendering would be working at 
the similar speed as in Oneric.
  4.) What happened instead: Eclipse was terribly slow.

  
  Conditions: WID 6.2 Linux version is 32-bit. Ubuntu 12.04 64-bit version 
installed with latest updates. ia32-libs and libstdc++5:i386 package to make 
WID 6.2 working.

  WID 6.2 was running smoothly on Ubuntu 11.10 (Oneiric) but that
  stopped directly after upgrade to Ubuntu 12.04. The problem is that
  window rendering (BPEL editor) started to be terribly slow (CPU at
  100%).

  I tried to investigate the problem and finally after a few days and nights 
I've find out that the problem is in libXrender package.
  Since code has not been changed between the two Ubuntu releases, it's somehow 
related to how the package is build.

  5.) My analysis of the problem:

  5.1) Some simple tests first
      - Usage of different window environment had no effect (Unity, Gnome 
Shell, Gnome Classic, XFCE).
      - Usage of latest Xorg versions (xorg-edgers) had also no effect.
      - Usage of older/newer nvidia drivers had no effect.
      - Usage of xserver-xorg-video-noveau had no effect.

  5.2) Compare versions and changelog
       http://lino.ubuntuupdates.org/pm/libxrender
     precise    main    base    1:0.9.6-2build1 
     oneiric    main    base    1:0.9.6-2

        Change Log:
            Version: 1:0.9.6-2build1    2012-03-02 07:04:57 UTC
            libxrender (1:0.9.6-2build1) precise; urgency=low
              * No-change rebuild against current pkgbinarymangler to fix 
broken 
                md5sums. (see LP #875466)
             -- Martin Pitt Wed, 29 Feb 2012 17:58:51 +0100

  5.3) Locate file
    Precise: /usr/lib/i386-linux-gnu/libXrender.so.1.3.0
    Oneiric: /usr/lib32/libXrender.so.1.3.0

  5.4) Compare libXrender library dependency
      => By using ldd utility
      => nearly same output (ie.just addresses are different)

  5.5) Filesize comparison (Result: Size differ significantly)
   Precise size: 34424
   Oneiric size: 38520

  5.6) Compare using "file" utility (Result: hashes are different)
       Precise: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), 
dynamically linked, BuildID[sha1]=0x62c06ccdf7ede559a439ac33ac35dec40f035a9c, 
stripped
       Oneiric: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), 
dynamically linked, BuildID[sha1]=0x05ad8f548663c542361448564b6f1c6f881f9e65, 
stripped

  5.7) Compare libXrender path in loaded libraries (Result: path differs)
       Find all dynamic libraries
           lsof -p <eclipse process> | grep -E "\.so\.|\.so" | cut -c74-
       List library dependency (using ldd) for every loaded library

       Result:
           - Precise: All used libraries have following dependency: 
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf69bd000)
           - Oneiric: Not tested (already upgraded to Precise). Very likely 
/usr/lib32/libXrender.so.1.

  
  5.8) libXrender is used by following loaded libraries
       
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-atk-gtk-3453.so:
       
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-cairo-gtk-3453.so:
       
/opt/IBM/WID62/configuration/org.eclipse.osgi/bundles/2282/1/.cp/libswt-pi-gtk-3453.so:
       /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/engines/libclearlooks.so:
       /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so:
       
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/printbackends/libprintbackend-cups.so:
       
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/printbackends/libprintbackend-file.so:
       /usr/lib/i386-linux-gnu/gtk-2.0/modules/libcanberra-gtk-module.so:
       /usr/lib/i386-linux-gnu/libcairo.so.2.11000.2:
       /usr/lib/i386-linux-gnu/libcanberra-gtk.so.0.1.8:
       /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0.2400.10:
       /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.10:
       /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0.3000.0:
       /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2:
       /usr/lib/i386-linux-gnu/libXrandr.so.2.2.0:

  
  6.) Workaround (use Oneiric libXrender library version):
  6.1) Copy /usr/lib32/libXrender* from Oneiric to 
/opt/IBM/WID62/oneiric/usr/lib32/
  6.2) Make WID startup script /opt/IBM/WID62/runwid.sh with following content:
      LD_LIBRARY_PATH=/opt/IBM/WID62/oneiric/usr/lib32:$LD_LIBRARY_PATH
      /opt/IBM/WID62/wid.bin $*
  6.3) chmod +x /opt/IBM/WID62/runwid.sh
  6.4) /opt/IBM/WID62/runwid.sh

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: libxrender1:i386 1:0.9.6-2build1
  ProcVersionSignature: Ubuntu 3.2.0-29.46-generic 3.2.24
  Uname: Linux 3.2.0-29-generic x86_64
  .tmp.unity.support.test.1:
   
  ApportVersion: 2.0.1-0ubuntu12
  Architecture: amd64
  CompizPlugins: 
[core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
  CompositorRunning: None
  Date: Sun Aug  5 19:31:24 2012
  DistUpgraded: 2012-08-05 17:27:48,819 DEBUG enabling apt cron job
  DistroCodename: precise
  DistroVariant: ubuntu
  GraphicsCard:
   NVIDIA Corporation G86 [Quadro NVS 140M] [10de:0429] (rev a1) (prog-if 00 
[VGA controller])
     Subsystem: Lenovo ThinkPad T61 [17aa:20d8]
  InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release amd64 (20091027)
  MachineType: LENOVO 6458VH5
  PackageArchitecture: i386
  PccardctlIdent:
   Socket 0:
     no product info available
  PccardctlStatus:
   Socket 0:
     no card
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.2.0-29-generic 
root=UUID=abf540ab-8c67-422c-b770-ad0020b9b70b ro gfxpayload=1024x768 
crashkernel=384M-2G:64M,2G-:128M quiet splash vt.handoff=7
  SourcePackage: libxrender
  UpgradeStatus: Upgraded to precise on 2012-08-05 (0 days ago)
  dmi.bios.date: 04/08/2010
  dmi.bios.vendor: LENOVO
  dmi.bios.version: 7LETC7WW (2.27 )
  dmi.board.name: 6458VH5
  dmi.board.vendor: LENOVO
  dmi.board.version: Not Available
  dmi.chassis.asset.tag: No Asset Information
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: Not Available
  dmi.modalias: 
dmi:bvnLENOVO:bvr7LETC7WW(2.27):bd04/08/2010:svnLENOVO:pn6458VH5:pvrThinkPadT61:rvnLENOVO:rn6458VH5:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
  dmi.product.name: 6458VH5
  dmi.product.version: ThinkPad T61
  dmi.sys.vendor: LENOVO
  version.compiz: compiz 1:0.9.7.8-0ubuntu1.3
  version.ia32-libs: ia32-libs 20090808ubuntu36
  version.libdrm2: libdrm2 2.4.32-1ubuntu1
  version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.3-0ubuntu0.1
  version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
  version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.3-0ubuntu0.1
  version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu10.7
  version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1.2
  version.xserver-xorg-video-ati: xserver-xorg-video-ati N/A
  version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu4
  version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau N/A

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libxrender/+bug/1033253/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to