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.

Bug 32348 - PVCS: Can't verify a group.
Summary: PVCS: Can't verify a group.
Status: VERIFIED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: -S1S-
Hardware: PC Windows ME/2000
: P1 blocker (vote)
Assignee: Martin Entlicher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-26 11:39 UTC by Jiri Kovalsky
Modified: 2003-04-14 16:21 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
The two locked threads. (3.61 KB, text/plain)
2003-03-26 13:24 UTC, Martin Entlicher
Details
The text diff with respect to release35 branch. (5.71 KB, patch)
2003-03-27 10:28 UTC, Martin Entlicher
Details | Diff
The binary patch, that fix this problem. (43.16 KB, application/octet-stream)
2003-03-27 10:32 UTC, Martin Entlicher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jiri Kovalsky 2003-03-26 11:39:31 UTC
Development build of Sun ONE Studio 5.0 #030325
Windows 2000 with JDK 1.4.1 build #21

Description:
============
VCS group containing some file from PVCS
filesystem can't be verified. VERIFY_ACTION must
be killed to see group verification dialog.
Furthermore it blocks execution of other commands
! Please investigate it. This is a regression and
must be resolved soon.

Steps to reproduce:
===================
1. Mount PVCS filesystem and Select some [Current]
file.
2. "Include in VCS Group|<Default Group>" the file.
3. Invoke "Versioning|VCS Groups" menu from main
window.
4. Invoke "Verify" action on "Default Group". It
will never finish.
Comment 1 Martin Entlicher 2003-03-26 13:23:26 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.
Comment 2 Martin Entlicher 2003-03-26 13:24:34 UTC
Created attachment 9534 [details]
The two locked threads.
Comment 3 Martin Entlicher 2003-03-27 10:25:34 UTC
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
Comment 4 Martin Entlicher 2003-03-27 10:28:46 UTC
Created attachment 9556 [details]
The text diff with respect to release35 branch.
Comment 5 Martin Entlicher 2003-03-27 10:32:22 UTC
Created attachment 9557 [details]
The binary patch, that fix this problem.
Comment 6 Martin Entlicher 2003-03-27 10:36:08 UTC
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.
Comment 7 Jiri Kovalsky 2003-03-27 12:26:55 UTC
Cool, I have just verified the fix using supplied patch in development
build #030326 of Sun ONE Studio 5.0. Go ahead with integration !
Comment 8 _ ttran 2003-03-27 13:00:29 UTC
Martin, I am still waiting for the code reviewer to add his comments here
Comment 9 Richard Gregor 2003-03-28 07:57:01 UTC
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.
Comment 10 _ ttran 2003-03-28 08:09:24 UTC
approved for 3.5 by release coordinator
Comment 11 Martin Entlicher 2003-03-28 16:22:15 UTC
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
Comment 12 Jiri Kovalsky 2003-04-14 16:21:38 UTC
Verified in development build #200304132350 of NetBeans 3.5.