Monday, September 27, 2010

Synergy issue with object access restriction

Background
Synergy provides for setting both read and write restrictions on all kinds of objects (projects, files, directories).
When the restrictions are applied only the members of the specific predefined security group are able to read or read and modify objects as appropriate.
If you get the "write restrictions" error during check out, you are probably not a member of the security group that owns an object.
Security restrictions are applied hierarchically top down, from the project level down to the individual files.
Access mode to the object can only be changed while the object is in the modifiable state (e.g. "working").
When the security restrictions are lifted from the project, non-modifiable members of it (files and directories) are still left with the original restrictions applied. Even when the objects subsequently become members of other projects, restrictions on objects are retained.
More on the subject is in the original vendor docs.
What to do?
Find out what group the object belongs to (GUI, Object Properties -> Security).
Find out the group owner (CLI, first user that appears in the list of group members).
Call the group owner to see if you should be added to this group to gain an access to the object.
If you create a new project version and wish to lift all the inherited access restrictions that may exist on your project objects, call CM admin to do the job.
(The ugly solution is to have the original group member or admin Check Out all the project members and change the security settings on the checked out versions without making any other modification to the objects. Then Check In all the objects back.)

Monday, August 9, 2010

Synergy Classic client GUI troubles

Trouble: classic client running on Linux RH 5 machine behaves oddly:

- right-click does not work,
- no way to select more than one item at at time (several files in the tree view, or two versions on history view),
- mouse single click responding as a double-click should,
- backspace character typing garbage,
- strange fonts ...

What helps:

1. Make sure NumLock key is disabled. Vendor also suggest checking the CapsLock key.

2. Synergy Classic client GUI is governed by the number of setup files, that define fonts, colors and other application GUI qualities.
Original "CM Synergy - X Resource File" file Ccm is located in $CCM_HOME/etc contains the most of the setting. Upon machine setup this file has to be copied to the local X directory:
root# cp $CCM_HOME/etc/Ccm /usr/lib/X11/app-defaults

If you do not have root over the Linux machine try to copy the Ccm file into your home directory:
user# cp $CCM_HOME/etc/Ccm ~/

Also,
(found on vendor site)

If during ccm start, messages about undefined X attributes are displayed ...


If errors indicating undefined X attribtues are seen duing a Synergy session startp, it is possible the Ccm X app-defaults file isn't being found or was incorrectly installed, or there may be an incompatibility with the user's environment settings (i.e., XAPPLRESDIR, XFILESEARCHPATH or XUSERFILESEARCHPATH may be set).

This issue also can typically be resolved by copying the Ccm file from $CCM_HOME/etc to the user's $HOME directory. If the user is using XAPPLRESDIR, XFILESEARCHPATH or XUSERFILESEARCHPATH, add the location of the Ccm file to one of those paths. Stop and restart the CCM session to validate the solution.

Tuesday, June 29, 2010

Check Out failed. Message "Operation failed because it requires both read and write privileges"

The files with the problem reported originated from the project that had some security access restrictions set.

Some time ago these security restrictions were lifted on all the projects, but the files that became members of the derived (subsequent) projects retained these restrictions.
If these restrictions are no longer relevant - ask an admin or a member of original security group to remove them, by checking out files and changing the security on each file individually,
if they still are - see if you should be the member of the group that does have the write access to these files.

To remove files access restrictions:
- create a task and check out the file(s),
- right click the file object,
- select Properties -> Security.
- see the groups managing the object,
-
remove the check mark by the group name or check the appropriate radio button to remove the restrictions altogether,
- complete task.

"ACcent execution aborted in module ..."

There are several reasons for failures reported as "ACcent execution aborted in module".
Some are described and detailed in IBM Tech notes (like the DCM related here), others are said to be caused by the inconsistency in the server and client versions.

What I found yesterday was the location of the local copy of the database files that can be passed to the ccm start command with the "-u" flag.

At first we had these lines reported as a warning upon session start. They say in this situation session would start and we saw some operations performed, but some would fail, so it is not safe to ignore these:

ACcent execution aborted in module attr:10028, file /tmp/acAAEFBD.TMP.ac, line 14
ACcent execution aborted in module modinit, file src/base/model_init.ac, line 63
ACcent execution aborted in module remote_client, file src/base/remote_client.ac, line 59
ACcent execution aborted in module remote_client, file src/base/remote_client.ac, line 42
ACcent execution aborted in module base, file src/base/base.ac, line 401
ACcent execution aborted in module base, file src/base/base.ac, line 275
Warning: operand of generic cast has an incompatible type
Starting in multiple server mode.
Set the environment variable CCM_ADDR to machine:PID:IP to send commands to this server.


Then we zerroed out all the user ini files (.ccm.ini, ccm.properties etc.) and started afresh.
Now even the status command failed:

> ccm status
Warning: ACcent execution aborted in 'lscmds:status'
ACcent execution aborted in module lscmds, file src/foci/lscmds.ac, line 136
ACcent execution aborted in module base, file src/base/base.ac, line 401
ACcent execution aborted in module base, file src/base/base.ac, line 325
Warning: Lost connection to engine, exiting
Warning: Command execution failed.
Check user interface log file for error messages.

This helped at the end:
ccm start -d -h -m -nogui -u /tmp/whateverlocation -rc

Thursday, June 10, 2010

Synergy: release attributes

Just in case, here are the release attributes (and how to list them)

> ccm query -type releasedef -name "KUKU"
...
> ccm attr -la @1
_import_status_order (string) (inherited)
active (boolean) (local)
allow_dcm_transfer (boolean) (local)
allow_delimiter_in_name (boolean) (inherited)
allow_delimiter_in_version (boolean) (inherited)
atcp_attrs (text) (inherited)
auto_merge_cmd (string) (inherited)
baseline (string) (local)
can_be_product (boolean) (inherited)
cli_compare_cmd (string) (inherited)
cli_merge_cmd (string) (inherited)
component_name (string) (local)
component_release (string) (local)
create (acc_method) (inherited)
create_time (time) (local)
cvtype (string) (local)
dcm_has_modifiable_in (boolean) (inherited)
dcm_non_specific_instance (boolean) (inherited)
delete (acc_method) (inherited)
derive (acc_method) (inherited)
description (text) (local)
dflt_status (string) (inherited)
diff_source_attr (string) (inherited)
displayname (acc_method) (inherited)
export_exclude_attrs (text) (inherited)
export_exclude_relations (text) (inherited)
groups (text) (local)
gui_compare_cmd (string) (inherited)
gui_merge_cmd (string) (inherited)
icon (string) (inherited)
import_ignore_attrs (text) (inherited)
included_releases (text) (local)
is_asm (boolean) (local)
is_model (boolean) (local)
is_versioned (boolean) (inherited)
keyword_expand_attrs (text) (inherited)
manager (string) (local)
max_component_name_length (string) (inherited)
max_component_release_length (string) (inherited)
modify_time (time) (local)
name (string) (local)
next_version (acc_method) (inherited)
no_copy_on_derive (text) (inherited)
objectname (acc_method) (inherited)
owner (string) (local)
parallel_check_in (boolean) (local)
parallel_check_out (boolean) (local)
parallel_create (boolean) (inherited)
parallel_promote (boolean) (inherited)
parallel_promote_defs (text) (inherited)
parallel_promote_states (string) (inherited)
phase (text) (local)
phase_log (text) (local)
post_create (acc_method) (inherited)
post_derive (acc_method) (inherited)
post_set_status (acc_method) (inherited)
pre_create (acc_method) (inherited)
pre_derive (acc_method) (inherited)
pre_set_status (acc_method) (inherited)
relate (acc_method) (inherited)
require_task (string) (inherited)
restricted_attributes (text) (inherited)
set_status (acc_method) (inherited)
source_attrs (text) (inherited)
source_diff (acc_method) (inherited)
source_merge (acc_method) (inherited)
status (string) (local)
status_log (uptext) (local)
subsystem (string) (local)
super_type (string) (inherited)
type_description (string) (inherited)
ui_defs (acc_method) (inherited)
unrelate (acc_method) (inherited)
version (string) (local)
version_delims (text) (inherited)
version_diff (acc_method) (inherited)
wa_type (string) (inherited)
xml_export_exclude_attrs (text) (inherited)
xml_export_exclude_relations (text) (inherited)
xml_import_ignore_attrs (text) (inherited)
xml_import_noimage_attrs (text) (inherited)

Monday, May 31, 2010

Check Outs into a project with no work area

Did yo know that files been Checked Out into a project with no work area will disappear from this project on the next Update operation?
The objects will remain in the database, and when Checked In will be found in the project.
So if you ever need to Check Out an object from the project with no work area make sure to Check them In before making further changes.

Tuesday, April 13, 2010

Synergy Linux Java client failed to start

Symptoms:
Both CLI and Classic client start fine, but the Java client start fails. It displays the login dialog, then briefly displays splash screen, then fails with no message.
The only trace is the ‘Permission denied’ in the ccm_eng.log.
Background:
The client IP has changed since the last good start.
Solution:
Make sure the server's /etc/hosts lists the correct machine name and IP for the client machine.
End of story.

Sunday, April 11, 2010

Error starting Java client on Linux machine

Symptoms:
The Linux Java client would not start with the following popup:






The log file $HOME/ccm_client.log has the following trace:
04/12 08:31:05 java.lang.IllegalArgumentException: Width (0) and height (0) cannot be <= 0
04/12 08:31:05 at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999)
04/12 08:31:05 at sun.awt.X11.XFramePeer.setIconImage(XFramePeer.java:217)
04/12 08:31:05 at sun.awt.X11.XFramePeer.postInit(XFramePeer.java:75)
04/12 08:31:05 at sun.awt.X11.XBaseWindow.init(XBaseWindow.java:117)
04/12 08:31:05 at sun.awt.X11.XBaseWindow.<init>(XBaseWindow.java:150)
04/12 08:31:05 at sun.awt.X11.XWindow.<init>(XWindow.java:86)
04/12 08:31:05 at sun.awt.X11.XComponentPeer.<init>(XComponentPeer.java:101)
04/12 08:31:05 at sun.awt.X11.XCanvasPeer.<init>(XCanvasPeer.java:22)
04/12 08:31:05 at sun.awt.X11.XPanelPeer.<init>(XPanelPeer.java:27)
04/12 08:31:05 at sun.awt.X11.XWindowPeer.<init>(XWindowPeer.java:53)
04/12 08:31:05 at sun.awt.X11.XDecoratedPeer.<init>(XDecoratedPeer.java:36)
04/12 08:31:05 at sun.awt.X11.XFramePeer.<init>(XFramePeer.java:41)
04/12 08:31:05 at sun.awt.X11.XToolkit.createFrame(XToolkit.java:349)
04/12 08:31:05 at java.awt.Frame.addNotify(Frame.java:491)
04/12 08:31:05 at java.awt.Window.pack(Window.java:484)
04/12 08:31:05 at com.telelogic.cm.ccm_client.panes.LoginPane.showInFrame(LoginPane.java:473)
04/12 08:31:05 at com.telelogic.cm.ccm_client.StartClient.runClient(StartClient.java:654)
04/12 08:31:05 at com.telelogic.cm.ccm_client.StartClient.main(StartClient.java:95)
04/12 08:31:05 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
04/12 08:31:05 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
04/12 08:31:05 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
04/12 08:31:05 at java.lang.reflect.Method.invoke(Method.java:585)
04/12 08:31:05 at com.zerog.lax.LAX.a([DashoPro-V1.2-120198])
04/12 08:31:05 at com.zerog.lax.LAX.main([DashoPro-V1.2-120198])
04/12 08:31:05 --- BEGIN UNHANDLED EXCEPTION ERROR REPORT ---
04/12 08:31:05 An internal error has occurred at Mon Apr 12 08:31:05 IDT 2010
04/12 08:31:05 Unhandled runtime exception: java.lang.IllegalArgumentException
04/12 08:31:05 Exception Message: Width (0) and height (0) cannot be <= 0
04/12 08:31:05
04/12 08:31:05 Stack trace:
04/12 08:31:05 java.lang.IllegalArgumentException: Width (0) and height (0) cannot be <= 0
04/12 08:31:05 at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999)
:
04/12 08:31:05 at sun.awt.X11.XFramePeer.setIconImage(XFramePeer.java:217)
04/12 08:31:05 at sun.awt.X11.XFramePeer.postInit(XFramePeer.java:75)
04/12 08:31:05 at sun.awt.X11.XBaseWindow.init(XBaseWindow.java:117)
04/12 08:31:05 at sun.awt.X11.XBaseWindow.<init>(XBaseWindow.java:150)
04/12 08:31:05 at sun.awt.X11.XWindow.<init>(XWindow.java:86)
04/12 08:31:05 at sun.awt.X11.XComponentPeer.<init>(XComponentPeer.java:101)
04/12 08:31:05 at sun.awt.X11.XCanvasPeer.<init>(XCanvasPeer.java:22)
04/12 08:31:05 at sun.awt.X11.XPanelPeer.<init>(XPanelPeer.java:27)
04/12 08:31:05 at sun.awt.X11.XWindowPeer.<init>(XWindowPeer.java:53)
04/12 08:31:05 at sun.awt.X11.XDecoratedPeer.<init>(XDecoratedPeer.java:36)
04/12 08:31:05 at sun.awt.X11.XFramePeer.<init>(XFramePeer.java:41)
04/12 08:31:05 at sun.awt.X11.XToolkit.createFrame(XToolkit.java:349)
04/12 08:31:05 at java.awt.Frame.addNotify(Frame.java:491)
04/12 08:31:05 at java.awt.Window.pack(Window.java:484)
04/12 08:31:05 at com.telelogic.cm.ccm_client.panes.LoginPane.showInFrame(LoginPane.java:473)
04/12 08:31:05 at com.telelogic.cm.ccm_client.StartClient.runClient(StartClient.java:654)
04/12 08:31:05 at com.telelogic.cm.ccm_client.StartClient.main(StartClient.java:95)
04/12 08:31:05 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
04/12 08:31:05 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
04/12 08:31:05 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
04/12 08:31:05 at java.lang.reflect.Method.invoke(Method.java:585)
04/12 08:31:05 at com.zerog.lax.LAX.a([DashoPro-V1.2-120198])
04/12 08:31:05 at com.zerog.lax.LAX.main([DashoPro-V1.2-120198])
04/12 08:31:05
04/12 08:31:05 Public SCCS_IDs:
04/12 08:31:05 @(#) %full_filespec: LoginPane.java,79:java:J#1 %
04/12 08:31:05 @(#) %full_filespec: StartClient.java,51.1.1:java:J#1 %
04/12 08:31:05
04/12 08:31:05 Release 6.5 4105
04/12 08:31:05 Build numbers:
04/12 08:31:05 com/telelogic/cm/internal/objectapi/ unknown
04/12 08:31:05 com/telelogic/cm/sessionmgr/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/command/ unknown
04/12 08:31:05 com/telelogic/cm/activecm/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/helper/ unknown
04/12 08:31:05 com/telelogic/cm/service/ 1998
04/12 08:31:05 com/telelogic/cm/objectapi/make/command/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/query/ unknown
04/12 08:31:05 com/telelogic/cm/shared_client/ 2003
04/12 08:31:05 com/telelogic/cm/eventservices/ 2011
04/12 08:31:05 com/telelogic/cm/objectapi/ unknown
04/12 08:31:05 com/telelogic/cm/common/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/error/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/query/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/make/ unknown
04/12 08:31:05 com/telelogic/cm/jrfc/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/accutil/ unknown
04/12 08:31:05 com/telelogic/cm/crapi/ unknown
04/12 08:31:05 com/telelogic/cm/licensemgr/ 1998
04/12 08:31:05 com/telelogic/cm/jrfc/router/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/access/ unknown
04/12 08:31:05 com/telelogic/cm/util/ unknown
04/12 08:31:05 com/telelogic/cm/crapi/adapters/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/service/ unknown
04/12 08:31:05 com/telelogic/cm/internal/users/ unknown
04/12 08:31:05 com/telelogic/cm/shared_client/acm/ 2003
04/12 08:31:05 com/telelogic/license/ 1998
04/12 08:31:05 com/telelogic/cm/internal/crapi/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/update/ unknown
04/12 08:31:05 com/telelogic/cm/server/ 1998
04/12 08:31:05 com/telelogic/cm/resource/ unknown
04/12 08:31:05 com/telelogic/cm/jrfc/objreg/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/dbconfig/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/workarea/ unknown
04/12 08:31:05 com/telelogic/cm/jrfc/activecm/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/command/ unknown
04/12 08:31:05 com/telelogic/cm/jrfc/utils/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/exception/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/adapters/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/security/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/helper/ unknown
04/12 08:31:05 com/telelogic/cm/util/event/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/longcall/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/update/command/ unknown
04/12 08:31:05 com/telelogic/cm/objectapi/database/ unknown
04/12 08:31:05 com/telelogic/cm/shared_client/util/ 2003
04/12 08:31:05 com/telelogic/cm/objectapi/dcm/ unknown
04/12 08:31:05 com/telelogic/cm/jrfc/types/ unknown
04/12 08:31:05 com/telelogic/cm/ccm_client/ unknown
04/12 08:31:05 com/telelogic/cm/internal/security/ unknown
04/12 08:31:05 com/telelogic/cm/internal/objectapi/warning/ unknown
04/12 08:31:05 --- END UNHANDLED EXCEPTION ERROR REPORT ---

Solution:
Set environment variable AWT_TOOLKIT:
export AWT_TOOLKIT=MToolkit

Explanation:

Synergy how to copy a project with subprojects

ccm checkout -wa -cb -project ProjName#proj_ver -update -subprojects -versions "firtsprojver:firtprojver_user,nextprojver:nextprojver_user" -path /home/user/ccm_wa

Synergy Informix server and LDAP

Trouble:
Could not bring up an Informix server.
Thought something may be wrong with the Informix server, so decided to reinstall it.
Removal of the server (ccmsrv_delete) resulted in an infinite loop.
Tried to run it step by step and found that the server state change failed, any state:

ccmsrv_change_state Off-Line

that complained :

shared memory not initialized for INFORMIXSERVER 'myserver'

This boiled down to the failing onmode -ky command, with the same error.

We now could not bring the server up, neither could we delete it.

From Informix log:

IBM Informix Dynamic Server Version 10.00.UC5XS Software
Serial Number AAA#B000000
16:04:56 listener-thread: err = -25572: oserr = 99: errstr = : Network driver cannot bind a name to the port. System error = 99.
16:04:56 sql_listener: ASF_LISTEN failed
16:04:56 Attempting to bring listener thread down.
16:04:56 Server stopped.

Assigned ports were not busy and not assigned to any application.
There were no memory segments to clear after the failure.
$ ipcs -ac
shown no segments to clear.

Going over all the changes made to machine during last months noticed the LDAP installation.
The server was connected to LDAP, and never restarted since then.

Finally we found the cause: hosts search order line in /etc/nsswitch.conf.
As soon as we removed the "ldap" entry from it, Informix went down and started up all right.

BAD one:
hosts: files dns ldap

GOOD one:
hosts: files dns

End of story.

Sunday, March 7, 2010

Modification time change

Note this: Project modification time (%modify_time) changes when the related Project Grouping is deleted.
So if you released a project a month ago and only remembered to kill its original project grouping today, the project record will show the update time of today. No matter the project has been in a read-only state for a month now.
Do we have a time stamp of the state change? Remains a question ...

Sunday, February 14, 2010

Synergy connection problems

Symptoms:
$ ccm start -d /data/synergydb/mydb -h myhost -m -nogui -rc
Starting Telelogic Synergy...
Telelogic Synergy server starting on host myhost, using database /data/synergydb/mydb
Warning: Engine startup failed.
Warning: Telelogic Synergy startup failed.
cat ~/ccm_eng.log
Permission denied.
Permission denied.
cat ~/ccm_ui.log
02/15 07:32:58 Telelogic Synergy server starting on host myhost, using database /data/synergydb/mydb
02/15 07:32:59 Warning: Engine startup failed.
What gives? - Wrong syntax of the following line:
WRONG: engine_daemon=TRUE;
RIGHT: engine_daemon = TRUE
(remove semicolon, spaces do not matter).

Thursday, February 11, 2010

Version name length limit

is 32 characters. So do not try to enter anything longer - it won't work and what's worse - it won't tell the reason.
Be warned.

Tuesday, February 9, 2010

How to delete task and its objects

Note: this operation is not reversible. Exercise caution when using this procedure.
The operation is only available to ccm_admin role.
> ccm set role ccm_admin
First delete the objects associated with a task:
ccm task -show objs
e.g.
> ccm task -show objs 223541
will return a list of all objects associated with the task.
Then collapse objects listed in the previous step:

> ccm collapse @
Once the objects are gone, delete the task itself:
ccm query -type task "name='taskXXXXX'"
ccm delete @
e.g.
>ccm query -type task "name='task223541'"
> ccm delete @

That's it.

Tuesday, January 19, 2010

How to lookup the task with specific words in the synopsis

Hi,

as you know, tasks in Synergy have a short description called "task_synopsis" and the long one, called "task_description". To locate a task with specific words in either of the fields you may run the following query (note the release name is put there to shorten the search only, you may use any other known attribute, like owner, to limit the search).

This is how the query command should look in the CLI session:

ccm query -type task "release='<task release>' and task_synopsis match 'word to search for *' "

e.g.

ccm query -type task "release='MYRelease' and task_synopsis match 'cleanup*'"

In the Query dialog there is no need to include outer double quotes:

In the Custom criteria just type the actual query criteria:

e.g.

release='MyRelease' and task_synopsis match 'cleanup*'

Please note the quotes, they are important.

Sunday, January 17, 2010

Monday, January 11, 2010

How to find if an object is associated with a task and if so - what is it's check out status?

ccm query "name=<file name> and is_associated_object_of('task<task ID>#1:task:probtrac')" -u -f %status
If an object is associated with this specific task, the output will contain its status (working for checked out files, integrate - for checked in), if the file is not associated with this task, output will present an empty new line.
example:
>ccm query "name='strings.xml' and is_associated_object_of('task180795#1:task:probtrac')" -u -f %status
>integrate