Defects
ID: | D6531 | |
Published: | 29 March 2004 | |
Updated: | 22 January 2014 |
Defect Id
Originally Reported Against
Resolved In
Status
Description
Example:
Sometimes the GUI just won't launch at all, but running it in console mode (by executing pvcsvmntc.exe
from a Command Prompt window) shows:
or a stack dump, like:
Exception in thread "main" java.lang.ExceptionInInitializerError
at pvcs.vm.services.file.VmSvcAccessDbFile.<init>(VmSvcAccessDbFile.java:100)
at pvcs.vm.services.file.VmServicesFile.oneTimeInitialization(VmServicesFile.java:80)
at pvcs.vm.services.file.VmServicesFile.init(VmServicesFile.java:68)
at pvcs.system.PvcsConnection.addInterface(PvcsConnection.java:303)
at pvcs.system.PvcsSystem.addInterface(PvcsSystem.java:1149)
at pvcs.system.PvcsConnection.addInterfacesFromFile(PvcsConnection.java:357)
at pvcs.system.PvcsSystem.loadSystem(PvcsSystem.java:1220)
at pvcs.system.PvcsSystem.getSystem(PvcsSystem.java:368)
...
Caused by: java.lang.Exception: Unknown Exception at line 54 in VMNMInit.cpp
at pvcs.vm.vms.Init.PvcsInit(Native Method)
at pvcs.vm.vms.Init.load(Init.java:68)
at pvcs.vm.vms.Init.loadOrExit(Init.java:99)
at pvcs.vm.vms.AccessDatabase.<clinit>(AccessDatabase.java:289)
... 14 more
java.lang.ClassLoader$NativeLibrary.load(Native Method)
java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511)
java.lang.Runtime.loadLibrary0(Runtime.java:788)
java.lang.System.loadLibrary(System.java:834)
pvcs.vm.vms.Init.load(Init.java:47)
Directory of c:\winnt\system32
09/16/2002 04:30p 675,840 libeay32.dll
1 File(s) 675,840 bytes
Directory of C:\Program Files\Serena\vm\common\bin\win32
09/08/2003 03:05 PM 839,680 libeay32.dll
1 File(s) 839,680 bytes
Resolution
This issue has been resolved as of Version Manager 8.3, by having it pre-load the offending DLLs from the VM directory. If these symptoms are seen in VM 8.3 or newer, check the ISLV.INI file to make sure it contains the section:
[THIRDPARTY]
pvcs.vm.thirdpartydlls=libeay32.dll:ssleay32.dll
If this section cannot be located in the ISLV.ini file, add it to the bottom of that file after first closing all Version Manager instances on the affected PC.
To resolve this issue for Version Manager releases older than 8.3, the appropriate versions of the affected DLLs need to be loaded by the PVCS Version Manager code.
-
The directory containing the executable that wants to load the DLL.
-
The current directory, also known as the "Start in" directory.
-
The
%SystemRoot%\system32
directory (eg.C:\WINNT\system32
). -
The
%SystemRoot%\system directory
(eg.C:\WINNT\system
). -
The
%SystemRoot%
directory (eg.C:\WINNT
). -
The directories specified in
%PATH%
, left to right.
ssleay32.dll
DLLs, additional copies needs to be placed in a location that has a higher order of precedence than the mismatched versions from Crystal Reports (which are at location #3), leaving location #1 or #2. Since location #2 is variable, the best solution is to use location #1.
Client
|
Executable
|
Location
|
Desktop GUI/PCLI
|
pvcsvmnt.exe
|
VM_Install_Dir\vm\win32\bin
|
IDE Client (SCC)
|
PCLIOutProc.exe
|
VM_Install_Dir\vm\devint\bin as well as the directory of the IDE executable
|
Rich IDE Client for Visual Studio 2005
|
devenv.exe
|
Determined by IDE
|
Rich IDE Client for eclipse
|
java.exe
|
Determined by IDE
|
File Server/Web App (Running as a Service)
|
tomcat.exe
|
VM_Install_Dir\vm\common\tomcat\bin
|
File Server/Web App (Running as an Application)
|
vpadmin.exe
|
VM_Install_Dir\vm\common\jre\win32\bin
|
libeay32.dll
and ssleay32.dll
from the directory VM_Install_Dir\vm\common\bin\win32
into the directories shown in this table, you will be able to resolve the problem for the respective clients.
In rare circumstances it may also be necessary to copy the files to the
%windir%\System32
folder to overwrite the files that Crystal Reports copied there.