Orchestration Debugger crashes with error “Object reference not set to an instance of an object” for one particular Orchestration

I recently came across a strange issue while using BizTalk orchestration debugger.

When I tried to open the orchestration debugger for one specific orchestration, it opened up a message box with error message “Object reference not set to an instance of an object”.
I was more curious why this happened to only this orchestration and not to any other orchestration on the same server. I verified that the orchestration is working fine in runtime
i.e., the message are flowing from this orchestration as expected. But when I tried to debug this orchestration it gave -this error message.

I took some traces and analyzed and found the stack traces as below
Object reference not set to an instance of an object. in:
at Microsoft.BizTalk.Tracking.XsymSymbolsProvider.UpdateHashTableRecursive(ShapeInfo shapeInfo)
at Microsoft.BizTalk.Tracking.XsymSymbolsProvider..ctor(StringSymbols, Boolean BuildHashTable)
at Microsoft.BizTalk.Tracking.DebugCtrl.ReadSources()
at Microsoft.BizTalk.Tracking.DebugCtrl.initControl(String sSqlSrv, String sSqlDb,String sMgmtSrv, String sMgmtDb, String sSvcInstID, String sSeq, StringForceLive)

After digging further into it, I found that this particular error message came when there are special characters present in the odx file.

When I took the orchestration odx file and opened it in notepad or xml editor, I saw these(  and  ) junk characters in the odx file. I deleted these junk characters from the file, rebuilt and
deployed the Application. After this change, now I was able to open this orchestration’s instance in the orchestration debugger without any errors.

Happy Biztalking!!

Written by
Shashidharan Krishnan

Reviewed by
Shailesh agre

Microsoft India GTSC