2

during development of a tridion TBB, i stumbled upon a weird error. I uploaded a new version of my TBB dll, and tried to preview one of my pages to check the result, and i got this error

XmlResponder failed render request : 
        <tcmapi:Message version="6.0" from="Anguilla" xmlns:tcmapi="http://www.tridion.com/ContentManager/5.0/TCMAPI">
  <tcmapi:Response ID="65093962-14d3-4c81-ac4b-b74fe4b9582f" success="false" xmlns:tcmapi="http://www.tridion.com/ContentManager/5.0/TCMAPI">
    <tcmapi:Error>
      <tcm:Error ErrorCode="80040000" Category="18" Source="mscorlib" Severity="1" xmlns:tcm="http://www.tridion.com/ContentManager/5.0">
        <tcm:Line ErrorCode="80040000" Cause="false" MessageID="16138"><![CDATA[Unable to get rendered content of Page (tcm:11-23220-64).]]></tcm:Line>
        <tcm:Line ErrorCode="80040000" Cause="true">
          <![CDATA[The file exists.
 ]]>
        </tcm:Line>
        <tcm:Details>
          <tcm:CallStack>
            <tcm:Location>System.IO.__Error.WinIOError(Int32,String)</tcm:Location>
            <tcm:Location>System.IO.__Error.WinIOError()</tcm:Location>
            <tcm:Location>System.IO.Path.InternalGetTempFileName(Boolean)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.CompileAssembly(String)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.Transform(Engine,Template,Package)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template,Package)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package,TemplateInvocation,Template)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Compound.CompoundTemplateMediator.Transform(Engine,Template,Package)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template,Package)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package,TemplateInvocation,Template)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Compound.CompoundTemplateMediator.Transform(Engine,Template,Package)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template,Package)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package,TemplateInvocation,Template)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Engine.TransformPackage(Template,Package)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.Engine.TransformItem(Template,IdentifiableObject)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Templating.TemplatingRenderer.Render(ResolvedItem,PublishInstruction,PublicationTarget,RenderedItem,RenderContext)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Publishing.Rendering.RenderEngine.Render(ResolvedItem,PublishInstruction,PublicationTarget,RenderContext)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Publishing.Rendering.RenderEngine.Render(IdentifiableObject,Template,PublishInstruction,PublicationTarget,RenderContext)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Publishing.Rendering.ComWrapper.RenderEngineFacade.RenderItemWithTemplate(IdentifiableObject,Template,PublishInstruction,PublicationTarget,RenderContext)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Publishing.Rendering.ComWrapper.RenderEngineFacade.RenderItemWithTemplate(IdentifiableObject,Template,String)</tcm:Location>
            <tcm:Location>Tridion.ContentManager.Publishing.Rendering.ComWrapper.RenderEngineFacade.RenderPage(UserContext,String,String,String)</tcm:Location>
            <tcm:Location>UtilitiesPublish.RenderPage</tcm:Location>
            <tcm:Location>Page.Render</tcm:Location>
            <tcm:Location>Request.Render</tcm:Location>
          </tcm:CallStack>
        </tcm:Details>
      </tcm:Error>
    </tcmapi:Error>
  </tcmapi:Response>
</tcmapi:Message>

2 Answers 2

6

After some investigation, it turns out there is nothing wrong with my code, but the problem comes from windows. In the callstack we can see there is a call to the function

System.IO.Path.InternalGetTempFileName(Boolean)

This function takes care of creating a unique temp file in the c:\windows\temp directory. After inspection of this directory on my CM (development) server, I noted that this folder contained about 240000 temp files. After moving these temp files (i didn't want to delete them), the error no longer appeared.

So, i should set a rule to periodically clean up this temp folder. I'm wondering why tridion wouldn't clean up these files

4
  • That is indeed unusual - I don't have that on my servers. Maybe they're left behind because the process crashed somehow and didn't clean it as expected? Maybe as result of debugging efforts?
    – Nuno Linhares
    Commented Nov 15, 2013 at 17:30
  • 240K temp files? Yikes, that's a lot. Since you found the answer to your own question, can you accept it (by clicking the check mark to its left)? Commented Nov 15, 2013 at 23:04
  • Hi Harald - with regards the temp files - do these appear to have been created recently, in a batch/time frame? Commented Nov 16, 2013 at 16:21
  • Same issue with us, we could not upload new files, finish workflows, or even preview. Our fix was not only the Temp drive for upload but the AppData > Local > Temp for the "MTS User" needed to be cleaned up as well. C:\Users\[MTSUser]\AppData\Local\Temp Commented Sep 15, 2014 at 18:13
1

After doing some google search, I came to know that

The Temp directory having more than 65,353 folders, will start causing this issue.

As @Harald said, it requires periodical clean up.

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.