Can a very large schema cause an OutOfMemory exception?

Greetings,

I have a BizTalk project that must process an input message originating in Lotus Notes. The Lotus Notes schema is approximately 330K. When I try to build my BizTalk project I get the following error after 15 minutes or so:

Build failed. Compiler for file type '*.btm' failed. Exception of type 'System.OutOfMemoryException' was thrown.

The schema is the "offical" schema for Lotus Notes and not something that I created myself. My workstation has 4GB of memory. I observe that the devenv.exe process maxes out at approximately 1.25GB about 10 minutes before the build fails.

Is BizTalk unable to process a schema of this size? Can someone suggest a workaround to make this work?

Thanks,

BCB

[1234 byte] By [BlackCatBone] at [2008-1-7]
# 1

This is not that large a schema at all. I have dealth with much larger ones (from SAP etc).

This is a compile time error. Most likely the schema is invalid or bad - or more likely nested very deep.

Did you check your %biztalk_install%\Developer Tools\Mapper Extensions folder for unnecessary or bad functoids dlls?

CodeDigger at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 2

The folder you mentioned contains only one dll - Microsoft.BizTalk.CrossReferencingFunctoids.dll - which I assume is OK. I used the Validate Schema option and got an OK message. The schema is supposed to be the vanilla schema from IBM so I imagine it is structurally sound.

The schema may fall into the "nested very deep" category that you mentioned in your response. How many levels would you consider to be dangerously deep? And is there any way to trouble shoot a case like this where the build fails and the schema is so large?

Thanks for your response.

BlackCatBone at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 3

For this issue please find the fix from the following url. This fix is for BizTalk Server 2004. What is your BizTalk sever version? If it is BizTalk Server 2006, this issue should have been fixed.

http://support.microsoft.com/kb/884062/

Go through the following urls for your knowledge base.

http://support.microsoft.com/kb/839440/en-us?spid=1444&sid=global

http://geekswithblogs.net/sthomas/archive/2004/08/17/9855.aspx

Thanks,

Saravana Kumar

SaravanaKumar_1977 at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 4

Saravana,

Unfortunately, my version is 2006 and I still am having this problem. Any other ideas about what might be causing the problem?

Thanks,

BCB

BlackCatBone at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 5

HI,

We have faced this issue in BizTalk Server 2004. Please talk to BizTalk Server Technical support teams for the issue. This one might be an issue with BizTalk Server 2006.

Thanks,

Saravana Kuma

SaravanaKumar_1977 at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 6

The answer is "Yes", as Microsoft acknowledges. I was able to overcome this problem by hand-editing my map file (.btm) with Notepad and changing the value of the GenerateDefaultFixedNodes attribute to "No", as shown below.

<mapsource Name="BizTalk Map" BizTalkServerMapperTool_Version="2.0" Version="2" XRange="100" YRange="420" OmitXmlDeclaration="Yes" TreatElementsAsRecords="No" OptimizeValueMapping="No" GenerateDefaultFixedNodes="No" CopyPIs="No" method="xml" xmlVersion="1.0" IgnoreNamespacesForLinks="Yes">

It is not possible to change this attribute value in Visual Studio.

Link to the article suggesting this approach:

http://www.kbalertz.com/917839/experience.exceptions.Visual.Studio.responding.validate.BizTalk.Server.aspx

BlackCatBone at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...