Environment
Novell Audit 2.0.2 JDBC Channel
Situation
An unexpected error has been detected by HotSpot Virtual
Machine:
SIGSEGV (0xb) at pc=0x4082d5b5,
pid=12763, tid=1303583664
Java VM: Java HotSpot(TM) Server
VM (1.4.2_10-b03 mixed mode)
Problematic frame: V
[libjvm.so+0x4345b5]
Using the JTDS driver from Linux to MS SQL hosted on a Windows
server.
When you do a ./novell-naudit start -d and you look at the
debugger screen, you don't see any events being saved to the
datastore. All events show up as queued.
The amount of memory allocated to Novell Audit is completely
consumed.
Novell Audit will remain in this state for a period of
time. Then the Java Virtual Machine will return a Java
HotSpot error and crash.
Novell Audit will crash at this time.
Resolution
When JTDS starts up and is successful at logging into the
Microsoft SQL database, JTDS will send the following command to
MSSQL:
select * from
The value in is the name of your Novell
Audit table, such as NAUDITLOG. What this select statement
does is it requests that every row in the NAUDITLOG table be sent
back to the server. If your MSSQL server has a large dataset,
then it can take a very long time for the data to come back.
Additionally you can run out of memory in the Java virtual
machine. Hence that's why you see the SIGSEGV error in the
Java HotSpot Server.
To fix the problem, you will need to periodically rotate your
Microsoft SQL database so that the database size does not get too
large. Or you will need to truncate the table. Or
delete the table altogether (if the data is expendable). If
the Microsoft SQL database gets to be too large, then you will see
the errors in the "Situation" portion of this document occur.
Again, this crash will only occur when you start Novell
Audit. If the Secure Logging Server (SLS) stays up, it can
grow the database until it is too large for JTDS / Java VM to
handle on startup.