Bug 62401 [Actions] ReferenceCleanerThread in ActionContributionItem cause application can not exit normally.
When the standalone application exit, the display disposed, will call ReferenceCleanerThread.stopCleaning() method, it simply set the running field to false, but "reference = referenceQueue.remove();" in line 196 still blocking. And you must call System.exit() explicitlly to terminate the currently running Java Virtual Machine. so I think it is a bug. My env: XP home edition, jdk 1.4.2_04, and eclipse-SDK-I20040514-win32 Regards, Eric
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
* by also checking whether the command corresponding to this action is active.
	 */
	public boolean isVisible() {
		return super.isVisible() && isCommandActive();
	}
	/**
	 * Sets the presentation mode, which is the bitwise-or of the 
	 * <code>MODE_*</code> constants.
	 * 
	 * @return the presentation mode settings
	 * 
	 * @since 3.0
	 */
	public void setMode(int mode) {
		this.mode = mode;
		update();
	}
	
	/**
	 * The action item implementation of this <code>IContributionItem</code>
	 * method calls <code>update(null)</code>.
	 */
	public final void update() {
		update(null);
	}
	/**
	 * Synchronizes the UI with the given property.
	 *
	 * @param propertyName the name of the property, or <code>null</code> meaning all applicable
	 *   properties