Code(-9204) Error loading driver persistent data

  • 7004982
  • 06-Dec-2009
  • 27-Apr-2012

Environment


Novell Identity Manager 3.6
Novell Identity Manager 3.6.1

Situation

Driver does not start

IDM trace to file stops at line:
[12/06/09 11:44:24.929]:Delimited Text :Reading XML attribute vnd.nds.stream://IDMBC-TREE/idmbc/driverset/Delimited+Text#DirXML-PersistentData.

ndstrace and iMonitor with the IDM flags enabled show the errors:
11:44:24 FFFFFFFFDFADC950 Drvrs: Delimited Text :Reading XML attribute vnd.nds.stream://IDMBC-TREE/idmbc/driverset/Delimited+Text#DirXML-PersistentData.
11:44:24 FFFFFFFFDFADC950 Drvrs: ENG ET:
DirXML Log Event -------------------
Status: Error
Message: Code(-9204) Error loading driver persistent data: Code(-9010) An exception occurred: com.novell.nds.dirxml.engine.VRDException: Code(-9013) One or more errors occurred parsing an attribute value that contains XML: 'vnd.nds.stream://IDMBC-TREE/idmbc/driverset/Delimited+Text#DirXML-PersistentData': (3): character not allowed
   at com.novell.nds.dirxml.engine.ConfigAbstraction.getAttributeXML(ConfigAbstraction.java:1304)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.getAttributeXML(ConfigAbstraction.java:1275)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.initPersistentData(ConfigAbstraction.java:852)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.commonConstruct(ConfigAbstraction.java:460)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.<init>(ConfigAbstraction.java:384)
   at com.novell.nds.dirxml.engine.DriverEntry.<init>(DriverEntry.java:131)
   at com.novell.nds.dirxml.engine.DriverEntry.startDriver(DriverEntry.java:108)
   at com.novell.nds.dirxml.engine.DriverEventMonitor$DriverStateHandler.handleEvent(DriverEventMonitor.java:274)
   at com.novell.nds.events.EventNotification.processEvent(EventNotification.java:845)
   at com.novell.nds.events.EventNotification.processEvents(Native Method)
   at com.novell.nds.events.EventNotification.access$500(EventNotification.java:56)
   at com.novell.nds.events.EventNotification$EventThread.run(EventNotification.java:1149)
   at java.lang.Thread.run(Unknown Source)

11:44:24 FFFFFFFFDFADC950 Drvrs: ENG ET:
DirXML Log Event -------------------
Status: Error
Message: Code(-9070) Unable to start DirXML driver <\IDMBC-TREE\idmbc\driverset\Delimited Text>: java.lang.NullPointerException
   at com.novell.nds.dirxml.engine.OpCounters.load(OpCounters.java:214)
   at com.novell.nds.dirxml.engine.OpCounters.<init>(OpCounters.java:150)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.initOpCounters(ConfigAbstraction.java:1005)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.commonConstruct(ConfigAbstraction.java:463)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.<init>(ConfigAbstraction.java:384)
   at com.novell.nds.dirxml.engine.DriverEntry.<init>(DriverEntry.java:131)
   at com.novell.nds.dirxml.engine.DriverEntry.startDriver(DriverEntry.java:108)
   at com.novell.nds.dirxml.engine.DriverEventMonitor$DriverStateHandler.handleEvent(DriverEventMonitor.java:274)
   at com.novell.nds.events.EventNotification.processEvent(EventNotification.java:845)
   at com.novell.nds.events.EventNotification.processEvents(Native Method)
   at com.novell.nds.events.EventNotification.access$500(EventNotification.java:56)
   at com.novell.nds.events.EventNotification$EventThread.run(EventNotification.java:1149)
   at java.lang.Thread.run(Unknown Source)

Driver Set Dashboard throws error "The following exception was thrown but not handled. (request: -255)" and ndstrace shows the error below when the Driser Set dashboard is accessed:
11:43:07 FFFFFFFFF5ABD950 Drvrs: ENG ET:
DirXML Log Event -------------------
Status: Error
Message: Code(-9140) Error processing DirXML sub-verb DSVR_GET_DRIVER_STATS: com.novell.nds.dirxml.engine.VRDException: Code(-9013) One or more errors occurred parsing an attribute value that contains XML: 'vnd.nds.stream://IDMBC-TREE/idmbc/driverset/Delimited+Text#DirXML-PersistentData': (3): character not allowed
   at com.novell.nds.dirxml.engine.ConfigAbstraction.getAttributeXML(ConfigAbstraction.java:1304)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.getPersistentData(ConfigAbstraction.java:895)
   at com.novell.nds.dirxml.engine.ConfigAbstraction.getOpCounters(ConfigAbstraction.java:308)
   at com.novell.nds.dirxml.engine.verb.GetDriverStats.version0(GetDriverStats.java:365)
   at com.novell.nds.dirxml.engine.verb.GetDriverStats.processSubVerb(GetDriverStats.java:188)
   at com.novell.nds.dirxml.engine.verb.DirXMLVerbs$GetVerbHandler.processVerb(DirXMLVerbs.java:538)
   at com.novell.nds.dhutil.VerbProcessor$HandlerThread.run(VerbProcessor.java:507)
   at java.lang.Thread.run(Unknown Source)

Resolution

Delete the attribute DirXML-PersistentData from the problem driver. This can be done via LDAP or ConsoleOne, iManager 2.7.3 does not provide access to the attribute. After that the driver should start normally.

Additional Information

DirXML-PersistentData stores counters for health monitoring. If the attribute XML content get corrupted, the errors mentioned in this TID will occur.

Since it is is recreated when it does not exist and the driver is started, there is no loss of driver configuration or logic in deleting the DirXML-PersistentData attribute.