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 : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp