Tuesday, October 16, 2007

Base to UCM - creating component problem

In one of the VOBs, I got problem creating components.

M:\qinl_base> cd MidTier
M:\qinl_base\MidTier>cleartool mkcomp -root HostInt MidTier_HostInt@\CBFEProjects
Processing subdirectory elements...
Done processing subdirectory elements.
Created component "MidTier_HostInt".

M:\qinl_base\MidTier>cleartool mkcomp -root Srv MidTier_Srv@\CBFEProjects
Processing subdirectory elements...
cleartool: Error: Element "M:\qinl_base\MidTier\HostInt\docs\schema\base24es\IFX.xsd@@" is a member of another component.
cleartool: Error: Unable to create component.

This is a known issue when converting Base ClearCase to UCM. If some of the elements have been moving between two future component directories, UCM gets confused and cannot convert the second component. There are no solutions to the issue. To workaround the problem, you can either:

1. rmelem the elements and lose the histories.

2. convert to component at the VOB level, instead of the top directory level.
cleartool mkcomp -root . MidTier@\CBFEProjects

3. find out all the directory versions that reference to the element in the second component. rmver all the versions, so the reference to the elements is no longer there.

4. instead of converting, create new CVOBs, do clearexport_ccase/clearimport. By doing export, the history versions of directories are lost. This can workaround the mkcomp issue. and it can be good or bad depends on whether you want to shrink the size of the VOB or want the whole history.

How to delete ^M at the end of line in UNIX

Saw this in another post. It is useful and easy to do.

^M is DOS line break character which shows up in UNIX files when uploaded from a windows file system in ascii format.

To remove this, open your file in vi editor and type

:%s/(ctrl-v)(ctrl-m)//g

and press Enter key.

Important!! - press (Ctrl-v) (Ctrl-m) combination to enter ^M character, dont use “^” and M.

cleartool error: Not a vob object when recommending a baseline

When creating a baseline for a stream, it reported the following error message and failed. The cause is that the recommend baseline is removed and the stream cannot find it.

M:\qinl_NewMainline_int>cleartool chstream -rec NewMainline_10_12_2007.1228 NewMainline_i@\CBFEProjects
cleartool: Error: Not a vob object: "291fb10e.71e711dc.8fad.00:01:83:f9:3b:ad".
cleartool: Error: Unable to get current recommended foundation for stream "NewMainline_i".
cleartool: Error: Unable to set the recommended baselines for stream "NewMainline_i".
cleartool: Error: Unable to change all streams.


Solution. un-recommend baseline in the stream, and recommend a good baseline.

M:\qinl_NewMainline_int>cleartool chstream -nrec NewMainline_i@\CBFEProjects
Changed stream "NewMainline_i@\CBFEProjects".

M:\qinl_NewMainline_int>cleartool chstream -rec NewMainline_10_12_2007.1228 NewMainline_i@\CBFEProjects
Changed stream "NewMainline_i@\CBFEProjects".

fetch cleartext error - No permission match

After restore VOBs to another ClearCase server, some VOBs reported the following error message when trying to access (read) the contents.
...
fetch cleartext view=BUILD_CBFE13.3_d vob=/vobs/MidTier dbid=0x16f - No permission match
fetch cleartext view=BUILD_CBFE13.3_d vob=/vobs/MidTier dbid=0x173 - No permission match
fetch cleartext view=BUILD_CBFE13.3_d vob=/vobs/MidTier dbid=0xdf - No permissi match
...

A "cleartool desc" command found out that the original additional group cbfedev disappeared. To add the additional group, "cleartool protectvob -add_group" command ran without error. However the result showed that the additional group was not added to the VOB.

Solution.

$ cd /ccstorage/vobs/MidTier.vob
$ cd .identity
$ ls
gid group.500 uid
$ rm group.500
rm: group.500: override protection 410 (yes/no)? y
$ cleartool protectvob -add cbfedev /vobs/MidTier


Run "cleartool desc" again, the result showed that the group had been added to the VOB. And the fetch cleartext error was gone as well.

$ cleartool desc -l vob:/vobs/MidTier
...
VOB ownership:
owner cbfedev.cibc.com/ccadmin
group cbfedev.cibc.com/clearcase_cbfe
Additional groups:
group cbfedev.cibc.com/cbfedev
...

Monday, September 24, 2007

Fix Views after Upgrading ClearCase Client

After upgrading ClearCase client from 2003.6 to 7, my local snapshot view report the following error when accessing it.

C:\ccase\views\qinl_rel14.0>cleartool update
cleartool: Error: Operation "view_get_prop(VIEW_PROP_WEBVIEW)" failed: view storage directory or control files unavailable --
additional information may be present in the view server host's view log.
cleartool: Warning: Unable to open snapshot view "C:\ccase\views\qinl_rel14.0".
cleartool: Error: 'C:\ccase\views\qinl_rel14.0' is not a valid snapshot view path.

The cause is the during ClearCase upgrade, the albd service account id and group id also changed. If the ClearCase administrators group name has changed or you have moved a view to a new domain that has a different SID for this group, then the -replace_server_process_group switch is required for fix_prot utility.

Kill the view_server process first. Then run,

C:\ccase\views\qinl_rel14.0>"C:\Program Files\Rational\ClearCase\etc\utils\fix_prot" -replace_server_process_group c:\ccase\view_stg\qinl_rel14.0.vws
Re-protect "c:\ccase\view_stg\qinl_rel14.0.vws"? [no] y
Reprotection complete.


Remove the view shortcut, and added back again. Everything is back to normal.

C:\ccase\views\qinl_rel14.0>cleartool lsview -l qinl_rel14.0
Tag: qinl_rel14.0
Global path: \\Cbad4-xcidh3\view_stg\qinl_rel14.0.vws
Server host: Cbad4-xcidh3
Region: windows
Active: NO
View tag uuid:9396be72.f06c41d3.9db4.a4:68:8d:06:15:e9
View on host: Cbad4-xcidh3
View server access path: C:\ccase\view_stg\qinl_rel14.0.vws
View uuid: 9396be72.f06c41d3.9db4.a4:68:8d:06:15:e9
View attributes: snapshot
View owner: AD\qinl

Friday, September 7, 2007

ClearCase credential manager cannot be started

After successfully using CC for sometime, a developer got a serials of weird ClearCase problems on the only Windows 2003 server running CC client. Such as:

ClearCase credencial manager service cannot start, even after clearn re-installation;

Sometmies ClearCase explorer hangs at start up;

The snapshot views hanged during update;

After click on the snapshot view shortcut in CC explorer, it hangs for a long time, then prompts "Timed out trying to start view_server for view ...";

When right click on the elements in a snapshort view in Windows explorer, Windows explorer hangs;

CC explorer hangs when click on "finish" button to create a view (both snapshot and dynamic);

Problem adding dynamic view shortcut to CC explorer, it reports "The name specified is not a registered view tag";

Some dynamic views can start up properly while other hangs. Once the dynamic views started, it can check-out/in.

....

The vob server is on Solaris, the view storage is locally on the Windows 2003 server. After some drill down, we noticed that some ccgzip.exe processes were running in Task Manager. And the updating of snapshort view always stopped at elements with type compressed_file. To help investiation, we also installed procmon to capture the processes status.

It turned out that our PATH env variable is too long, and ClearCase bin folder happens to be the last one in the string. So some the dlls the ccgzip program referred to cannot be located. After moving the ClearCase bin folder to the beginning of the PATH string, everything works like a charm.

.pid file under view storage

After the view is started, a .pid file is created under the view storage directory. The pid of its view_server process is stored in the file, so ClearCase can keep track on which view server process is associated with it. After the view_server process is terminated by "cleartool endview -server ", the .pid file will be removed by ClearCase.

However, in certain situatations, the .pid fails to be removed and the view will have problem starting up again. You can safely delete the .pid file and try to start the view again.

Monday, August 13, 2007

What to do when the developer is on vacation?

It is not uncommon that a developer goes on vacation when the team find out that some files are checked out and reserved by him. In this case you don't want to remove the view and unco all the check-outs. Instead, a cleartool unreserve command will switch the reserved checkout to unreserved mode, and allow the other developers to be able to check-in their changes.

First, look for the version tree (or lsco) to identify the view that contains the checked-out file. In this example, DP14_9.0_Rel.

Next, find out the view storage location that holds the files.

cleartool lsview DP14_9.0_Rel
DP14_9.0_Rel \\CBAD1-KCIDJJ\views_stg\DP14\DP14_9.0_Rel.vws

or using command:
cleartool desc -l vob:/vobs/vob_name
....
VOB holds objects from the following views:
CBAD1-KCIDJJ:C:\views_stg\DP14\DP14_9.0_Rel.vws [uuid 181126d5.374a4296.bf6a.58:f1:7a:85:ec:21]

Now, set the checkout to unreserved mode.

cleartool unreserve -view CBAD1-KCIDJJ:C:\views_stg\DP14\DP14_9.0_Rel.vws .\CBFE-FE\JavaSource\com\cibc\bankframe\fe\withcustomer\inquiries\common\InquiriesEPanel.java

Wednesday, July 25, 2007

nfs failure caused ClearCase error

Problem.
1. command "cd /;ls -l" hanged, while "ls" could work.

2. in /var/adm/atria/log/albd_log, "Daily View Space" normally takes less than 1 minutes. Now it hanged.

2007-07-22T04:30:03-04 albd_server(411): Ok: Job 5 "Daily View Space" (10430) Started.
....
2007-07-23T04:30:03-04 albd_server(411): Warning: Job 5 "Daily View Space" is still running -- skipping scheduled execution.

Check "cleartool schedule -edit –schedule". Confirmed that jobs were skipped.

3. command "su" failed with Segmentation Fault, while "su -" could work.


Solution.
Check /var/adm/messages file.

Jul 24 12:05:43 dse-750-poc1 nfs: [ID 733954 kern.info] NOTICE: [NFS4][Server: 10.2.194.31][Mntpt: /mnt]NFS server 10.2.194.31 not responding; still trying
Jul 24 12:11:02 dse-750-poc1 last message repeated 1 time
Jul 24 12:12:12 dse-750-poc1 su: [ID 810491 auth.crit] 'su root' failed for qinl on /dev/pts/3
Jul 24 12:17:02 dse-750-poc1 nfs: [ID 733954 kern.info] NOTICE: [NFS4][Server: 10.2.194.31][Mntpt: /mnt]NFS server 10.2.194.31 not responding; still trying
Jul 24 12:25:02 dse-750-poc1 nfs: [ID 733954 kern.info] NOTICE: [NFS4][Server: 10.2.194.31][Mntpt: /mnt]NFS server 10.2.194.31 not responding; still trying
Jul 24 16:23:34 dse-750-poc1 nfs: [ID 733954 kern.info] NOTICE: [NFS4][Server: 10.2.194.31][Mntpt: /mnt]NFS server 10.2.194.31 not responding; still trying
...


Check the mount point /mnt. Could not cd into.

Log on to Server: 10.2.194.31, restart nfs daemon.
/etc/init.d/nfs.server start

After the nfsd started, every problem is gone.

Tuesday, July 24, 2007

Germ's waterfall

When my son was sipping some apple juice from a straw yesterday, he apparently lost in his thoughts. "Hey, what are you thinking about?", I asked him. "The germs in my throat must think the apple juice is a waterfall." I burst out laughing.

Wednesday, July 18, 2007

"How did you know it?!"

Every night, when my daughter is finally put to bed, she would ask for some water to drink. More than often, when we bring a glass of water upstairs to her bedroom, she would either hide somewhere, or pretend she is sleeping.

The day before yesterday, when my husband found her pretending to have felt asleep, he told her that he already knew that she was pretending. My daughter asked how he knew it. My husband joked with her that she would keep her mouth wide open if she was sleeping. And he showed her extravagantly how she would look like. Last night, when my husband went back to her bedroom with a glass of water, he couldn't help laughing. My daughter was lying on the bed with her mouth wide open, arms and legs stretched out, just like how my husband showed her the night before. When my husband told her that he knew she was pretending, she was very curious and a little bit disappointed: "How did you know it?!"

Heap size limitation on Windows

For 32 bit Windows systems, the OS support 2GB address space. However, the maximum leap size that a JVM can allocate is less than 2GB. This is caused by the way the JDK DLLs are rebased.

For JDK1.3, the heap size is around 1.2GB. Here is a dump of the DLL layout for JDK1.3.0 using listdlls.exe

Base Size Path
0x00400000 0x5000 d:\jdk1.3\bin\java.exe
0x503f0000 0x10b000 d:\jdk1.3\jre\bin\hotspot\jvm.dll
0x50220000 0x7000 d:\jdk1.3\jre\bin\hpi.dll
0x50380000 0xd000 d:\jdk1.3\jre\bin\verify.dll
0x50250000 0x17000 d:\jdk1.3\jre\bin\java.dll
0x50390000 0xd000 d:\jdk1.3\jre\bin\zip.dll
0x6bd00000 0x21000 C:\WINNT\System32\cwbaudll.dll
0x77f60000 0x5e000 C:\WINNT\System32\ntdll.dll
0x77dc0000 0x3f000 C:\WINNT\system32\ADVAPI32.dll
0x77f00000 0x5e000 C:\WINNT\system32\KERNEL32.dll
0x77e70000 0x54000 C:\WINNT\system32\USER32.dll
0x77ed0000 0x2c000 C:\WINNT\system32\GDI32.dll
0x77e10000 0x57000 C:\WINNT\system32\RPCRT4.dll
0x78000000 0x40000 C:\WINNT\system32\MSVCRT.dll
0x77fd0000 0x2a000 C:\WINNT\System32\WINMM.dll


So that leaves 0x50000000 - 0x00400000 = 1276MB contiguous address space. Run the following command:
rebase.exe -b 0x6D000000 \jdk1.3\jre\bin\*.dll \jdk1.3\jre\bin\hotspot\jvm.dll

It will increase the heap size to around 1.65GB.

Compare that to the listdlls output for jdk1.5, which allows around 1.45GB heap size (with JDK1.4.2, -Xmx1200M is the maximum)
0x00400000 0xc000 5.00.0040.0005 D:\jdk1.5\bin\java.exe
0x6d6b0000 0x189000 5.00.0040.0005 D:\jdk1.5\jre\bin\client\jvm.dll
0x6d2f0000 0x8000 5.00.0040.0005 D:\jdk1.5\jre\bin\hpi.dll
0x6d680000 0xc000 5.00.0040.0005 D:\jdk1.5\jre\bin\verify.dll
0x6d370000 0x1d000 5.00.0040.0005 D:\jdk1.5\jre\bin\java.dll
0x6d6a0000 0xf000 5.00.0040.0005 D:\jdk1.5\jre\bin\zip.dll


rebase.exe is from Visual Studio.
listdlls.exe is from http://www.microsoft.com/technet/sysinternals/default.mspx.

Tuesday, July 17, 2007

TFS Report rsErrorImpersonatingUser Error

Problem. Our Team Foundation Server has just been set up. When accessing TFS Reports, I got the error

Cannot impersonate user for data source 'TfsOlapReportDS'. (rsErrorImpersonatingUser)
For more information about this error navigate to the report server on the local server machine, or enable remote errors

Solution.
1. Make sure the account AD\SmartTFSReports for TfsOlapReportDS data source has the correct password configured.
2. Start-> Run-> gpedit.msc-> computer configuration-> Windows Settings-> Security Settings-> Local Policy-> User right assignment-> Access this computer from the network-> check AD\SmartTFSReports account is included.
3. Get more detailed error by logging on to TFS report server, accessing the TFS reports. The detailed error message is: Logon failure: the user has not been granted the requested logon type at this computer.
4. Add AD\SmartTFSReports to administrator group.
5. You could set the "EnableRemoteErrors" configuration value to True in the ReportServer.ConfigurationInfo database table.


Another Problem. Team Explorer - red cross on "documents"-folder

Solution. This is client side problem. Run "devenv /resetuserdata": cleaned the client side cache on my computer under C:\Documents and Settings\\Local Settings\Application Data\Microsoft\Team Foundation\1.0\Cache\

Thursday, July 12, 2007

java.lang.OutOfMemoryError

Problem: when running Together Architect to audit a large code base, it reported java.lang.OutOfMemoryError

Solution: add java options when launching Together Architect.
-Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M

Tuesday, July 10, 2007

ClearCase check out from dyn view leds to blue screen

Problem: ClearCase check-out from dyn view leds to blue screen (BSOD)

Cause: The new version of TrendMicro OfficeScan conflicts with MVFS.
TrendMicro OfficeScan Program version 7.3; Engine version 8.500.1002.
ClearCase version: 2003.6.14

Workaround: Shutdown Trend OfficeScan service, if possible.
Solution: upgrade ClearCase to 2003.6.16.

Monday, July 9, 2007

albd error: [WINSOCK] Connection reset by peer

I played ClearCase too much recently that it stopped working on my desktop. My final attempt was to switch the albd account for the albd service on my desktop; and after that every local dynamic view stopped working. And everything related to albd service as well.

The albd service was up running. But it was not listening on 371 port (using "netstat -a"). The error message was like

"Could not contact albd server... [WINSOCK] Connection reset by peer...";

"albd_nt_init: Call to CreateFileMapping().. albd_svc_nt2.c\471"; and

"albd_contact call failed: RPC: Unable to receive; errno = [WINSOCK] Connection reset".

The only suggestive information I got from the internet was to change the value in HKLM\system\CuttentControlset\Control\Session Manager\Subsystems\Windows. In the string ...SharedSection*,*,*..., increase the third column from 512 to 3072. But even this failed.

My colleague volunteered to help me on this. He sat down beside me, took over the mouse, and .... started to dial IBM support. Unfortunately, the IBM support did not know more than I do, and he told me that he could do nothing more before I could to make albd service listening on 371.

I was in no mood of arguing with him, so I did what I could do as the last resort: reinstalling ClearCase. And guess what? It worked.

Friday, July 6, 2007

Ugly bird at Toogood pond

We went to Toogood pond last evening, and saw the ugly bird again. This time, the bird joined a group of Canadian goose families. So it did not look that lonely as last time.

I was trying to figure out what species is the bird, but failed. It is a black bird with some white blocks, the size of a Canadian goose but much fatter. I doubt it could fly with the weight. The head looks like a turkey, but with its webbed feet, it shouldn’t be. When we approached it, the ugly bird started to drag it body towards us, wagging its fat tail like a dog.


Monday, June 25, 2007

Nemo is dead

My four and half year old told us the other day, "I think Nemo is dead."

"Why?" surprised by his comment, we asked him. "Because the drainage is full of peepee and poopoo. It is so dirty, Nemo can't survive there."

It was not easy for us to think of a reason that Nemo could survive it.

Friday, June 22, 2007

Move a dynamic view locally

Followed the Admin Guide. But there is one step missing in the doc. Here is a full list of steps.

1. Log on to the view host.
Log on as the view owner or privileged user.

2. Deactivate the view.
cleartool chview –readonly fs137_ucm0

3. Stop the view’s server process.
cleartool endview –server fs137_ucm0

4. Remove its tag and then unregister it.
cleartool rmtag –view –all fs137_ucm0
cleartool unregister –view /tmp/fs137_ucm0.vws

5. Copy the view. Log on as root
cd /tmp
cp -p fs137_ucm0.vws /ccstorage/views/fs137_ucm0.vws

6. Register the view at its new location and create a new view tag. Log on as the view owner,
cleartool register –view /ccstorage/views/fs137_ucm0.vws
cleartool mktag –view –tag fs137_ucm0 /ccstorage/views/v5_integration.vws

7. Make the view writable.
cleartool chview -readwrite fs137_ucm0
cleartool lsview -properties -full fs137_ucm0

8. Reactivate and test the view.
access the view and verify the following:
You can check out versions and, in a dynamic view, create view-private files.
All view-private objects were moved.

9. Update VOB references to this view. The view’s old location is still recorded by all VOBs that the view has accessed. To update this information, go to the view check out any element from each VOB that holds such a reference. (You can cancel the checkout immediately if you want).

10. Delete the old view storage directory.

11. Create additional tags as needed.
If the view has tags in other network regions, replace them with tags that reference the new location.

Wednesday, June 20, 2007

Could not Copy Data to View Storage

We have experiencing some strange behavior of ClearCase dynamic view from some developers these few days.

The vob server is on Unix, the view storage is located locally on developers desktop. We use TAS as the interop solution. When some developers tried to check out, the ClearCase explorer reported: "The element is checkout, but could not copy to view storage". We checked everything, and finally narrowed down the behavior to Windows 2000 users. And we found out that when they try start-> run-> "\\10.2.194.153\ccstore", it prompt for id/password logon.

The problem can be solved by a reboot, or explicitly run "net use * \\10.2.194.153\cctore" command. It seems that the networking setting has been changed, the cached data is no longer valid.

Friday, June 15, 2007

Team Meeting

We had a very informative team meeting yesterday.

The meeting was scheduled for checking our application migration status. But somehow, when we mentioned an experiment on the security setting, we started to discuss Lilo and Stitch, and kids TV programs, and TV control, and high tech. Anyway, we landed on geo caching. Everyone got excited. The manager started to tell the story of his treasure hunting experience. One person ran back to get her laptop and network cable so we could have a look of the website. Another wanted to teach us how to buy a GPS on eBay.

One hour later, the meeting minutes went like this.... We concluded that TV commander is a very effective device for controlling the total time that kids spend on watching TV.... We decided that we will go geocaching during next week’s team building. The GPS device will be provided by our manager. The site will be decided prior to the team building, somewhere near our office....

When I told my other half at home about the game, he was not that enthusiastic, and said that the site and the game must be set up by those GPS manufactures. Very well, it means that we have saved three hundred bucks of a new toy.

Thursday, June 14, 2007

Manage Activity Creation

One of our applications is moving from VSS to CC UCM. The management likes the idea of activity very much. They want to centralize activity creation and manage the project progress by monitoring the status of activities. The thing is, we don’t have enough money for ClearQuest, which would be the ideal tool for implementing the idea.

All relies on the ClearCase administers (i.e. me). My first task is to create a no_mkactivity trigger except for team leads that would be responsible for creating activities for the developers. However, the deliver and rebase operation implicitly creates activities. This kind of activity must be allowed.

#!/usr/bin/perl

# Only allow this mkact if it is a result of a deliver or rebase
# Determine this by checking the parent op kind
if ($ENV{"CLEARCASE_POP_KIND"} ne "deliver_start" && $ENV{"CLEARCASE_POP_KIND"} ne "rebase_start") {
print "Activity creation is only permitted for deliver and rebase.\n";
exit 1;
}

exit 0

We have to create a trigger type for each project, as the team lead would be changing from project to project. And we have to apply the trigger type to the integration stream and each development stream.

cleartool mktrtype -ucm -rep -pre mkactivity -execu "perl /ccstore/admin/no_mkact.pl" -execw "ccperl \\\\10.2.194.153\ccstore\admin\no_mkact.pl" -nc -nusers ccadmin no_mkact_V5.3

cleartool mktrigger -c "no mkactivity for you" no_mkact_V5.3 stream:qinl_V5.3_d@/vobs/Horizon_PVOB

cleartool mktrigger -c "no mkactivity for you" no_mkact_V5.3 stream:V5.3_i@/vobs/Horizon_PVOB


To automate the process, you may want to create a post-op trigger for mkstream as well. The trigger is used to attach the no_mkact trigger to the stream.


cleartool mktrtype -rep -ucm -postop mkstream -nc -execu "cleartool mktrigger -n
c no_mkact_V5.3 stream:\$CLEARCASE_STREAM" -execw "cleartool mktrigger -nc no_mk
act_V5.3 stream:%CLEARCASE_STREAM%" post_mkstream_V5.3

cleartool mktrigger -nc post_mkstream_V5.3 project:V5.3@/vobs/Horizon_PVOB

Besides that, we need a script for the team leads to create activities for their developers. Basically, it is a Perl script to take stream name, developer account id, and activity headline. The script will create the activity, and change the owner of the activity to the owner of the stream.

Cleartool mkact -in $stream -headline \"$act\" $act_id
Cleartool protect -chown $dev activity:$act_id

.

Wednesday, June 13, 2007

Feed Squirrels at my Backyard

My father-in-law came to visit us and would stay for a while. He loves garden and stays outside at the backyard tending his plants all day long. One day, I discovered that he started to feed squirrels when I found a half-eaten corn squeezed at the top of the fence. He told me that the squirrels had come the day before and ruined some of his plants because they could not find food. I just hope that the rabbits live in nearby woods have not heard about his generosity yet, as his radish will ripen in a couple of weeks.

Tuesday, June 12, 2007

Install Together Architect 1.0 on Windows 2003 Server

First error message: InstallAnyWhere: the memory could not "written".

Solution: Turn off DEP(Data Execution Prevention).
1. Click Start, click Run, type sysdm.cpl, and then click OK.
2. On the Advanced tab, under Performance, click Settings.
3. On the Data Execution Prevention tab, use one of the following procedures:
• Click Turn on DEP for essential Windows programs and services only to select the OptIn policy.
• Click Turn on DEP for all programs and services except those I select to select the OptOut policy, and then click Add to add the programs that you do not want to use the DEP feature.
4. Click OK two times.

Now that the installer can be launched. Yet, another error: "Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)". It turned out that the Together Architect installer is not supported for Windows 2003 server.

Solution: Install the software on a supported environment, and copy the installed folder through network to the Windows 2003 server box.

Monday, June 11, 2007

Access UCM with a base ClearCase view

Sometimes, it maybe desirable to use a base ClearCase view to access a UCM baseline. This may happen when the code is read-only and you want to save the effort of joining the project and managing the streams, such as for build purpose.

The config spec looks like the following.

element /vobs/MyVob /main/0 –nocheckout
element * baseline_07_13_2007 –nocheckout

The first line is there for retrieving the vob root, because the vob root will not get labeled when creating the baseline.

Friday, June 8, 2007

Move to 553

The other day, my six year old got sentimental suddenly when she realized that her little brother would be moving out of our house when he grows up. And she would not be able to see him around.

She said that she was going to move to 553 (which is the next house to ours). She asked her little brother where he planned to move. He told her that he was going to China. She was so disappointed but later brighten up telling me secretly that he would forget about his plan when he grows up.

I hope she will not.

Thursday, June 7, 2007

ClearCase: Child Branch vs. Child Stream

In base ClearCase, a dev branch is considered as the child branch of the integration branch. While in UCM, a dev stream is normally considered as the child stream of the integration stream. Yet, after analyzing the config spec of each, you can find out that a dev branch is a true child branch of the integration branch, while the dev stream is not, but only logically considered as a child stream of the integration stream.

Here is the typical dev branch config spec. It clearly shows that the dev branch is branched out from the int branch.


element * CHECKEDOUT
element * .../rel13.0_dev/LATEST
element * .../rel13.0_int/LATEST -mkbranch rel13.0_dev
element * /main/LATEST -mkbranch rel13.0_int

Here is the config spec of a dev stream. It shows that the dev stream is branched out from the recommended baseline.

element * CHECKEDOUT
element "[8226012109f011dc81910001833169b5=\Horizon]/horizon16/..." .../qinl_V5.3_d/LATEST
element "[8226012109f011dc81910001833169b5=\Horizon]/horizon16/..." V5.3_5_29_2007 -mkbranch qinl_V5.3_d
element "[8226012109f011dc81910001833169b5=\Horizon]/horizon16/..." /main/0 -mkbranch qinl_V5.3_d
element * /main/0 -ucm -nocheckout

The change of the branching mechanism from base to UCM means that you cannot always see the pretty picture of a version tree branching from main to integration, then to development branch. But it also makes it possible to add new elements to the dev stream when the integration stream is locked, which cannot be achieved in base CC.

Wednesday, June 6, 2007

Why blog?

Welcome.

I will try to keep and share my thoughts and experiences at this site about my life and work.

Enjoy.