Wednesday 25 June 2014

BizTalk - Microsoft.XLANGs.Engine - NullReferenceException

After restoring our BizTalk server's databases, we started getting the following exception whenever a new message was injected in the workflow:

Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'Exane.Pacifique.Flow.Stp.Integration.F1.Maps.OrcSplitFidessaF1(ac5c1df6-6abc-1028-2575-32e9b479eab6)'.
The service instance will remain suspended until administratively resumed or terminated.
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: 097dc51b-e2b5-43ad-a4c3-269c14f29390
Shape name: SendPivot
ShapeId: 49177e1a-66c3-4354-8d53-419cd55de9ef
Exception thrown from: segment 1, progress 34
Inner exception: Object reference not set to an instance of an object.
       
Exception type: NullReferenceException
Source: Microsoft.XLANGs.Engine
Target Site: Void Write(Byte[], Int32, Int32)
The following is a stack trace that identifies the location where the exception occured

   at Microsoft.XLANGs.Core.StringCompressionStream.Write(Byte[] byteArray, Int32 offset, Int32 count)
   at System.IO.BinaryWriter.Write(String value)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryWriter.WriteAssembly(String typeFullName, Type type, String assemblyString, Int32 assemId, Boolean isNew, Boolean isInteropType)
   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.GetAssemblyId(WriteObjectInfo objectInfo)
   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
   at Microsoft.XLANGs.Core.ObjectSerializer._serialize(Object graph, StringLookup sl)
   at Microsoft.XLANGs.Core.ObjectSerializer.SerializeStateManager(IStateManager stateMgr, StringLookup lookup)
   at Microsoft.XLANGs.Core.Service.Persist(Boolean dehydrate, Context ctx, Boolean idleRequired, Boolean finalPersist, Boolean bypassCommit, Boolean terminate)
   at Microsoft.XLANGs.Core.ServiceContext.PendingCommit(Boolean ignore, XMessage msg)
   at Microsoft.XLANGs.Core.ExceptionHandlingContext.PendingCommit(Boolean ignoreCommit, XMessage msg)
   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.SendMessage(Int32 iOperation, XLANGMessage msg, Correlation[] initCorrelations, Correlation[] followCorrelations, Context cxt, Segment seg, ActivityFlags flags)
   at Exane.Pacifique.Flow.Stp.Integration.F1.Maps.OrcSplitFidessaF1.segment1(StopConditions stopOn)
   at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

       
 For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

We restarted both our of SQL and BizTalk servers but in vain.

We succeeded in correcting the problem by redeploying all of our applications in BizTalk.





Monday 16 June 2014

BizTalk : PersistenceException exception occurred while the XLANG/s runtime enlisted a service

Error message:Exceptions.Types.PersistenceException

Possible cause: Not enough dosk space on the SQL Server hosting the BizTalk databases.

Solution: Check BizTalk databases backup sizes if stored on the same SQL Server and eventually do some disk cleanup