Thursday, August 2, 2012

WebLogic Managed Servers Fail During Startup with weblogic.store.io.file.StoreFile Exception

Aug 1, 2012 6:57:46 PM UTC Info Store localhost server <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> 1343847466261 BEA-280008 Opening the persistent file store "WLS_DIAGNOSTICS" for recovery: directory=$DOMAIN_HOME/servers//data/store/diagnostics/ requestedWritePolicy="Disabled" fileLockingEnabled=true driver="wlfileio3".>
Aug 1, 2012 6:57:46 PM UTC Critical WebLogicServer localhost server main <> <> <> 1343847466271 BEA-000386 Server subsystem failed. Reason: java.lang.NullPointerException
java.lang.NullPointerException
at weblogic.store.io.file.StoreFile.close(StoreFile.java:432)
at weblogic.store.io.file.Heap.open(Heap.java:307)
at weblogic.store.io.file.FileStoreIO.open(FileStoreIO.java:104)
at weblogic.store.internal.PersistentStoreImpl.recoverStoreConnections(PersistentStoreImpl.java:413)
at weblogic.store.internal.PersistentStoreImpl.open(PersistentStoreImpl.java:404)
at weblogic.store.xa.PersistentStoreManagerXA.createFileStore(PersistentStoreManagerXA.java:118)
at weblogic.diagnostics.archive.DiagnosticStoreRepository.getStore(DiagnosticStoreRepository.java:91)
at weblogic.diagnostics.lifecycle.DiagnosticSystemService.start(DiagnosticSystemService.java:128)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

CAUSE:

The file $DOMAIN_HOME/servers/ServerName/data/store/diagnostics/WLS_DIAGNOSTICS000000.DAT is somehow corrupted.
The Archive component of the WebLogic Diagnostics Framework (WLDF) captures and persists all data events, log records, and metrics collected by WLDF from server instances and applications running on them and saves them into this file. So having this file corrupted, prevents the Server from writing the WLDF information, and hence it fails to start.

SOLUTION:

Backup and remove the WLS_DIAGNOSTICS000000.DAT file,then restart the server: a new file will be created automatically.
This should not affect the server performance. It will only cause the loss of the archived diagnostic information (which is likely already lost since the file is corrupt).

No comments:

Post a Comment