Getting "Unrecognized error 109 (0x6d)" which can be "fixed" by changing web.config

21k views Asked by At

I have a WCF service hosted in IIS using WAS. When I try to access this service using a net.tcp binding I get the following error:

There was an error reading from the pipe: Unrecognized error 109 (0x6d).

When using basicHttp I do not encounter the problem.

The strange thing is that I can "fix" the problem by randomly changing the web.config and saving it. The problem just vanishes until I do an IISReset or an Application Pool Recycle. It is then broken again until I change (or just save) the web.config again...

  • I have enabled tracing but that just gives the unrecognize error.
  • Rebooting doesn't help.
  • I have increased the thresholds in WCF but that didn't change anything.

The contract is really really simple with no complex types, so no serialization problems. The return message size is a string of only 12 characters

4

There are 4 answers

0
ayls On

Have a look at this...

https://learn.microsoft.com/en-ca/archive/blogs/joncole/smsvchost-exe-event-log-id-8-an-error-occurred-while-dispatching-a-duplicated-socket-this-handle-is-now-leaked-in-the-process

In my case restarting net tcp listener and port sharing service helped. The article has a nice overview of most likely causes too.

0
Pablo Castilla On

If you are using big messages you could try changing the transfer mode from buffered to streamed: http://msdn.microsoft.com/en-us/library/ms731913.aspx

It has solved our problems.

Regards

0
Iúri dos Anjos On

I have got the same error and found a solution to my case, try it out and check if it resolve yours.

In my case, there was a unrecognized data being passed through WCF. It was a enumerator that was not registered.

E.g (c#):

enum MyEnum { A = 1, B = 2 }

And then I use a MyEnum object with value 3 (any that dont exist in enum). So, WCF cant understand this value and gave me this error.

0
Ryan Rodemoyer On

I received this error because I was returning a DataTable from my service call and I did not set the TableName property.