Project Update/Sync fails with Java error "Error in Executing SVM request"

Technote (troubleshooting)


Problem(Abstract)

Attempts to Update or Sync a project result in Java errors "Error in Executing SVM request" when using IBM Rational Synergy.

Symptom

Here is an example of the errors found:

11/24/2011 11:25:21 GMT Setting path for work area of 'MyProject=my_version' to 'D:/Projects/MyProject'...

11/24/2011 11:25:21 GMT Synchronizing ...

11/24/2011 11:25:26 GMT Updating work area from database for D:\Projects\MyProject\MyProject/base/db/src/MyProject/base/db/MyFile.java

11/24/2011 11:25:26 GMT Warning: Error in Executing SVM request...

11/24/2011 11:25:26 GMT Exception Message: cannot assign instance of java.io.File to field com.telelogic.cm.vm_util.VMFileInfo.filePath of type java.lang.String in instance of com.telelogic.cm.vm_util.VMFileInfo

....

11/24/2011 11:25:26 GMT Serious: Errors occurred during synchronization

11/24/2011 11:25:26 GMT Synchronization summary:

11/24/2011 11:25:26 GMT  0 Update(s) for project MyProject=my_version

11/24/2011 11:25:26 GMT  0 Conflict(s) for project MyProject=my_version

11/24/2011 11:25:26 GMT Warning: Errors occurred during synchronization. Check your logs.

11/24/2011 11:25:26 GMT Saved work area options for project: 'MyProject=my_version'

Cause

The problem was caused by having the same object version twice in the same project. Even though the objects were in different sub directories they were in the same project which is not allowed.


The issue of having an object version twice in the same project has been identified as a product defect and logged under APAR PM20262. This APAR has been closed without resolution as a permanent restriction.

The issue of getting the Java error has been identified as a product defect and logged under APAR PM29256. This is fixed in Rational Synergy release 7.2


Diagnosing the problem

1. Run this SQL command to find the duplicate.

select has_asm, has_child from bind GROUP BY has_asm, has_child HAVING count(*) >1;

If you run this on a database which has 2 object versions bound in the same project, then it will return a result, otherwise it will return 0 rows.

In the result, the has_asm contains the cvid of the project, and has_child contains the cvid of the object.


2. To find which objects they are, you can type this command in you Synergy CLI session:

ccm prop @=cvid -f %objectname

3. Then this SQL command will give you the actual rows
select * from bind where has_asm=<has_asm cvid> and has_child=<has_child cvid>;


You should get 2+ rows.

This will contain the id of the directories which contain them in the has_parent field

4. You can use ccm prop @=<cvid> to get the directories


5. If you only get one row then rerun:
select has_asm, has_child from bind GROUP BY has_asm, has_child HAVING count(*) >1;

to see if things have changed.


Resolving the problem

To resolve the problem of having the same object version twice in the same project, you must remove one of the object versions from one of the directories.

To resolve the Java error you should upgrade to Rational Synergy 7.2 or later.


Related information

How to run SQL commands for Synery on UNIX or Linux.
How to run SQL commands for Synery on Windows.

Rate this page:

(0 users)Average rating

Document information


More support for:

Rational Synergy
General Information

Software version:

7.1

Operating system(s):

AIX, HP-UX, Linux, Solaris, Windows

Reference #:

1573167

Modified date:

2012-11-27

Translate my page

Machine Translation

Content navigation