Forum Discussion
Altera_Forum
Honored Contributor
21 years agoEclipse 3.0
Has anyone tried upgrading to Eclipse3.0/CDT2.0?
It looks like the latest version addresses some serious issues like the 100% cpu time problems with javaw.exe - and not being able to open external files - but I'm not sure if the Altera eclipse extensions are compatible with 3.0. Maybe the new IDE release we're waiting for will be based on 3.0 - any news on an official release date for that? - Roddy5 Replies
- Altera_Forum
Honored Contributor
I don't recommend upgrading Eclipse on your own. Altera performs a lot of tests using the current versions so you are going out on a limb using something not tested.
- Altera_Forum
Honored Contributor
<div class='quotetop'>QUOTE </div>
--- Quote Start --- you are going out on a limb using something not tested.[/b] --- Quote End --- The branch I'm on is about to collapse anyway! The bug causing 100% cpu usage basically renders the IDE unusable. Every time I want to compile some code, I must first...[list][*]Exit Eclipse [*]Use task manager to kill javaw.exe process [*]Use task manager to kill eclipse.exe process, if still running [*]Restart Eclipse! [/list]As you can see, not much fun. I'm sure this problem relates to a bug in Eclipse CDT 1.2.1, but I can't upgrade that without upgrading the whole thing to Eclipse 3.0, and as you say, that's not trivial - there seem to be changes/fixes required to the altera eclipse plugins. That I was even considering trying to use 3.0 should give you a measure of my desperation... http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/sad.gif - Roddy - Altera_Forum
Honored Contributor
The current version(s) of the Altera plugins are for Eclipse 2.1.4. Plugins between 2.1.4 and 3.0 are not compatible.
What 100% CPU consumption bug? What causes it? Vanilla 2.1.4 Eclipse and/or Nios II IDE works, without this issue, on any machine I've installed it on. - slacker - Altera_Forum
Honored Contributor
I mentioned the 100% cpu issue in another thread - someone else said they had the same problem...
Basically, the *second* time you change a file and try rebuild, javaw.exe runs at 100% cpu usage. The IDE is still pretty responsive, but compiling/downloading runs incredibly slowly. It's like some background thread has gone berserk - maybe the C/C++ outliner/indexer or similar. Only cure is to exit the IDE, manually kill javaw.exe/eclipse.exe (which is left running as well), and restart the IDE. This is under WinXP SP2, with NIOS II IDE 1.01. I've exported my project and then imported it onto another engineers PC. The fault moved too! I haven't been able to cut back the project to a minimal one which exhibits the problem, and I'm unable to determine exactly which change to a source file introduced the bug. Try googling for "eclipse javaw.exe 100% cpu". Various things appear, but I haven't been able to confirm exactly which - if any- are like the problem I'm having. I'll try and post a java stack dump, if I can find how to do this... - Roddy - Altera_Forum
Honored Contributor
Don't know if it makes any sense to anyone, but here's a java thread dump of eclipse when javaw.exe is eating all my CPU time:
My guess about the CDT indexer looks right, but I don't know how to go further with this and find which part of my code is giving it grief. Anyone have any ideas? - Roddy <div class='quotetop'>QUOTE </div> --- Quote Start --- Full thread dump Java HotSpot™ Client VM (1.4.2_04-b05 mixed mode): "Snapshot" prio=5 tid=0x03cfe1e0 nid=0x9fc in Object.wait() [3a3f000..3a3fd8c] at java.lang.Object.wait(Native Method) - waiting on <0x10a039a0> (a org.eclipse.core.internal.resources.DelayedSnapshotRunnable) at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.run(DelayedSnapshotR unnable.java:38) - locked <0x10a039a0> (a org.eclipse.core.internal.resources.DelayedSnapshotRunnable) at java.lang.Thread.run(Unknown Source) "Decoration" daemon prio=2 tid=0x03cf31b8 nid=0x8a8 in Object.wait() [37df000..37dfd8c] at java.lang.Object.wait(Native Method) - waiting on <0x109123d0> (a org.eclipse.ui.internal.decorators.DecorationScheduler) at java.lang.Object.wait(Unknown Source) at org.eclipse.ui.internal.decorators.DecorationScheduler.next(DecorationScheduler. java:214) - locked <0x109123d0> (a org.eclipse.ui.internal.decorators.DecorationScheduler) at org.eclipse.ui.internal.decorators.DecorationScheduler$2.run(DecorationScheduler.java:240) at java.lang.Thread.run(Unknown Source) "org.eclipse.cdt.internal.ui.text.CSourceViewerConfiguration$1" daemon prio=2 tid=0x02fdd308 nid=0xe8c in Object.wait() [36ff000..36ffd8c] at java.lang.Object.wait(Native Method) - waiting on <0x108eabe8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) - locked <0x108eabe8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "CDT Indexer" daemon prio=5 tid=0x02eb74f0 nid=0xa04 runnable [36bf000..36bfd8c] at org.eclipse.cdt.internal.core.parser.ast.complete.CompleteParseASTFactory.usualA rithmeticConversions(CompleteParseASTFactory.java :864) at org.eclipse.cdt.internal.core.parser.ast.complete.CompleteParseASTFactory.getExp ressionResultType(CompleteParseASTFactory.java:11 72) at org.eclipse.cdt.internal.core.parser.ast.complete.CompleteParseASTFactory.create Expression(CompleteParseASTFactory.java:816) at org.eclipse.cdt.internal.core.parser.Parser.andExpression(Parser.java:3507) at org.eclipse.cdt.internal.core.parser.Parser.exclusiveOrExpression(Parser.java:34 64) at org.eclipse.cdt.internal.core.parser.Parser.inclusiveOrExpression(Parser.java:34 29) at org.eclipse.cdt.internal.core.parser.Parser.logicalAndExpression(Parser.java:339 5) at org.eclipse.cdt.internal.core.parser.Parser.logicalOrExpression(Parser.java:3360 ) at org.eclipse.cdt.internal.core.parser.Parser.conditionalExpression(Parser.java:33 24) at org.eclipse.cdt.internal.core.parser.Parser.assignmentExpression(Parser.java:318 9) at org.eclipse.cdt.internal.core.parser.Parser.expression(Parser.java:3153) at org.eclipse.cdt.internal.core.parser.Parser.condition(Parser.java:3070) at org.eclipse.cdt.internal.core.parser.Parser.statement(Parser.java:2905) at org.eclipse.cdt.internal.core.parser.Parser.statement(Parser.java:2961) at org.eclipse.cdt.internal.core.parser.Parser.compoundStatement(Parser.java:3125) at org.eclipse.cdt.internal.core.parser.Parser.functionBody(Parser.java:2875) at org.eclipse.cdt.internal.core.parser.Parser.handleFunctionBody(Parser.java:1071) at org.eclipse.cdt.internal.core.parser.Parser.simpleDeclaration(Parser.java:1031) at org.eclipse.cdt.internal.core.parser.Parser.simpleDeclarationStrategyUnion(Parse r.java:766) at org.eclipse.cdt.internal.core.parser.Parser.declaration(Parser.java:755) at org.eclipse.cdt.internal.core.parser.Parser.translationUnit(Parser.java:178) at org.eclipse.cdt.internal.core.parser.Parser.parse(Parser.java:139) at org.eclipse.cdt.internal.core.search.indexing.SourceIndexer.indexFile(SourceInde xer.java:93) at org.eclipse.cdt.internal.core.search.indexing.AbstractIndexer.index(AbstractInde xer.java:353) at org.eclipse.cdt.internal.core.index.impl.Index.add(Index.java:110) at org.eclipse.cdt.internal.core.search.indexing.AddCompilationUnitToIndex.indexDoc ument(AddCompilationUnitToIndex.java:29) at org.eclipse.cdt.internal.core.search.indexing.AddFileToIndex.execute(AddFileToIn dex.java:39) at org.eclipse.cdt.internal.core.search.processing.JobManager.run(JobManager.java:3 84) at java.lang.Thread.run(Unknown Source) "Signal Dispatcher" daemon prio=10 tid=0x0003e508 nid=0xc2c waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x009bcb78 nid=0x904 in Object.wait() [2b5f000..2b5fd8c] at java.lang.Object.wait(Native Method) - waiting on <0x104fb358> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x104fb358> (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=0x009bb748 nid=0xd98 in Object.wait() [2b1f000..2b1fd8c] at java.lang.Object.wait(Native Method) - waiting on <0x104fb3c0> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Unknown Source) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x104fb3c0> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x000354b8 nid=0x7f8 runnable [7f000..7fc3c] at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method) at org.eclipse.swt.widgets.Display.sleep(Display.java:2317) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1403) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:85 8) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) 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.basicRun(Main.java:291) at org.eclipse.core.launcher.Main.run(Main.java:747) at org.eclipse.core.launcher.Main.main(Main.java:583) "VM Thread" prio=5 tid=0x009f3730 nid=0xee0 runnable "VM Periodic Task Thread" prio=10 tid=0x009f4d18 nid=0x7e4 waiting on condition "Suspend Checker Thread" prio=10 tid=0x0003dbc0 nid=0xe88 runnable[/b] --- Quote End ---