Fixes are available
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
APAR status
Closed as program error.
Error description
A NullPointerException is received during annotations processing while updating a LRU (least recently used) cache of class information. [10/29/12 9:45:54:898 EDT] 0000003e annotations E com.ibm.ws.amm.AnnotativeMetadataManagerImpl performMergeOperations CWWAM0001E: An exception occurred during annotation processing: {0} java.lang.NullPointerException at com.ibm.ws.amm.scan.util.info.impl.ClassInfoCache.makeFirst(Clas sInfoCache.java:1300) at com.ibm.ws.amm.scan.util.info.impl.ClassInfoCache.recordAccess(C lassInfoCache.java:1419) at com.ibm.ws.amm.scan.util.info.impl.InfoStoreImpl.recordAccess(In foStoreImpl.java:314) at com.ibm.ws.amm.scan.util.info.impl.DelayedClassInfo.getClassInfo (DelayedClassInfo.java:229) at com.ibm.ws.amm.scan.util.info.impl.DelayedClassInfo.getAllInterf aces(DelayedClassInfo.java:361) at com.ibm.ws.websvcs.annotations.amm.client.WSAmmUtils.isSuperInte rface(WSAmmUtils.java:319) at com.ibm.ws.websvcs.annotations.amm.client.WSAmmUtils.isAssignabl eFrom(WSAmmUtils.java:281) at com.ibm.ws.websvcs.annotations.amm.client.WSAmmUtils.isJAXRPCSer viceResource(WSAmmUtils.java:212) at com.ibm.ws.websvcs.annotations.amm.client.WSAmmUtils.isServiceRe source(WSAmmUtils.java:204) at com.ibm.ws.websvcs.annotations.amm.client.ServiceRefAbstractMerg eAction.doFieldLevelMerge(ServiceRefAbstractMergeAction.java:259 ) at com.ibm.ws.websvcs.annotations.amm.client.ServiceRefAbstractMerg eAction.merge(ServiceRefAbstractMergeAction.java:172) at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.performMergeOperati ons(AnnotativeMetadataManagerImpl.java:472) at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.merge(AnnotativeMet adataManagerImpl.java:269) at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno tationsProcessorImpl.java:132) at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno tationsProcessorImpl.java:64) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .processEJBAnnotations(WARFileImpl.java:2523) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .getEJBDeploymentDescriptor(WARFileImpl.java:2196) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .getEJBDeploymentDescriptor(WARFileImpl.java:2021) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .getEJBDeploymentDescriptor(WARFileImpl.java:2014) at com.ibm.ws.amm.merge.ejb.manager.EJBData.getDescriptor(EJBData.j ava:170) at com.ibm.ws.amm.merge.ejb.manager.EJBData.initEJBData(EJBData.jav a:104) at com.ibm.ws.amm.merge.ejb.manager.EJBDataManager.getEJBData(EJBDa taManager.java:85) at com.ibm.ws.amm.merge.ejb.BaseEJBMergeAction.isOverriden(BaseEJBM ergeAction.java:276) at com.ibm.ws.amm.merge.ejb.BaseEJBMergeAction.mergeFieldTargets(Ba seEJBMergeAction.java:239) at com.ibm.wsspi.amm.merge.AbstractMergeAction.merge(AbstractMergeA ction.java:132) at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.performMergeOperati ons(AnnotativeMetadataManagerImpl.java:472) at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.merge(AnnotativeMet adataManagerImpl.java:269) at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno tationsProcessorImpl.java:132) at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno tationsProcessorImpl.java:64) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .processAnnotations(WARFileImpl.java:867) at com.ibm.ws.webfragmerger.WebFragMergerImpl.merge(WebFragMergerIm pl.java:495) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .mergeAnnotationsAndFragments(WARFileImpl.java:813) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .getDeploymentDescriptor(WARFileImpl.java:641) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .getDeploymentDescriptor(WARFileImpl.java:360) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .getDeploymentDescriptor(WARFileImpl.java:342) at com.ibm.etools.commonarchive.impl.WARFileImpl.getExtensions(WARF ileImpl.java:852) at com.ibm.etools.commonarchive.impl.WARFileImpl.getContextRoot(WAR FileImpl.java:1210) at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50No DDImportStrategyImpl$1.getContextRoot(Ear50NoDDImportStrategyImp l.java:607) at org.eclipse.jst.j2ee.application.internal.impl.WebModuleImpl.get ContextRoot(WebModuleImpl.java:144) at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.War25Ex portStrategyImpl.preSave(War25ExportStrategyImpl.java:164) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ModuleFileI mpl.save(ModuleFileImpl.java:506) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ArchiveImpl .extractTo(ArchiveImpl.java:1153) at com.ibm.ws.websvcs.deployment.FileExplorerUtils.extractModuleFil e(FileExplorerUtils.java:157) at com.ibm.ws.websvcs.deployment.WARFileExplorer.explore(WARFileExp lorer.java:141) at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.getLocatorsFromMo dule(WSModuleDescriptorImpl.java:1455) at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.getClassDataObjec ts(WSModuleDescriptorImpl.java:1400) at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.initDBCMap(WSModu leDescriptorImpl.java:2041) at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.getDBCs(WSModuleD escriptorImpl.java:2494) at com.ibm.ws.websvcs.deploy.WSCacheWriter.writeModuleCache(WSCache Writer.java:520) at com.ibm.ws.websvcs.deploy.WSCacheWriter.writeApplicationCache(WS CacheWriter.java:226) at com.ibm.ws.websvcs.deploy.WSCacheWriter.writeApplicationCache(WS CacheWriter.java:151) at com.ibm.ws.websvcs.deploy.PersistentStorageInstallSaveTask.perfo rmTask(PersistentStorageInstallSaveTask.java:195) at com.ibm.ws.management.application.sync.AppBinaryProcessor$Expand App.expand(AppBinaryProcessor.java:1705) at com.ibm.ws.management.application.sync.AppBinaryProcessor$AppBin Thread.run(AppBinaryProcessor.java:1210) at java.lang.Thread.run(Thread.java:737)
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server deploying applications that contain * * J2EE annotations * **************************************************************** * PROBLEM DESCRIPTION: NullPointerException occurs in * * ClassInfoCache.makeFirst(NonDelayedClas * * sInfo) while manipulating a list of * * objects. * **************************************************************** * RECOMMENDATION: * **************************************************************** During the annotation scan of a module, a ClassInfo object is created for each scanned class and maintained in several lists in ClassInfoCache.class. Two of these lists are managed together to prevent excessive memory use during the scan, a general list and one that is sorted by last reference. There are events that can cause a ClassInfo to be removed from these lists, and incorrect processing in this function is causing a ClassInfo to be removed from the sorted list but not the general list. Referencing a class results in the ClassInfo being moved to the beginning of the sorted list. When this process encounters a ClassInfo which is on one list but not the other, a NullPointerException can occur while manipulating the linked list pointers.
Problem conclusion
ClassInfoCache has been updated to correctly remove a ClassInfo from both lists during the removal operation, and to clear the back point when moving a ClassInfo to the front of the sorted list. The fix for this APAR is currently targeted for inclusion in fix pack 8.0.0.7 and the fixpack after 8.5.0.2. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PM78019
Reported component name
WEBSPHERE APP S
Reported component ID
5724J0800
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-11-28
Closed date
2013-03-21
Last modified date
2013-03-21
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WEBSPHERE APP S
Fixed component ID
5724J0800
Applicable component levels
R800 PSY
UP
R850 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
29 October 2021