1

I have an infopath form I'm trying to publish and it causes the CPU usage to spike to 100% for over 10 minutes or until I kill the process.

The form isn't overly complicated as it just has 3 cascading drop down lists that pull data from 3 lists that have less than 10 items in each list.

Removing one of the drop downs (doesn't matter which one) allows me to publish without any problems.

I checked fiddler and its seems to be hanging on a call to FormsService.asmx method: BrowserEnableUserForm

Using proccess monitor i took a dump of the w3wp that was spiking and this seems to confirm it:

Microsoft.Office.InfoPath.Server.Util.StackEx1[[System.__Canon,mscorlib]]..ctor(Microsoft.Office.InfoPath.Server.Util.StackEx1) Microsoft.Office.InfoPath.Server.Util.SchemaNavigator+Ancestors..ctor(Ancestors) Microsoft.Office.InfoPath.Server.Util.SchemaNavigator.MoveTo(Microsoft.Office.InfoPath.Server.Util.SchemaNavigator) Microsoft.Office.InfoPath.Server.Util.SchemaNavigator.Clone() System.Xml.XPath.XPathNodeIterator+Enumerator.get_Current() Microsoft.Office.InfoPath.Server.XPath.ExpressionGenerationVisitor.IsInnerNode(Microsoft.Office.InfoPath.Server.Util.ViewPath, System.Collections.Generic.Dictionary`2>) Microsoft.Office.InfoPath.Server.XPath.ExpressionGenerationVisitor.GetViewPathsForAstNode(Microsoft.Office.InfoPath.Server.XPath.AstNode) Microsoft.Office.InfoPath.Server.XPath.ExpressionGenerationVisitor.OutputSelect(Microsoft.Office.InfoPath.Server.XPath.AstNode) Microsoft.Office.InfoPath.Server.XPath.ExpressionGenerationVisitor.VisitAxis(Microsoft.Office.InfoPath.Server.XPath.Axis, Microsoft.Office.InfoPath.Server.XPath.AstNode) Microsoft.Office.InfoPath.Server.XPath.ExpressionGenerationVisitor.VisitAstNode(Microsoft.Office.InfoPath.Server.XPath.AstNode)

The ULS log contained no errors but the last line the Form Services writes to the log is: InfoPath Forms Services Conversion and Deployment 93xm Verbose Recursion: Leaving annotating schemas.

How can I solve this?

4
  • How do you pull the data for the cascading drop-downs? Do you filter the list or do you set a query parameter on the data source and query the data source?
    – teylyn
    May 9, 2013 at 8:35
  • Filtering the list
    – Aaron
    May 10, 2013 at 1:55
  • Have you installed the latest April 2013 CU for SharePoint? If so, could it be causing this. May 10, 2013 at 3:13
  • No I haven't, the current patch level is December 2012 my next step is to apply the April CU although i did not see any mention of this issue being resolved
    – Aaron
    May 10, 2013 at 5:38

1 Answer 1

0

we are experiencing the same issue, we have recently installed April 2013 CU. The client said that the forms were working properly prior to that, but I cannot confirm that. We had applied the patch a week earlier in UAT but the client had removed the forms from UAT (not sure why).

The issue only seem to happen with 3 forms. In this instance all 3 forms were using multiple connection files (UCDX), all connections were to a SQLEXPRESS DB, the queries in there were select * from table name. The provider used was SQLOLEDB (plus usual connection string details).

What we found was that on the Form load it was trying to pull a lot of data from the SQLEXPRESS DB, once we removed all the connctions and tested with one connection, it seems to work fine. I think it on Form load it was trying to load information from too many tables or trying to load a load of data, I have asked the developer to change the design so you only load what you need and when you need it.

So I would suggest checking your data connection files and see if it is similar to our case, also in Central admin > General application settings > InfoPath path congiuration > Check the data response size (not exactly sure what this is called) perhaps this needs to be increased (temp solution).

Now, the client mentioned that it used to work fine prior to the update, I am wondering if they added data to the databae which was just enough to break this form. I will investigate this further and update this post.

Also, try to restrict the worker process to use 2 cores (setting processor affinity) this way it will not bring the whole farm down in case someone issues a request to the form.

Good luck,

(Talk to you on Monday :))

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.