<{{Subtitle_Weight}} class="prominent-subhead {{Show_Subtitle}}"> {{Header_Subtitle}}

Unable to edit K2 Forms

~~repeating-content.html~~
This article was created in response to a support issue logged with K2. The content may include typographical errors and may be revised at any time without notice. This article is not considered official documentation for K2 software and is provided "as is" with no warranties.
LEGACY/ARCHIVED CONTENT
This article has been archived, and/or refers to legacy products, components or features. The content in this article is offered "as is" and will no longer be updated. Archived content is provided for reference purposes only. This content does not infer that the product, component or feature is supported, or that the product, component or feature will continue to function as described herein.

Issue

Unable to edit a form, the spinner appears until the request times out. New forms and most of the existing forms are editable.

Symptoms

The SQL server process eats up all the CPU resources. Finally after a while, a server error appears: "Request timed out".

Troubleshooting Steps

Usually this issue is related to the size of the form being edited and can be resolved by increasing maxRequestLength or by adding maxAllowedContentLength. But in this case the root cause was different.

Execute the following query against the K2 DB:


DECLARE @User NVARCHAR(448)
SET @User = N'K2:Domain\UserName'
SELECT [FQN] ,[Type] FROM [Identity].[GetIdentityAndContainers]([Identity].[GetIdentityIdFromName](@User, NULL, 1)) AS ic
WHERE [Enabled] = 1 -- Ignore disabled users or groups
AND
[Type] <> 2 --Roles not supported  



The query timed out, so we went through the Identity.Identity and Identity.Identitymember and noticed there are circular references in AD groups for example K2Dev group is a member of itself.
After cleaning up the offending groups and refreshing the identity cache using the ForceIdentityRefresh tool, it resolved the issue.

K2 will implement a mechanism to handle circular references in a future update.