OMNeT++/OMNEST Bug Tracker - OMNeT++
View Issue Details
0000518OMNeT++IDE / otherpublic2012-01-11 13:412012-01-17 17:24
michael 
andras 
normalmajoralways
resolvedfixed 
4.2 
4.2.1 
0000518: Can not create project features for MiXiM case
Hi,

it is not possible to define a project feature like tests or examples for MiXiM if I try this then I got errors like this:

MiXiM_EXAMPLES: no folder corresponds to NED package org.mixim.examples

but org.mixim.examples exists (same for org.mixim.tests). The only difference between MiXiM and INET is that MiXiM starts with org.mixim where INET does not have a dot in the package name.

Other point is that the NED file parser run without ending. I see always "Checking NED files..." and the omnetpp.exe runs with 0000009:0000080 threads blocking one CPU.

(I use the MiXiM from github with INET project).
Here some errors from error log:

!SESSION 2012-01-10 09:18:49.451 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86 -data D:\Business\Projects\SuSAN\ext-swsrc\inet-mixim

!ENTRY org.omnetpp.main 1 0 2012-01-10 09:18:54.638
!MESSAGE OMNeT++ IDE 4.2.0.111116-7631e2d started.

!ENTRY org.eclipse.cdt.core 1 0 2012-01-10 09:20:41.285
!MESSAGE Indexed 'inet' (451 sources, 1.086 headers) in 84,37 sec: 133.593 declarations; 441.076 references; 178 unresolved inclusions; 500 syntax errors; 6.641 unresolved names (1,14Â %)

!ENTRY org.eclipse.cdt.core 1 0 2012-01-10 09:21:39.269
!MESSAGE Indexed 'mixim' (88 sources, 134 headers) in 25,84 sec: 10.837 declarations; 45.316 references; 2 unresolved inclusions; 0 syntax errors; 1.980 unresolved names (3,41Â %)

!ENTRY org.omnetpp.cdt 2 0 2012-01-10 09:21:39.486
!MESSAGE OMNeT++ DependencyCache: /inet/src/transport/tcp_common/TCPDoc.h is not found in index! This should not happen, please report at http://bugs.omnetpp.org! [^]

!ENTRY org.omnetpp.cdt 2 0 2012-01-10 09:21:40.047
!MESSAGE OMNeT++ DependencyCache: /inet/src/networklayer/manetrouting/olsr/OLSR_printer.h is not found in index! This should not happen, please report at http://bugs.omnetpp.org! [^]

!ENTRY org.omnetpp.cdt 2 0 2012-01-10 09:21:40.200
!MESSAGE OMNeT++ DependencyCache: /inet/src/networklayer/manetrouting/dymo_fau/DYMOAccess.h is not found in index! This should not happen, please report at http://bugs.omnetpp.org! [^]

...

!ENTRY org.eclipse.cdt.core 4 0 2012-01-10 09:58:02.185
!MESSAGE API Error: setProjectDescription() shouldn't be called recursively.
!STACK 0
java.lang.Exception
    at org.eclipse.cdt.internal.core.settings.model.AbstractCProjectDescriptionStorage.setProjectDescription(AbstractCProjectDescriptionStorage.java:184)
    at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionStorageManager.setProjectDescription(CProjectDescriptionStorageManager.java:149)
    at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:836)
    at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:806)
    at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:801)
    at org.eclipse.cdt.core.model.CoreModel.setProjectDescription(CoreModel.java:1389)
    at org.eclipse.cdt.ui.newui.CDTPropertyManager.performOkForced(CDTPropertyManager.java:143)
    at org.omnetpp.cdt.ui.ProjectFeaturesPropertyPage.performOk(ProjectFeaturesPropertyPage.java:648)
    at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:964)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
    at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:944)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:447)
    at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:233)
    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
    at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123)
    at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97)
    at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:146)
    at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:235)
    at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:199)
    at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92)
    at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286)
    at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118)
    at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2282)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2339)
    at org.eclipse.cdt.internal.core.model.CModelOperation.runOperation(CModelOperation.java:633)
    at org.eclipse.cdt.internal.core.settings.model.AbstractCProjectDescriptionStorage.setProjectDescription(AbstractCProjectDescriptionStorage.java:203)
    at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionStorageManager.setProjectDescription(CProjectDescriptionStorageManager.java:149)
    at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:836)
    at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:806)
    at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:801)
    at org.eclipse.cdt.core.model.CoreModel.setProjectDescription(CoreModel.java:1389)
    at org.eclipse.cdt.ui.newui.CDTPropertyManager.performOkForced(CDTPropertyManager.java:143)
    at org.omnetpp.cdt.ui.ProjectFeaturesPropertyPage.performOk(ProjectFeaturesPropertyPage.java:648)
    at org.eclipse.jface.preference.PreferencePage.performApply(PreferencePage.java:432)
    at org.eclipse.jface.preference.PreferencePage$2.widgetSelected(PreferencePage.java:281)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    at org.eclipse.jface.window.Window.open(Window.java:801)
    at org.omnetpp.cdt.handlers.ProjectFeaturesHandler.execute(ProjectFeaturesHandler.java:40)
    at org.omnetpp.cdt.handlers.ProjectFeaturesHandler.execute(ProjectFeaturesHandler.java:32)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
    at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
    at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
    at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:829)
    at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:815)
    at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:805)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    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.equinox.launcher.Main.invokeFramework(Main.java:622)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

!ENTRY org.eclipse.cdt.core 1 0 2012-01-10 10:25:44.414
!MESSAGE Indexed 'inet' (327 sources, 667 headers) in 1.634,93 sec: 117.275 declarations; 341.471 references; 2 unresolved inclusions; 9 syntax errors; 87 unresolved names (0,02Â %)

!ENTRY org.eclipse.cdt.core 1 0 2012-01-10 10:37:18.550
!MESSAGE Indexed 'mixim' (88 sources, 135 headers) in 657,52 sec: 11.392 declarations; 50.150 references; 2 unresolved inclusions; 0 syntax errors; 8 unresolved names (0,01Â %)
No tags attached.
? .oppfeatures (1,385) 2012-01-11 13:41
https://dev.omnetpp.org/bugs/file_download.php?file_id=86&type=bug
Issue History
2012-01-11 13:41michaelNew Issue
2012-01-11 13:41michaelFile Added: .oppfeatures
2012-01-11 14:32andrasNote Added: 0000682
2012-01-11 14:37michaelNote Added: 0000683
2012-01-17 17:09andrasNote Added: 0000695
2012-01-17 17:22andrasNote Added: 0000696
2012-01-17 17:24andrasNote Added: 0000697
2012-01-17 17:24andrasStatusnew => resolved
2012-01-17 17:24andrasFixed in Version => 4.2.1
2012-01-17 17:24andrasResolutionopen => fixed
2012-01-17 17:24andrasAssigned To => andras

Notes
(0000682)
andras   
2012-01-11 14:32   
Could not reproduce... Checked out github:omnetpp/mixim, imported it, re-created the project files (as it wasn't recognized as CDT project after importing???), marked examples/ and tests/ as NED source folders, added the .oppfeatures file from this bug report --> and it worked, we didn't get the errors you mentioned. What did we do differently from you?
(0000683)
michael   
2012-01-11 14:37   
Have you tried to switch the project features on/off?
(0000695)
andras   
2012-01-17 17:09   
I could reproduce this:

> Other point is that the NED file parser run without ending. I see always "Checking NED files..."

The problem is not that "org.mixim" contains a dot while "inet" does not, but rather that MiXiM defines features that turns on/off a whole NED tree (examples/ and tests/). INET does not have such feature. When such a feature is turned off, a bug causes the IDE to continually load, unload, load, unload, load, unload... the package.ned file in that folder. That is continually causing changes in the IDE's internal NED database, and each change triggers a "Checking NED files" job.
(0000696)
andras   
2012-01-17 17:22   
Fixed the above primary problem (that a package that refers to a whole NED source tree could not be excluded).

One small issue remains: when you turn off "Examples" or "Tests", the Project Features page will complain that there aren't such packages as "org.mixim.examples" or "org.mixim.tests" anywhere. There's no loss of functionality. The warning is due to the fact that the disabled feature excludes those packages (see the NED Source Folders page!), and so the IDE is not allowed to load the package.ned files that would declare those packages. This is just a small quirk and hard to fix cleanly, so it's left in for the time being.

Perhaps it would be better (more practical/useful for endusers) to set up MiXiM's features so that each feature is just a subset of the stuff in examples/ or tests/, not a whole subtree.

The CDT exception (stack trace you posted) is unrelated, and I couldn't reproduce it (btw, MiXiM repo currently cannot be imported, because contents of the .csettings dir is not checked in -- that stuff is logically part of .cproject, but the CDT folks decided to split it for some reason...)
(0000697)
andras   
2012-01-17 17:24   
Closing because the primary issue is fixed in 4.2.1. If there are remaining issues, they should be entered as separate bugs.