Source:
<code>public static @Nullable TmfEventsTable getEventTable(ITmfTrace trace, Composite parent, int cacheSize) { final String traceType = getTraceType(trace); if (traceType == null) { return null; } TraceElementType elType = (trace instanceof TmfExperiment) ? TraceElementType.EXPERIMENT : TraceElementType.TRACE; for (final IConfigurationElement ce : TmfTraceTypeUIUtils.getTypeUIElements(elType)) { if (ce.getAttribute(TmfTraceTypeUIUtils.TRACETYPE_ATTR).equals(traceType)) { final IConfigurationElement[] eventsTableTypeCE = ce.getChildren(TmfTraceTypeUIUtils.EVENTS_TABLE_TYPE_ELEM); if (eventsTableTypeCE.length != 1) { break; } final String eventsTableType = eventsTableTypeCE[0].getAttribute(TmfTraceTypeUIUtils.CLASS_ATTR); if (eventsTableType.isEmpty()) { break; } try { final Bundle bundle = Platform.getBundle(ce.getContributor().getName()); final Class<?> c = bundle.loadClass(eventsTableType); final Class<?>[] constructorArgs = new Class[] { Composite.class, int.class , Iterable.class}; final Constructor<?> constructor = c.getConstructor(constructorArgs); <START> final Object[] args = new Object[] { parent, cacheSize, trace.getEventAspects() }; <END> return (TmfEventsTable) constructor.newInstance(args); } catch (NoSuchMethodException | ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { return null; } } } return null; }</code><technical_language>Some extensions provide aspects in table necessarily in trace. This change break it. try this patch compatible. Maybe, need add a flag in extension point</technical_language>

Target:
public static @Nullable TmfEventsTable getEventTable(ITmfTrace trace, Composite parent, int cacheSize) { final String traceType = getTraceType(trace); if (traceType == null) { return null; } TraceElementType elType = (trace instanceof TmfExperiment) ? TraceElementType.EXPERIMENT : TraceElementType.TRACE; for (final IConfigurationElement ce : TmfTraceTypeUIUtils.getTypeUIElements(elType)) { if (ce.getAttribute(TmfTraceTypeUIUtils.TRACETYPE_ATTR).equals(traceType)) { final IConfigurationElement[] eventsTableTypeCE = ce.getChildren(TmfTraceTypeUIUtils.EVENTS_TABLE_TYPE_ELEM); if (eventsTableTypeCE.length != 1) { break; } final String eventsTableType = eventsTableTypeCE[0].getAttribute(TmfTraceTypeUIUtils.CLASS_ATTR); final boolean useTraceAspects = Boolean.parseBoolean(eventsTableTypeCE[0].getAttribute(TmfTraceTypeUIUtils.USE_TRACE_ASPECTS_ATTR)); if ((eventsTableType == null) || eventsTableType.isEmpty()) { break; } try { final Bundle bundle = Platform.getBundle(ce.getContributor().getName()); final Class<?> c = bundle.loadClass(eventsTableType); Class<?>[] constructorArgs = null; Object[] args = null; if (useTraceAspects) { args = new Object[] { parent, cacheSize, trace.getEventAspects() }; constructorArgs = new Class[] { Composite.class, int.class, Iterable.class }; } else { args = new Object[] { parent, cacheSize }; constructorArgs = new Class[] { Composite.class, int.class }; } final Constructor<?> constructor = c.getConstructor(constructorArgs); return (TmfEventsTable) constructor.newInstance(args); } catch (NoSuchMethodException | ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { return null; } } } return null; }