I'm not sure the exact steps to reproduce. The plugin installed correctly and eclipse restarted OK, everything seemed to be working, but after sharing a project eclipse wouldn't load.
Removing the MercuralEclipse plugin jar fixed the problem.
Eclipse .log file contains the following:
!ENTRY org.eclipse.core.jobs 4 2 2012-07-02 09:09:49.073
!MESSAGE An internal error occurred during: "Changeset detection".
!STACK 0
org.eclipse.swt.SWTError: Invalid thread access
at org.eclipse.ui.plugin.AbstractUIPlugin.createImageRegistry(AbstractUIPlugin.java:212)
at org.eclipse.ui.plugin.AbstractUIPlugin.getImageRegistry(AbstractUIPlugin.java:256)
at com.vectrace.MercurialEclipse.MercurialEclipsePlugin.getImageDescriptor(MercurialEclipsePlugin.java:326)
at com.vectrace.MercurialEclipse.views.console.HgConsole.<init>(HgConsole.java:74)
at com.vectrace.MercurialEclipse.views.console.HgConsoleHolder.init(HgConsoleHolder.java:59)
at com.vectrace.MercurialEclipse.views.console.HgConsoleHolder.getConsole(HgConsoleHolder.java:135)
at com.vectrace.MercurialEclipse.DefaultConfiguration.commandInvoked(DefaultConfiguration.java:101)
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.logConsoleCommandInvoked(AbstractShellCommand.java:545)
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.executeToStream(AbstractShellCommand.java:410)
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.executeToBytes(AbstractShellCommand.java:387)
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.executeToString(AbstractShellCommand.java:605)
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.executeToString(AbstractShellCommand.java:601)
at com.vectrace.MercurialEclipse.commands.HgDebugInstallClient.hgSupportsEncoding(HgDebugInstallClient.java:54)
at com.vectrace.MercurialEclipse.team.MercurialTeamProvider$3.run(MercurialTeamProvider.java:324)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)