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

Bug #1033253 reported by Rostislav Stříbrný
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libxrender (Ubuntu)
New
Undecided
Unassigned

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

Revision history for this message
Rostislav Stříbrný (rstribrn) wrote :
Revision history for this message
Rostislav Stříbrný (rstribrn) wrote :

No (relevant) stdout/stderr errors were logged after Eclipse was started.
That's also the case for .metadata/.log log file in Eclipse's workspace.

Revision history for this message
Rostislav Stříbrný (rstribrn) wrote :
bugbot (bugbot)
tags: added: edgers
Revision history for this message
Rostislav Stříbrný (rstribrn) wrote :

I've just checked that the bug is also present in latest Ubuntu: 12.10 Quantal Quetzal.
Since nobody has been assigned to this bug I wonder, how to proceed...

I seems to me like a simple compile-time problem or something...

no longer affects: libxrender (Fedora)
Revision history for this message
Rostislav Stříbrný (rstribrn) wrote :

Problem still valid, I'm about to ugprade to 13.04 soon. So I will report if the bug will be still there (or more interestingly, whether the workaround would still work)...:-)

Revision history for this message
Rostislav Stříbrný (rstribrn) wrote :

I've just upgraded from Ubuntu 12.10 to Ubuntu 13.04 during the weekend.
1.) The problem with libxrender library is STILL valid.
2.) Moreover, the workaround with oneiric's libxrender library version no longer works (entire X server crashes after few clicks in WebSphere Integration Studio when BPEL is opened).

So I've to find some other solution. :-(((

Revision history for this message
Rostislav Stříbrný (rstribrn) wrote :
Download full text (8.0 KiB)

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
 ecl...

Read more...

Revision history for this message
Rostislav Stříbrný (rstribrn) wrote :
Download full text (4.3 KiB)

6.) SOLUTION - WORKAROUND 2:
 After applying this workaround, BPEL rendering is fast again (in WID 6.2) and WID doesn't crash anymore.

    Note: Workaround no. 1 used libxrender.so only. Now more (dependent) libraries are also needed.

6.1) This patch is probably NOT needed:
 Download: eclipse.platform.swt.binaries-3453i.zip
  URL: http://git.eclipse.org/c/platform/eclipse.platform.swt.binaries.git/

 Modify files in /opt/IBM/SDPShared/plugins:
  org.eclipse.swt_3.4.2.v3453a.jar
   - Delete all files in META-INF except MANIFEST.MF
   - Remove all signature related tags (SHA-1) from META-INF/MANIFEST.MF
  org.eclipse.swt.gtk.linux.x86_3.4.1.v3453a.jar
   - Delete all files in META-INF except MANIFEST.MF
   - Remove all signature related tags (SHA-1) from META-INF/MANIFEST.MF
   - Copy new *.so files from eclipse.platform.swt.binaries-3453i.zip
    Path in ZIP: eclipse.platform.swt.binaries-3453i/bundles/org.eclipse.swt.gtk.linux.x86/
     to root of org.eclipse.swt.gtk.linux.x86_3.4.1.v3453a.jar

6.2) Use older library version (from oneiric = Ubuntu 11.10) for WID 6.2

export LD_LIBRARY_PATH=/opt/IBM/WID62/__WID_problem/oneiric/usr/lib32:$LD_LIBRARY_PATH

ls -lisa /opt/IBM/WID62/__WID_problem/oneiric/usr/lib32
total 2460
1848179 4 drwxr-xr-x 2 myuser myuser 4096 May 1 13:51 .
1848138 4 drwxr-xr-x 5 myuser myuser 4096 Aug 5 2012 ..
1839499 16 -rw-r--r-- 1 myuser myuser 13856 May 1 13:51 libdl.so
1839462 0 lrwxrwxrwx 1 myuser myuser 27 May 1 13:43 libgdk-x11-2.0.so.0 -> libgdk-x11-2.0.so.0.2400.10
1839463 696 -rw-r--r-- 1 myuser myuser 712692 May 1 13:43 libgdk-x11-2.0.so.0.2400.10
1839314 0 lrwxrwxrwx 1 myuser myuser 15 May 1 13:38 libX11.so.6 -> libX11.so.6.3.0
1839315 1236 -rw-r--r-- 1 myuser myuser 1262456 May 1 13:37 libX11.so.6.3.0
1839164 0 lrwxrwxrwx 1 myuser myuser 15 May 1 13:37 libXau.so.6 -> libXau.so.6.0.0
1839207 12 -rw-r--r-- 1 myuser myuser 9588 May 1 13:36 libXau.so.6.0.0
1839302 0 lrwxrwxrwx 1 myuser myuser 22 May 1 13:36 libxcb-render.so.0 -> libxcb-render.so.0.0.0
1839177 36 -rw-r--r-- 1 myuser myuser 34144 May 1 13:36 libxcb-render.so.0.0.0
1839183 0 lrwxrwxrwx 1 myuser myuser 19 May 1 13:37 libxcb-shm.so.0 -> libxcb-shm.so.0.0.0
1839184 12 -rw-r--r-- 1 myuser myuser 9560 May 1 13:36 libxcb-shm.so.0.0.0
1839185 0 lrwxrwxrwx 1 myuser myuser 15 May 1 13:37 libxcb.so.1 -> libxcb.so.1.1.0
1839186 120 -rw-r--r-- 1 myuser myuser 120332 May 1 13:36 libxcb.so.1.1.0
1839334 0 lrwxrwxrwx 1 myuser myuser 22 May 1 13:44 libXcomposite.so.1 -> libXcomposite.so.1.0.0
1839401 12 -rw-r--r-- 1 myuser myuser 9524 May 1 13:42 libXcomposite.so.1.0.0
1839480 0 lrwxrwxrwx 1 myuser myuser 19 May 1 13:50 libXcursor.so.1 -> libXcursor.so.1.0.2
1839481 40 -rw-r--r-- 1 myuser myuser 38356 May 1 13:49 libXcursor.so.1.0.2
1839396 0 lrwxrwxrwx 1 myuser myuser 19 May 1 13:44 libXdamage.so.1 -> libXdamage.so.1.1.0
1839439 12 -rw-r--r-- 1 myuser myuser 9532 May 1 13:42 libXdamage.so.1.1.0
1839215 0 lrwxrwxrwx 1 myuser myuser 17 May 1 13:37 libXdmcp.so.6 -> libXdmcp.so.6.0.0
1839224 24 -rw-r--r-- 1 myuser my...

Read more...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.