This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | PVCS: Can't verify a group. | ||
---|---|---|---|
Product: | obsolete | Reporter: | Jiri Kovalsky <jkovalsky> |
Component: | vcsgeneric | Assignee: | Martin Entlicher <mentlicher> |
Status: | VERIFIED FIXED | ||
Severity: | blocker | CC: | ttran |
Priority: | P1 | ||
Version: | -S1S- | ||
Hardware: | PC | ||
OS: | Windows ME/2000 | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
The two locked threads.
The text diff with respect to release35 branch. The binary patch, that fix this problem. |
Description
Jiri Kovalsky
2003-03-26 11:39:31 UTC
It's easily reproducible. It's a "deadlock" in commands customization process. This may cause problems of all commands, that use some preprocessing. The two affected threads attached. Created attachment 9534 [details]
The two locked threads.
The problem is in the PVCS profile. The VERIFY_ACTION tries to run LOCK_ command from itself, but LOCK_ command can not be executed together with other commands in the same folder. Thus LOCK_ can not be started before VERIFY_ACTION is finished, but VERIFY_ACTION waits for the LOCK_ command. The solution is to make VERIFY_ACTION inert (it will not be considered when deciding which commands can be run concurrently). The fix is simple and reliable: Checking in pvcsUnix.xml; /cvs/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsUnix.xml,v <-- pvcsUnix.xml new revision: 1.36; previous revision: 1.35 done Checking in pvcsUnixLoc_XX.xml; /cvs/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsUnixLoc_XX.xml,v <-- pvcsUnixLoc_XX.xml new revision: 1.37; previous revision: 1.36 done Checking in pvcsWin.xml; /cvs/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsWin.xml,v <-- pvcsWin.xml new revision: 1.43; previous revision: 1.42 done Checking in pvcsWin98.xml; /cvs/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsWin98.xml,v <-- pvcsWin98.xml new revision: 1.40; previous revision: 1.39 done Checking in pvcsWin98Loc_XX.xml; /cvs/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsWin98Loc_XX.xml,v <-- pvcsWin98Loc_XX.xml new revision: 1.40; previous revision: 1.39 done Checking in pvcsWinLoc_XX.xml; /cvs/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsWinLoc_XX.xml,v <-- pvcsWinLoc_XX.xml new revision: 1.43; previous revision: 1.42 done Created attachment 9556 [details]
The text diff with respect to release35 branch.
Created attachment 9557 [details]
The binary patch, that fix this problem.
The binary patch attached. To apply: create folder patches/org-netbeans-modules-vcs-profiles-pvcs in "modules" folder in the NetBeans 3.5 installation directory and copy the attached Patch32348.jar into that folder: cp Patch32348.jar \ netbeans/modules/patches/org-netbeans-modules-vcs-profiles-pvcs Then restart NetBeans. Cool, I have just verified the fix using supplied patch in development build #030326 of Sun ONE Studio 5.0. Go ahead with integration ! Martin, I am still waiting for the code reviewer to add his comments here Setting concurrentExec property of VERIFY_ACTION to -1 causes that LOCK_ command invoked from VERIFY_ACTION command could be executed and it definitely fixes problem with deadlock. Code reviewed without objections. approved for 3.5 by release coordinator Thanks for the review and approval, it's merged into release35 branch: Checking in pvcsUnix.xml; /shared/data/helm/cvs/repository/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsUnix.xml,v <-- pvcsUnix.xml new revision: 1.35.4.1; previous revision: 1.35 done Checking in pvcsUnixLoc_XX.xml; /shared/data/helm/cvs/repository/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsUnixLoc_XX.xml,v <-- pvcsUnixLoc_XX.xml new revision: 1.35.4.2; previous revision: 1.35.4.1 done Checking in pvcsWin.xml; /shared/data/helm/cvs/repository/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsWin.xml,v <-- pvcsWin.xml new revision: 1.42.4.1; previous revision: 1.42 done Checking in pvcsWin98.xml; /shared/data/helm/cvs/repository/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsWin98.xml,v <-- pvcsWin98.xml new revision: 1.39.4.1; previous revision: 1.39 done Checking in pvcsWin98Loc_XX.xml; /shared/data/helm/cvs/repository/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsWin98Loc_XX.xml,v <-- pvcsWin98Loc_XX.xml new revision: 1.39.4.1; previous revision: 1.39 done Checking in pvcsWinLoc_XX.xml; /shared/data/helm/cvs/repository/vcsgeneric/profiles/pvcs/src/org/netbeans/modules/vcs/profiles/pvcs/config/pvcsWinLoc_XX.xml,v <-- pvcsWinLoc_XX.xml new revision: 1.42.4.1; previous revision: 1.42 done Verified in development build #200304132350 of NetBeans 3.5. |