Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 397291

Summary: Eclipse causes Xorg to use 100% CPU Usage
Product: [Eclipse Project] Platform Reporter: Steve Ramage <vcolo>
Component: SWTAssignee: Platform-SWT-Inbox <platform-swt-inbox>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 CC: arunkumar.thondapu, cloutier.jo, david.matejcek, emond.papegaaij, ericwill, fnfhspwanv, gheorghe, giacomo.fonderico, hurzl, john.arthorne, lshanmug, ludovic.smadja, matavulj, matt, parilinsa, pmi, pwebster, Silenio_Quarti, spamme, zanetu, _druid
Version: 4.2.1Keywords: triaged
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
Thread Dump
none
THread dumps 2 through 13 none

Description Steve Ramage CLA 2013-01-01 16:16:02 EST
Created attachment 225122 [details]
Thread Dump

Every so often, like 3 or 4 hours. Xorg will start taking 100% of the CPU usage, while I interact with Eclipse. I have to restart Eclipse for it to be fixed. I use Kubuntu 12.10, and have been using Juno for a while but this has only started happening since I started using 12.10. Typing or waiting for any menu to pop up is painfully slow.

If I stop interacting with Eclipse, and switch tasks Xorg usage drops.



*** Date: Tuesday, 1 January, 2013 12:47:38 PM Pacific Standard Time

*** Platform Details:

*** System properties:
__wbp.linux.disableScreenshotWorkarounds=false
applicationXMI=org.eclipse.ui.workbench/LegacyIDE.e4xmi
awt.toolkit=sun.awt.X11.XToolkit
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=M20120914-1800
eclipse.commands=-os
linux
-ws
gtk
-arch
x86_64
-showsplash
/opt/eclipse//plugins/org.eclipse.platform_4.2.1.v201209141800/splash.bmp
-launcher
/opt/eclipse/eclipse
-name
Eclipse
--launcher.library
/opt/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813/eclipse_1502.so
-startup
/opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.overrideVmargs
-exitdata
4c440000
-product
org.eclipse.epp.package.java.product
-vm
/usr/bin/java
eclipse.home.location=file:/opt/eclipse/
eclipse.launcher=/opt/eclipse/eclipse
eclipse.launcher.name=Eclipse
eclipse.p2.data.area=@config.dir/../p2/
eclipse.p2.profile=epp.package.java
eclipse.product=org.eclipse.epp.package.java.product
eclipse.startTime=1356915282106
eclipse.vm=/usr/bin/java
eclipse.vmargs=-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-jar
/opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
equinox.use.ds=true
file.encoding=UTF-8
file.encoding.pkg=sun.io
file.separator=/
findbugs.cloud.default=edu.umd.cs.findbugs.cloud.doNothingCloud
findbugs.home=/home/sjr/.eclipse/org.eclipse.platform_4.2.0_1473617060/plugins/edu.umd.cs.findbugs.plugin.eclipse_2.0.2.20121210/
gosh.args=--nointeractive
help.lucene.tokenizer=standard
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path=/opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
java.class.version=51.0
java.endorsed.dirs=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/endorsed
java.ext.dirs=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
java.home=/usr/lib/jvm/java-7-openjdk-amd64/jre
java.io.tmpdir=/tmp
java.library.path=/usr/java/packages/lib/amd64:/usr/lib/jni:/lib:/usr/lib
java.protocol.handler.pkgs=org.apache.axis.transport|
java.runtime.name=OpenJDK Runtime Environment
java.runtime.version=1.7.0_09-b30
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=1.7
java.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
java.version=1.7.0_09
java.vm.info=mixed mode
java.vm.name=OpenJDK 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=1.7
java.vm.vendor=Oracle Corporation
java.vm.version=23.2-b09
line.separator=

org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog
org.eclipse.debug.ui.breakpoints.toggleFactoriesUsed=false
org.eclipse.equinox.launcher.splash.location=/opt/eclipse//plugins/org.eclipse.platform_4.2.1.v201209141800/splash.bmp
org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info
org.eclipse.m2e.log.dir=/home/sjr/workspace/.metadata/.plugins/org.eclipse.m2e.logback.configuration
org.eclipse.update.reconcile=false
org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6,JavaSE-1.7
org.osgi.framework.language=en
org.osgi.framework.os.name=Linux
org.osgi.framework.os.version=3.5.0
org.osgi.framework.processor=x86-64
org.osgi.framework.system.capabilities=osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0, 1.1, 1.2",osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0, 1.1",osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7"
org.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.nimbus,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.ws.spi.http,javax.xml.ws.wsaddressing,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
org.osgi.framework.uuid=a0c886a9-e452-0012-1976-e7a7fc9956f6
org.osgi.framework.vendor=Eclipse
org.osgi.framework.version=1.7.0
org.osgi.supports.framework.extension=true
org.osgi.supports.framework.fragment=true
org.osgi.supports.framework.requirebundle=true
os.arch=amd64
os.name=Linux
os.version=3.5.0-19-generic
osgi.arch=x86_64
osgi.bundles=reference:file:org.eclipse.equinox.simpleconfigurator_1.0.301.v20120828-033635.jar@1:start
osgi.bundles.defaultStartLevel=4
osgi.bundlestore=/home/sjr/.eclipse/org.eclipse.platform_4.2.0_1473617060/configuration/org.eclipse.osgi/bundles
osgi.configuration.area=file:/home/sjr/.eclipse/org.eclipse.platform_4.2.0_1473617060/configuration/
osgi.framework=file:/opt/eclipse/plugins/org.eclipse.osgi_3.8.1.v20120830-144521.jar
osgi.framework.extensions=
osgi.framework.shape=jar
osgi.framework.version=3.8.1.v20120830-144521
osgi.install.area=file:/opt/eclipse/
osgi.instance.area=file:/home/sjr/workspace/
osgi.instance.area.default=file:/home/sjr/workspace/
osgi.logfile=/home/sjr/workspace/.metadata/.log
osgi.manifest.cache=/home/sjr/.eclipse/org.eclipse.platform_4.2.0_1473617060/configuration/org.eclipse.osgi/manifests
osgi.nl=en_CA
osgi.os=linux
osgi.requiredJavaVersion=1.5
osgi.sharedConfiguration.area=file:/opt/eclipse/configuration/
osgi.splashLocation=/opt/eclipse//plugins/org.eclipse.platform_4.2.1.v201209141800/splash.bmp
osgi.splashPath=platform:/base/plugins/org.eclipse.platform
osgi.syspath=/opt/eclipse/plugins
osgi.tracefile=/home/sjr/workspace/.metadata/trace.log
osgi.ws=gtk
path.separator=:
sun.arch.data.model=64
sun.boot.class.path=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/netx.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/plugin.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/classes
sun.boot.library.path=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64
sun.cpu.endian=little
sun.cpu.isalist=
sun.io.unicode.encoding=UnicodeLittle
sun.java.command=/opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -os linux -ws gtk -arch x86_64 -showsplash /opt/eclipse//plugins/org.eclipse.platform_4.2.1.v201209141800/splash.bmp -launcher /opt/eclipse/eclipse -name Eclipse --launcher.library /opt/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813/eclipse_1502.so -startup /opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.overrideVmargs -exitdata 4c440000 -product org.eclipse.epp.package.java.product -vm /usr/bin/java -vmargs -Dosgi.requiredJavaVersion=1.5 -Dhelp.lucene.tokenizer=standard -XX:MaxPermSize=256m -Xms40m -Xmx512m -jar /opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
sun.java.launcher=SUN_STANDARD
sun.jnu.encoding=UTF-8
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.os.patch.level=unknown
user.country=CA
user.dir=/home/sjr
user.home=/home/sjr
user.language=en
user.name=sjr
user.timezone=America/Vancouver
Comment 1 Paul Webster CLA 2013-01-07 11:22:24 EST
Thanx Steve. Could you take 2 more thread dumps if you get in that state again?

PW
Comment 2 Steve Ramage CLA 2013-01-09 06:23:18 EST
Happened again this time while I was editing something in Mylyn
Here are a bunch of thread dumps and there full timestamps. Basically I kept hitting it in sequence. 

-rw-rw-r--  1 sjr  sjr       39721 2013-01-09 03:19:36.849912708 -0800 threaddump10.txt
-rw-rw-r--  1 sjr  sjr       43494 2013-01-09 03:19:41.449912532 -0800 threaddump11.txt
-rw-rw-r--  1 sjr  sjr       38872 2013-01-09 03:19:48.405912265 -0800 threaddump12.txt
-rw-rw-r--  1 sjr  sjr       42332 2013-01-09 03:19:53.445912073 -0800 threaddump13.txt
-rw-rw-r--  1 sjr  sjr       39611 2013-01-09 03:19:06.037913886 -0800 threaddump2.txt
-rw-rw-r--  1 sjr  sjr       38125 2013-01-09 03:19:12.033913657 -0800 threaddump3.txt
-rw-rw-r--  1 sjr  sjr       39395 2013-01-09 03:19:15.433913527 -0800 threaddump4.txt
-rw-rw-r--  1 sjr  sjr       39395 2013-01-09 03:19:19.017913390 -0800 threaddump5.txt
-rw-rw-r--  1 sjr  sjr       39375 2013-01-09 03:19:21.205913306 -0800 threaddump6.txt
-rw-rw-r--  1 sjr  sjr       39289 2013-01-09 03:19:23.261913227 -0800 threaddump7.txt
-rw-rw-r--  1 sjr  sjr       39374 2013-01-09 03:19:25.377913146 -0800 threaddump8.txt
-rw-rw-r--  1 sjr  sjr       39395 2013-01-09 03:19:29.557912986 -0800 threaddump9.txt
Comment 3 Steve Ramage CLA 2013-01-09 06:23:50 EST
Created attachment 225375 [details]
THread dumps 2 through 13
Comment 4 Andrey Kourskov CLA 2013-02-05 07:27:45 EST
I have the same problem on my OpenSUSE 12.2 (x86).

Eclipse IDE for C/C++ Developers
Version: Indigo Service Release 2
Build id: 20120216-1857
Comment 5 Sergey Parilin CLA 2013-02-13 05:17:35 EST
I have the same issue with a kubuntu 12.10
Comment 6 Ivan Matavulj CLA 2013-04-05 07:34:48 EDT
I have the same problem with Lubuntu 12.10. I'm using Eclipse Juno.
The problem is intense, every dozen of minutes I have to restart the IDE as it becomes extremely slow opening dialogs. Xorg tops the process list with up to 90% CPU usage share.
I have NVIDIA graphics and I experimented with different graphics drivers, but nothing helped. As Eclipse is my primary tool at work, I'm considering switching to Windows OS.
Comment 7 Sergey Parilin CLA 2013-04-05 07:54:44 EDT
Seems that this issue linked with Nvidia card somehow. I have identical kubuntu setup on my Intel HD 4000 powered laptop and the same eclipse. On laptop it works perfectly.
Comment 8 Steve Ramage CLA 2013-04-05 08:51:25 EDT
As the original bug poster, I disagree as my laptop is an Intel HD Graphics 4000.
Comment 9 Andrey Kourskov CLA 2013-04-05 09:49:41 EDT
Hmm..
I have a nVidia video card too. (2 display configuration)

I also have the problem with other aplications. Like Wireshark.
Can it be some bug in GTK?
Comment 10 Andrey Kourskov CLA 2013-04-05 09:53:13 EDT
Someone should to profile a x11 server
Comment 11 Steve Ramage CLA 2013-04-05 09:55:09 EDT
I wonder if it's a dual display issue, as I run my laptop in dual displays. I also often change my display layout. I wonder if that is the common theme.
Comment 12 Sergey Parilin CLA 2013-04-08 05:21:23 EDT
I have double display desktop box too. And as I said, when I use laptop with single display this issue seems not reproduce.

Additionally, I have noticed that this effect appears when I select all projects in Package Explorer. For example I select all projects and the do the right mouth click and context menu appears extremely slowly. Xorg uses 10%-11% of my 4-core i7 processor, e.g. occupies one core for 100% for a while.
Comment 13 Andrey Kourskov CLA 2013-04-09 09:48:23 EDT
Guys,
Seems I fixed the problem (for me)
I switched to another GTK Style. (oxygen-gtk -> Adwaita)

OpenSUSE 12.2 (x86)
Comment 14 fnfhspwanv fnfhspwanv CLA 2013-06-27 20:51:13 EDT
Happens on Kubuntu 12.10 amd64 for me.
Eclipse package version = 3.8.0~rc4-1ubuntu1
Comment 15 Ivan Matavulj CLA 2013-06-28 07:23:57 EDT
I believe this has something to do with  XML editor plugin.
I realized this problems only happens when I am opening XML files. Can anyone confirm this ?
Comment 16 fnfhspwanv fnfhspwanv CLA 2013-07-27 20:24:56 EDT
(In reply to comment #15)
> I believe this has something to do with  XML editor plugin.
> I realized this problems only happens when I am opening XML files. Can
> anyone confirm this ?

The issue definitely happens during Java development as well, it is not restriced to the XML editor.
BUT I have observed the issue for the first time when doing XML editing so the probability of the issue appearing is maybe higher with the XML editor.

With Java, I typically suffer from it at least once per hour. Only restarting Eclipse fixes it then.
Comment 17 Sergey Parilin CLA 2013-07-29 11:19:26 EDT
It definitely happens only with oxygen-gtk theme. It's completely disappearing when Adwaita theme is used.
Comment 18 David Matějček CLA 2013-08-01 05:24:55 EDT
It occurs with GTK and Classic at least, but it is affected by many things. The problem comes sooner when (ordered by the effect):
- too many open projects (using m2e)
- doing many refactorings - Eclipse can slowdown after several minutes when moving classes. Finally the preview hangs.
- using diff tool, too often comparing files, changes, anything
- editing XML files
- using lower heap limit - but the dependency is not linear, very high heap does not help, you can even have free memory in system.

End even when you have 8GB RAM, 3 GB free, 1,5GB heap limit, finally system swap reports lower and lower free space (cca 5 MB/s), CPU is used mostly by Xorg (4core i5 goes to 20%), disk temperature goes high and system response is very slow. Still having same free RAM.
After killing the Eclipse with SIGTERM everything goes normal and even Eclipse starts normally and I can do the same thing without any problem.

It seems it is somehow related to opening and closing windows and tabs, GUIs and related things. It seems that after closing a window (or tab, etc.) the content is not properly disposed.
Comment 19 David Matějček CLA 2014-02-20 15:01:16 EST
Hi all, the problem is also in Eclipse 4.3, but today I have found this bug:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/238629

I have changed the file /etc/X11/xorg.conf - added the second Option and Eclipse did not crash or hang from the system restart (Kubuntu 13.10 64bit). UI is also much faster and does not cause CPU load (which is pretty low).

Section "Device"
        Identifier      "Default Device"
        Option  "NoLogo"        "True"
        Option  "AccelMethod"   "xaa"
EndSection

I hope it will stay so good as it is now also tomorrow :-)
Comment 20 Ivan Matavulj CLA 2014-02-26 04:59:52 EST
I want to share with you that I have completely eliminated this problem by switching from the WTP XML editor plugin to XMLBuddy plugin.
It's been months now that I'm using XMLBuddy and the issue has never occurred again.
Comment 21 Giacomo Fonderico CLA 2014-10-16 09:47:18 EDT
Ubuntu 14.04 Zend Eclipse for PHP Developers
Version: 3.2.0

For me bug happen opening javascript files. Disabling javascript validator have no effect. Editing javascript file take 100% CPU and after 10 minutes eclipse crash
Comment 22 Matt Godbolt CLA 2014-10-21 14:36:51 EDT
I'm also seeing this behaviour with CDT in Luna under Ubuntu 12.04. This is with GWT classic (i.e. SWT_GTK3=0) to work around other bugs.

I'd be happy to post any extra information if needed.

Version: Luna Service Release 1 (4.4.1)
Build id: 20140925-1800
Comment 23 Stu Mising name CLA 2016-11-17 12:26:17 EST
This has been plaguing me for a long time, it comes and goes, and I've narrowed it down to this:

When using the c++ text editor if there is any kind of markup on the screen, the responsiveness and the typing entry goes incredibly slow and there is a LOT of cursor flicker.

If the indexer detects an error and hilights something, or if there's an #ifdef that makes code unused, even highlights from the search box. anything that causes any kind of markup to the text in the displayable area of the screen makes it go slow.

What appears to be happening is that all that markup is getting updated every time I type a key. Probably it would be better if that work got queued up until the typing stopped, because doing lots of updates on every keypress is killing the cpu.

I have a 4k monitor for my main screen and a second regular 1080p monitor as my seconday, and I use xubuntu, not ubuntu. Hope it helps. Please help though because eclipse becomes unusable, when it gets cranky like this.

xubuntu 16.04

Eclipse IDE for C/C++ Developers
Version: Mars.2 Release (4.5.2)
Build id: 20160218-0600
Comment 24 Eric Williams CLA 2018-05-11 14:35:52 EDT
(In reply to Stu Mising name from comment #23)
> This has been plaguing me for a long time, it comes and goes, and I've
> narrowed it down to this:
> 
> When using the c++ text editor if there is any kind of markup on the screen,
> the responsiveness and the typing entry goes incredibly slow and there is a
> LOT of cursor flicker.
> 
> If the indexer detects an error and hilights something, or if there's an
> #ifdef that makes code unused, even highlights from the search box. anything
> that causes any kind of markup to the text in the displayable area of the
> screen makes it go slow.
> 
> What appears to be happening is that all that markup is getting updated
> every time I type a key. Probably it would be better if that work got queued
> up until the typing stopped, because doing lots of updates on every keypress
> is killing the cpu.
> 
> I have a 4k monitor for my main screen and a second regular 1080p monitor as
> my seconday, and I use xubuntu, not ubuntu. Hope it helps. Please help
> though because eclipse becomes unusable, when it gets cranky like this.
> 
> xubuntu 16.04
> 
> Eclipse IDE for C/C++ Developers
> Version: Mars.2 Release (4.5.2)
> Build id: 20160218-0600

Please try a 4.8 I-build, it's possible you are experiencing a Webkit1 issue.
Comment 25 Eric Williams CLA 2018-05-30 10:44:10 EDT
Closing this ticket now. Please re-open this ticket if the issue is reproducible on 4.8 with GTK3.22.
Comment 26 Jonatan Cloutier CLA 2018-11-09 12:32:27 EST
This still happens with:
eclipse.buildId=4.9.0.I20180906-0745
org.eclipse.swt.internal.gtk.theme=Breeze
org.eclipse.swt.internal.gtk.version=3.22.30

I'm in a virtualbox vm, with two virtual screens 1920x1080, running on archlinux. I mostly use java development tools which include java code, jsp and xml file editors. I noticed that reducing the windows does lower the cpu from kwin and Xorg. It takes a few hours before those two processes use about 20% cpu each. Considering my virtual box setting (4cpu available at 80%) I'd say they both use completely one core.
Comment 27 Eric Williams CLA 2018-11-09 14:27:43 EST
(In reply to Jonatan Cloutier from comment #26)
> This still happens with:
> eclipse.buildId=4.9.0.I20180906-0745
> org.eclipse.swt.internal.gtk.theme=Breeze
> org.eclipse.swt.internal.gtk.version=3.22.30
> 
> I'm in a virtualbox vm, with two virtual screens 1920x1080, running on
> archlinux. I mostly use java development tools which include java code, jsp
> and xml file editors. I noticed that reducing the windows does lower the cpu
> from kwin and Xorg. It takes a few hours before those two processes use
> about 20% cpu each. Considering my virtual box setting (4cpu available at
> 80%) I'd say they both use completely one core.

Does it happen with a blank (fresh) workspace?