Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 353541 - VerifyError after workspace refresh after crash
Summary: VerifyError after workspace refresh after crash
Status: RESOLVED WORKSFORME
Alias: None
Product: Objectteams
Classification: Tools
Component: OTEquinox (show other bugs)
Version: 2.0   Edit
Hardware: Other Linux
: P3 normal (vote)
Target Milestone: 2.1 M1   Edit
Assignee: Stephan Herrmann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-02 04:05 EDT by Stephan Herrmann CLA
Modified: 2011-08-13 11:15 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Herrmann CLA 2011-08-02 04:05:08 EDT
I keep seeing exceptions like

java.lang.VerifyError: (class: org/eclipse/jdt/internal/corext/refactoring/reorg/ReorgPolicyFactory$SubCuElementReorgPolicy, method: _OT$getDestinationNode$chain signature: ([Lorg/objectteams/ITeam;[IIII[Ljava/lang/Object;Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/jdt/core/dom/CompilationUnit;)Ljava/lang/Object;) Expecting to find integer on stack
	at org.eclipse.objectteams.otdt.internal.refactoring.adaptor.ReorgAdaptor._OT$registerAtBases(ReorgAdaptor.java)
	at org.objectteams.Team.doRegistration(Team.java:371)
	at org.objectteams.Team.activate(Team.java:164)
	at org.objectteams.TeamThreadManager.newThreadStarted(TeamThreadManager.java:66)
	at org.eclipse.objectteams.otequinox.internal.JobAndThreadListener.aboutToRun(JobAndThreadListener.java:42)
	at org.eclipse.core.internal.jobs.JobListeners$1.notify(JobListeners.java:29)
	at org.eclipse.core.internal.jobs.JobListeners.doNotify(JobListeners.java:96)
	at org.eclipse.core.internal.jobs.JobListeners.aboutToRun(JobListeners.java:142)
	at org.eclipse.core.internal.jobs.JobManager.startJob(JobManager.java:1485)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:221)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

In other stacks a callin binding tries to trigger failing with the
same verify error.

The first message in the log says 

Warning
Tue Aug 02 01:58:58 CEST 2011
The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.


After a clean restart of eclipse the problem no longer occurred.
Unsure if this is reproducable by any means.
Comment 1 Stephan Herrmann CLA 2011-08-13 11:15:15 EDT
Sounds like the OTRE in one particular situation produced illegal code.
I see three possibilities:
- we received corrupt bytes as the input
- the attribute was corrupted giving inconsistent instructions to the OTRE
- the OTRE messed up itself
For any of these a very rare race condition gives a good hypothesis.

I've no idea how we could ever reproduce.