This is a clean installation of ContinuaCi 1.0.0.2859 on Windows 2012 (4x2.93 GHz Intel Xeon, 4GB RAM) configured with a SQL 2012 backend and mixed authentication. The ContinuaCi service starts and then immediately starts reporting the following errors and crashes about 2 minutes later.
"PrincipalOperationException 5 times when checking membership for group Pre-Windows 2000 Compatible Access. This usually means that you have an unresolvable SID as a group member. It is recommended that you fix this problem as soon as possible by removing the SID from the group. The groups ‘Exchange Domain Servers’ and users ‘’ have been retrieved sucessfully from the list of group members"
The group that was specified for administrators in the server’s configuration file does not have unresolvable SIDs and is not that “Pre-Windows 2000 Compatible Access”. Any idea why the service seems to be checking other groups on the domain and crashing?
Thanks!
Hi Mirina,
By default, Continua queries the full list of groups in the domain so that you can select them on the Groups administration page.
You can restrict this to groups within an LDAP organisational unit or container using the groupsContainer attribute on the continua-configuration/authentication node in the service configuraton file.
eg.
<
authentication
mode
=
“Mixed”
fqdn
=
“office.company.com”
administratorsGroup
=
“Continua Administrators”
groupsContainer
=
“OU=Continua,DC=Office,DC=Company,DC=com”
/>
In this case the Continua Administrators group and any other groups you want to use with Continua must be located under the Continua OU.
Note that Continua users can be located anywhere in the domain but must be members of groups located under under the groupsContainer if specified.
Also see Authentication mode configuration in the documentation
Thanks for the explanation, Dave! I’ll try restricting the OU. However, I don’t think crashing is acceptable behavior when the full group list is not available.
Hi Miruna,
Yes, the service crashing is certainly not acceptable. We have tried forcing the PrincipalOperationException exception here and have not been able to reproduce the crash. Can you send us a debug log?
How do I generate that?
Details are in the documentation here.
I did put this link in my previous reply, but it’s not that obvious as it was only underlined on hover. We have now updated the forum styles so that links are more obvious.
See attached 20140226_ContinuaCI.txt
Hi Miruna,
There’s nothing unusual in the debug log - just the exception you reported which is being handled. The server is continuing to run after this exception which suggests that something else is causing the service to crash.
Are there any other error messages in the Windows event log around the time it crashes? Does the task manager report high memory usage for Continua.Server.Service.exe before the crash?
The memory peak usage is around 440MB, then the service crashes.
The only thing in the Event Viewer at the time is the crash report:
Faulting application name: Continua.Server.Service.exe, version: 1.0.0.2941, time stamp: 0x52fc6052
Faulting module name: msvcrt.dll, version: 7.0.9200.16384, time stamp: 0x5010ac20
Exception code: 0xc00000fd
Fault offset: 0x0000000000004d0d
Faulting process id: 0xca8
Faulting application start time: 0x01cf33cd0ed6094e
Faulting application path: C:\Program Files\VSoft Technologies\ContinuaCI\Server\Continua.Server.Service.exe
Faulting module path: C:\Windows\system32\msvcrt.dll
Report Id: b9388224-9fc0-11e3-9403-005056be7e52
Faulting package full name:
Faulting package-relative application ID:
I got a dump file with DebugDiag. It’s too big to upload here, so the link is below:
http://www.sendspace.com/file/v4k4zx
I found one of the dump files from yesterday’s crashes in the Windows crash report queue. I’ve uploaded to http://www.sendspace.com/file/6qvqdk
Hopefully, they’re useful.
Thanks for sending the dump files. This has been very useful in enabling us to narrow down the cause of the crash to a stack overflow when calling function GroupPrincipal.GetMembers() in dot Net Framework Directory Services. The crash is happening despite the call being wrapped in a try catch block.
To help diagnose the cause I have uploaded a build with some extra debug logging.
ContinuaCI Server v1.0.0.2965
As this seems to be related to your set up, it would be very helpful if you could run this and send us a copy of the debug log? Please email this to support@finalbuilder.com rather than posting here as the log will show names of the groups and group members.
Can you also check whether Windows Updates are up-to-date on the server?
Hi,
Thank you for emailing the debug log. Yes, it does seem to be an infinite recursion issue due to a circular reference between nested groups. I hadn’t thought that Windows would allow this possibility and I can’t think of any reason why this set up would be useful except for a testing scenario. We’ll put some checks in the code for the next build release to stop recursing any groups which have already been iterated.
Yeah, based on the group names, it looks like they were created for testing. I can’t think of a real use case either. Thanks for looking into it, Dave!
This should be fixed in the latest update.