facebook

XmlEditor uses 100% cpu for a large document

  1. MyEclipse Archived
  2.  > 
  3. Bugs
Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #241585 Reply

    The MyEclipse 4.0.3 xml editor uses 100%cpu for ever for a large xml document.

    I used a document at about 2.4mb.

    This is a thread dump.

    Full thread dump Java HotSpot(TM) Client VM (1.5.0_04-b05 mixed mode):

    “Caret Delay Timer” daemon prio=7 tid=0x18400e30 nid=0x154c waiting on condition [
    at java.lang.Thread.sleep(Native Method)
    at com.ibm.sse.editor.CaretMediator$1.run(CaretMediator.java:60)
    at java.lang.Thread.run(Unknown Source)

    “com.ibm.sse.editor.StructuredTextReconciler” daemon prio=2 tid=0x1820ee60 nid=0x1
    at com.ibm.sse.model.xml.internal.document.XMLModelImpl.getIndexedRegion(X
    at com.ibm.sse.editor.xml.reconcile.ReconcileStepForMarkup.getXMLNode(Reco
    at com.ibm.sse.editor.xml.reconcile.ReconcileStepForMarkup.getStructuredDo
    at com.ibm.sse.editor.xml.reconcile.ReconcileStepForMarkup.reconcileModel(
    at com.ibm.sse.editor.internal.reconcile.StructuredReconcileStep.reconcile
    at com.ibm.sse.editor.internal.reconcile.AbstractStructuredTextReconciling
    at com.ibm.sse.editor.StructuredTextReconciler.processAll(StructuredTextRe
    at com.ibm.sse.editor.StructuredTextReconciler.runStrategies(StructuredTex
    at com.ibm.sse.editor.StructuredTextReconciler.process(StructuredTextRecon
    at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.r

    “Timer-0” daemon prio=7 tid=0x1832b8f0 nid=0x15dc in Object.wait() [0x1893f000..0x
    at java.lang.Object.wait(Native Method)
    – waiting on <0x0918d080> (a java.util.TaskQueue)
    at java.lang.Object.wait(Unknown Source)
    at java.util.TimerThread.mainLoop(Unknown Source)
    – locked <0x0918d080> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Unknown Source)

    “Cleanup” daemon prio=7 tid=0x16f39b28 nid=0x1740 runnable [0x188ff000..0x188ffa6c
    at java.net.PlainDatagramSocketImpl.receive0(Native Method)
    – locked <0x07d07f70> (a java.net.PlainDatagramSocketImpl)
    at java.net.PlainDatagramSocketImpl.receive(Unknown Source)
    – locked <0x07d07f70> (a java.net.PlainDatagramSocketImpl)
    at java.net.DatagramSocket.receive(Unknown Source)
    – locked <0x07d08108> (a java.net.DatagramPacket)
    – locked <0x07d07e50> (a java.net.MulticastSocket)
    at com.genuitec.eclipse.core.D$A.run(Unknown Source)

    “Worker-5” prio=5 tid=0x17e3a730 nid=0x10e8 in Object.wait() [0x1887f000..0x1887fa
    at java.lang.Object.wait(Native Method)
    – waiting on <0x06ff80c0> (a org.eclipse.core.internal.jobs.WorkerPool)
    at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
    – locked <0x06ff80c0> (a org.eclipse.core.internal.jobs.WorkerPool)
    at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

    “Thread-1” prio=7 tid=0x17015e68 nid=0x12f4 runnable [0x17bff000..0x17bffa6c]
    at java.lang.Thread.sleep(Native Method)
    at org.eclipse.mylar.core.internal.ActivityTimerThread.run(ActivityTimerTh

    “Java indexing” daemon prio=4 tid=0x16eaaaa0 nid=0x13cc in Object.wait() [0x17b7f0
    at java.lang.Object.wait(Native Method)
    – waiting on <0x072dc788> (a org.eclipse.jdt.internal.core.search.indexing
    at java.lang.Object.wait(Unknown Source)
    at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManag
    – locked <0x072dc788> (a org.eclipse.jdt.internal.core.search.indexing.Ind
    at java.lang.Thread.run(Unknown Source)

    “Worker-0” prio=5 tid=0x171196d0 nid=0x1748 in Object.wait() [0x179ef000..0x179efb
    at java.lang.Object.wait(Native Method)
    – waiting on <0x06ff80c0> (a org.eclipse.core.internal.jobs.WorkerPool)
    at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
    – locked <0x06ff80c0> (a org.eclipse.core.internal.jobs.WorkerPool)
    at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

    “Start Level Event Dispatcher” daemon prio=5 tid=0x16d97cf0 nid=0x1360 in Object.w
    at java.lang.Object.wait(Native Method)
    – waiting on <0x06ac6eb8> (a org.eclipse.osgi.framework.eventmgr.EventMana
    at java.lang.Object.wait(Unknown Source)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEve
    – locked <0x06ac6eb8> (a org.eclipse.osgi.framework.eventmgr.EventManager$
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventM

    “Framework Event Dispatcher” daemon prio=5 tid=0x16fadc48 nid=0xd28 in Object.wait
    at java.lang.Object.wait(Native Method)
    – waiting on <0x06abeb98> (a org.eclipse.osgi.framework.eventmgr.EventMana
    at java.lang.Object.wait(Unknown Source)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEve
    – locked <0x06abeb98> (a org.eclipse.osgi.framework.eventmgr.EventManager$
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventM

    “State Data Manager” daemon prio=5 tid=0x16da0f10 nid=0x1664 waiting on condition
    at java.lang.Thread.sleep(Native Method)
    at org.eclipse.osgi.framework.adaptor.core.StateManager.run(StateManager.j
    at java.lang.Thread.run(Unknown Source)

    “Low Memory Detector” daemon prio=5 tid=0x0036d1a8 nid=0x14e8 runnable [0x00000000

    “CompilerThread0” daemon prio=10 tid=0x0036bd70 nid=0x14f8 waiting on condition [0

    “Signal Dispatcher” daemon prio=10 tid=0x0036b0a0 nid=0x1124 waiting on condition

    “Finalizer” daemon prio=9 tid=0x00362488 nid=0xd3c in Object.wait() [0x16c3f000..0
    at java.lang.Object.wait(Native Method)
    – waiting on <0x06a34558> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    – locked <0x06a34558> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

    “Reference Handler” daemon prio=10 tid=0x00360ff0 nid=0x17e4 in Object.wait() [0x1
    at java.lang.Object.wait(Native Method)
    – waiting on <0x06afa0a8> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Unknown Source)
    at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
    – locked <0x06afa0a8> (a java.lang.ref.Reference$Lock)

    “main” prio=7 tid=0x00034b18 nid=0x1580 runnable [0x0007f000..0x0007fc40]
    at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
    at org.eclipse.swt.widgets.Display.sleep(Display.java:3386)
    at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvi
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1700)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActiv
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
    at org.eclipse.core.launcher.Main.run(Main.java:973)
    at org.eclipse.core.launcher.Main.main(Main.java:948)

    “VM Thread” prio=10 tid=0x0035ce58 nid=0x13d4 runnable

    “GC task thread#0 (ParallelGC)” prio=5 tid=0x0034b8a0 nid=0x1508 runnable

    “VM Periodic Task Thread” prio=10 tid=0x0036e380 nid=0x17c0 waiting on condition

    #241616 Reply

    Riyad Kalla
    Member

    Would you be able to send this file to us for testing and profilign reasons?

    support@genuitec.com ATTN Riyad with a link to this post so I know why I”m getting it.

    #241766 Reply

    i sent the file as you requested

    #241782 Reply

    Riyad Kalla
    Member

    pkorros,
    Can you describe in better detail what exactly you are doing and what happens when the XML editor pegs the CPU? I ask because I was editing around in this file and while I agree it is sluggish, I didn’t experience any lockups or anything of that nature.

    #241820 Reply

    I agree that editing the file works good.

    The problem is that while the file is open eclipse takes all my cpu.

    steps to repro…

    1. open the file
    2. wait for the editor to open
    3. open the widnows task manager
    4. see that eclipse is responsive (you can edit the file) but the xml editor reconciler takes 100% of your cpu
    5. wait for a very long time and notice that the xml editor reconciler still takes 100% of your cpu

    #241834 Reply

    Riyad Kalla
    Member

    5) How long did you wait? I’m wondering if the reconciler thread is still running on the file.

    #241920 Reply

    I waited for over 15minutes and it was still 100%.

    #241924 Reply

    Riyad Kalla
    Member

    The bug has been filed for investigation, thank you

Viewing 8 posts - 1 through 8 (of 8 total)
Reply To: XmlEditor uses 100% cpu for a large document

You must be logged in to post in the forum log in