Bug 137356 [Markers] marker grouping not working as expected via markerSupport
N20060418-0010 The Java tooling now warns when a buildpath references an execution environment for which there is no exact match in the workspace (warning support is in HEAD as of today - org.eclipse.jdt.launching and org.eclipse.jdt.debug.ui plugins). The marker created should be categorized as a buildpath problem with other JDT build path problems. To do this, I create a marker support extension as follows (in jdt.debug.ui). <extension point="org.eclipse.ui.ide.markerSupport"> <markerAttributeGrouping defaultGroupingEntry="org.eclipse.jdt.ui.category.buildpath" markerType="org.eclipse.jdt.launching.jreContainerMarker"/> </extension> My understanding is that this should group all markers of type "org.eclipse.jdt.launching.jreContainerMarker" as buildpath problems. JUI has a corresponding grouping entry: <markerGroupingEntry id="org.eclipse.jdt.ui.category.buildpath" markerGrouping="org.eclipse.jdt.ui.java_marker_category" label="%MarkerCategory.buildpath" priority="100"/> I get the following error in the log: Reference to invalid markerGroupingEntry org.eclipse.jdt.ui.category.buildpath
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerSupportRegistry.java
/**
	 * Process the attribute mappings into thier required plug-ins.
	 * 
	 * @param attributeMappings
	 */
	private void processAttributeMappings(Collection attributeMappings) {
		Iterator mappingsIterator = attributeMappings.iterator();
		while (mappingsIterator.hasNext()) {
			AttributeMarkerGrouping next = (AttributeMarkerGrouping) mappingsIterator
					.next();
			String defaultEntryId = next.getDefaultGroupingEntry();
			if (defaultEntryId != null) {
				if (markerGroupingEntries.containsKey(defaultEntryId)) {
					MarkerGroupingEntry entry = (MarkerGroupingEntry) markerGroupingEntries
							.get(defaultEntryId);
					entry.setAsDefault(next.getMarkerType());
				} else {
					IDEWorkbenchPlugin.log(NLS.bind(
							"Reference to invalid markerGroupingEntry {0}",
							defaultEntryId));
				}
			}
			IConfigurationElement[] mappings = next.getElement().getChildren(
					ATTRIBUTE_MAPPING);
			for (int i = 0; i < mappings.length; i++) {
				String entryId = mappings[i]
						.getAttribute(MARKER_GROUPING_ENTRY);
				if (markerGroupingEntries.containsKey(entryId)) {
					MarkerGroupingEntry entry = (MarkerGroupingEntry) markerGroupingEntries
							.get(entryId);