To assist in a speedy resolution of problems with AccuRev usage or performance, AccuRev Customer Support personnel may ask you to provide data that you may not be used to gathering on a day-to-day basis. The most frequently requested items are listed below, with instructions on how to gather the data. In your initial email communication with Customer Support, please include the data item(s) that you know (or suspect) are related to your specific issue.
Use accurev show slices to find the location of the relevant depot directory (slice).
Stop the AccuRev Server.
tar your site_slice directory. Example:
cd /opt/accurev/storage/site_slice
tar -cvf ~/site_slice.tar . (don't forget the '.')
tar the relevant depot directory (slice), but exclude the data subtree. (The data subtree contains your source code; please do not send it to us!) Example:
cd /opt/accurev/storage/depots/ACME
tar -cvf ~/ACME.tar --exclude data . (the --exclude option is supported by GNU tar)
gzip both tar files. Example:
gzip ~/site_slice.tar ~/ACME.tar
Start the AccuRev Server.
Send both gzip'ed files (.tar.gz suffix) to Customer Support. We recommend using FTP rather than email, since the files may be too large for your outgoing email server. Please contact support@accurev.com to obtain a username and password for our FTP server.
Use accurev show slices to find the location of the relevant depot directory (slice).
Stop the AccuRev Server.
Create a ZIP archive of the site_slice directory. Typically, it's C:\Program Files\AccuRev\storage\site_slice.
Create a ZIP archive of the relevant depot directory (slice). Typically, it's a subdirectory of C:\Program Files\AccuRev\storage\depots.
Remove the data subtree from the ZIP archive. (The data subtree contains your source code; please do not send it to us!)
Start the AccuRev Server.
Send both ZIP files to Customer Support. We recommend using FTP rather than email, since the files may be too large for your outgoing email server. Please contact support@accurev.com to obtain a username and password for our FTP server.
Gather the following information to begin troubleshooting the issue:
What changed in the environment? Power failure? Hardware failure?
What are the hardware specs on the AccuRev Server machine?
What is the AccuRev version on the AccuRev Server machine?
Get output of "accurev info" on the AccuRev Server machine.
Copy (ZIP or tar file) all AccuRev Server logs, located in subdirectory .../storage/site_slice/logs. Search for any messages that might be the cause of your issue: disk failure, power outage, etc.
Copy all operating system logs (location varies from OS to OS).
Stop the AccuRev Server.
Get output of "maintain dbcheck". (Never run "maintain reindex" unless instructed by Customer Support.)
Start the AccuRev Server.
Gather AccuRev metadata.
If you experience your problem while running the AccuRev GUI, then running the GUI in Java debug mode can help diagnose and further troubleshoot your problem. Running in debug mode is also useful for monitoring the commands that the GUI sends to the AccuRev Server. This can help with scripting efforts, for example.
(adjust pathnames as appropriate)
cd C:\Program Files\AccuRev\bin
java -Daccurev.debug.acapi -cp "oro.jar;xercesImpl.jar;xml-apis.jar;fw.jar" fw.MainApp
Windows example (AccuRev 3.7 or earlier)
(adjust pathnames as appropriate)
cd C:\Program Files\AccuRev\bin
java -Daccurev.debug.acapi -cp "oro.jar;xerces.jar;fw.jar" fw.MainApp
UNIX/Linux example
Use the following sh script (adjust pathnames as appropriate).
#!/bin/sh
acbin=/opt/accurev/bin
acjre=/opt/accurev/jre/bin/java
cd $acbin
$acjre -Daccurev.debug.acapi -Daccurev.debug.env \
-classpath "oro.jar:xercesImpl.jar:xml-apis.jar:fw.jar" fw.MainApp
UNIX/Linux example (AccuRev 3.7 or earlier)
Use the following sh script (adjust pathnames as appropriate).
#!/bin/sh
acbin=/home/accurev/bin
acjre=/home/accurev/jre/bin/java
cd $acbin
$acjre -Daccurev.debug.acapi -Daccurev.debug.env \
-classpath "oro.jar:xerces.jar:fw.jar" fw.MainApp
You can diagnose authentication problems with the secinfo command, which is not currently documented:
accurev secinfo
The output is one of these keywords:
anyuser
The user does not have a password set on the server. In this case, the user is allowed to perform operations on streams except where ACL permissions require you to be an authenticated user.
authuser
The user has a password set on the AccuRev Server, and the correct password has been entered in the authn file on the client machine. The user is considered authenticated.
notauth
The user has a password set on the server but the correct password has not been entered in the authn file on the client machine. The user is "not authenticated".
The authn file lives under the user's home directory, in the .accurev subdirectory. Only users that have passwords will have an authn file.
How can you get the version information about the AccuRev Server without having to log into the server machine? You can perform either of the following operations on any AccuRev client machine:
To get the integer version number of the AccuRev server and client software:
> accurev info -v
...
client_ver: 58
...
server_ver: 58
...
To get the major/minor/patch version numbers of the AccuRev Server, use the accurev xml command:
Create a file (say, ver.xml), containing this very short XML document:
<serverInfo/>
Submit this file as an argument to the xml command:
accurev xml -l ver.xml
The command output in this format:
<serverInfo>
<serverVersion
major="4"
minor="5"
patch="0"/>
<handleCount>10</handleCount>
</serverInfo>
This example indicates that the AccuRev Server is Version 4.5.0.
If you are reporting a problem with an AccuRev integration with a third-party IDE, send to Customer Support:
The name and version number of the IDE software.
The steps required to reproduce the problem. Be sure to include the type of project you're working with in the IDE and the location of the AccuRev workspace you're accessing through the IDE.
The version of AccuRev you are using.
(if applicable) The version of the AccuBridge integration you are using.
Send to Customer Support copies of:
The acserver.log file (in .../storage/site_slice/logs).
The keys.txt file (in .../storage/site_slice).
A screen shot of the error box or a copy of the error text.
Output from accurev info, executed on the AccuRev Server machine.
Output from accurev show users.
Send to Customer Support:
A screen shot of the error box or a copy of the error text.
The steps required to reproduce the problem. Include the depot's stream structure, if it's relevant.
The operating system version on the client machine
Are multiple users or multiple machines (client vs. server) involved?
Output from these commands:
accurev
accurev info -v
accurev show wspaces
accurev show streams
accurev show slices
accurev show depots
accurev diag
Send to Customer Support:
A copy of the acserver.cnf file from both the master server and the replica server.
A copy of the acserver.log file from both the master server and the replica server.
Output from this command (if the problem is performance-related):
accurev diag
Send to Customer Support the answers to this questionnaire:
Has performance always been poor? If not, what changed in the environment?
What exactly was the user trying to do? Does the performance problem occur with other users, on different client machines? Or is it a common issue on the same machine?
Does the operation actually finish? (A hang or lock-up can often be mistaken as performance problem.)
What are the AccuRev versions on the problem clients and server machines?
What are the hardware specs on the problem clients and server machines?
Is performance different in the AccuRev CLI and the AccuRev GUI?
Is the user's home directory on a remote disk? If so, consider moving the home directory so that it is on the machine where the AccuRev client software runs.
Send to Customer Support:
Complete AccuRev server logs (in .../storage/site_slice/logs)
Two samples of output from accurev diag, run on the AccuRev Server machine in the depot storage directory.
Two samples of output from accurev diag, run on the client machine in the user's workspace directory.
Output from accurev show triggers.
The contents of the trigger script files with any of these names, located anywhere under the storage directory on the AccuRev Server machine:
server_admin_trig
server_preop_trig
The filenames might include a suffix, such as .bat on Windows.)
The AccuRev Server task list.
How do you create a listing of the AccuRev Servers currently active tasks (execution threads)?
Create a file (say, tasks.xml), containing this very short XML document:
<tasklist/>
Submit this file as an argument to the xml command:
accurev xml -l tasks.xml > tasklist.out
The contents of tasklist.out will resemble this example:
<tasklist>
<task>
<task_id>1299</task_id>
<task_name>promote</task_name>
<user>john</user>
<host>192.168.89.222</host>
<status>1</status>
<starttime>2006/07/25 14:42:49</starttime>
<seconds_on_server>2</seconds_on_server>
<depot_write_lock>true</depot_write_lock>
<progress_counter
counter="0"
count="6"
max_count="11"/>
<progress_counter
counter="1"
count="200"
max_count="900"/>
</task>
<task>
<task_id>1300</task_id>
<task_name>xml</task_name>
<user>john</user>
<host>192.168.89.222</host>
<status>1</status>
<starttime>2006/07/25 14:42:51</starttime>
<seconds_on_server>0</seconds_on_server>
</task>
</tasklist>