Internal DSA error occurs while checking conflicts during the mailbox switch and there are following lines in dsa.log:
"26.01.2009 14:09:38 (GMT+01:00) COM AcAdSwitches Starting conflict searching"
"26.01.2009 14:09:38 (GMT+01:00) Common AcAdSwitches Error 0xe1000005. Internal DSA error"
"26.01.2009 14:09:38 (GMT+01:00) Activation AcAdSwitches Mail Switch, Apply method done"
This can be caused by having special characters in X.400 or other types of proxyAddresses attribute. Potential examples may also include missing types on the proxy addresses such as SMTP or X.400 or the presence of question mark character ?.
In one of the examples a user had an address with an HTML code (&, then a hash character # followed by a number and a semicolon) which possibly was a result of trying to add an umlaut character to users addresses such as X400:c=de;a= ;p=TUI;o=HAJ;cn=Höefelme using a web interface of a third party program. DSA does not expect extra # characters in proxyAddresses, they are address delimiters in this attribute. Anything after a # character in proxyAddresses is treated as a separate address.
The resolution is to clean up the problem address to not include any special characters. In the example above it was set to X400:c=de;a= ;p=TUI;o=HAJ;cn=Hoefelme to resolve the problem. Please also refer to article SOL55565 on how to identify such objects.
This only applies to this error happening during conflict search, there can be various other reasons for an Internal DSA Error in other stages of directory sync.