Solved

Problem with running out of named pipe instances

Posted on 1998-03-04
6
570 Views
Last Modified: 2013-12-23
In the process of running and debugging an application that makes named pipe requests to a named pipe server, I was getting an error indicating that the pipe was busy.  It appears that all of the named pipe instances were in use.  Is there any way to see what is using all of the instances.  Also, is there any way to increase the number of instances that NT allows (i.e. registry value).
0
Comment
Question by:dhoman
  • 4
  • 2
6 Comments
 
LVL 1

Expert Comment

by:kuk010998
ID: 1571247
From Resource Kit Message Reference:
"All pipe instances are busy.
[Kernel32]
The pipe cannot be accessed because another process is using it.
Try the operation again later
"

Sounds like your message. So your app has opened the pipe, and has not closed it. Either you caused this by forgetting close calls, by skipping the close, or by stopping the app. You´d need to end the *process* that holds these opened pipes - possibly with restarting the debugger. Also, think about opening the pipe with different share options.

Some misc stuff:
Registry entries for workstation service described in Q102981 - timeouts for nonblocking requests where there is no data available.
"Limit of 49 Named Pipe Connections from a Single Workstation" = KB Q141709.

Other than Server Manager, I know of no way to " see what is using all of the (pipe) instances" but perhaps the www.ntinternals.com guys have something.

Good luck.

0
 
LVL 1

Expert Comment

by:kuk010998
ID: 1571248
You should *definitely* check http://www.ntinternals.com/nthandlex.htm.
0
 

Author Comment

by:dhoman
ID: 1571249
What determines how many pipes are available.  Does the pipe server controller this.  Does NT control how many pipes are available per process.  If it is controlled by the pipe server, how do you set it progammatically.  If its controlled by NT is there any way to set it via the registry
0
VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

 
LVL 1

Expert Comment

by:kuk010998
ID: 1571250
I do not think there is an inherent limit to the number of pipes per se. The server does limit the number of pipe connections *per client*, that´s what Q141709 says. You can push this limit by setting HKLM\System\ccs\Services\LanmanServer\Parameters\MaxMpxCt REG_DWORD on the pipe server (thought you´d get this out of Q141709 yourself, never hurts to read KB articles in full detail), but the range for this value is only 1 to 100, so you won´t gain too much. As pipes are implemented as pseudo-filesystem (npfs - just like msfs are the mailslots) you should experience more or less the same limits as with open file handles....

Nevertheless, I still think your program should not need more than one instance per pipe, and that you should check your debugging habits, Close calls, and sharing approach...
0
 
LVL 1

Accepted Solution

by:
kuk010998 earned 200 total points
ID: 1571251
I do not think there is an inherent limit to the number of pipes per se. The server does limit the number of pipe connections *per client*, that´s what Q141709 says. You can push this limit by setting HKLM\System\ccs\Services\LanmanServer\Parameters\MaxMpxCt REG_DWORD on the pipe server (thought you´d get this out of Q141709 yourself, never hurts to read KB articles in full detail), but the range for this value is only 1 to 100, so you won´t gain too much. As pipes are implemented as pseudo-filesystem (npfs - just like msfs are the mailslots) you should experience more or less the same limits as with open file handles....

Nevertheless, I still think your program should not need more than one instance per pipe, and that you should check your debugging habits, Close calls, and sharing approach...
0
 

Author Comment

by:dhoman
ID: 1571252
Thanks for the help.
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

We recently endured a series of broadcast storms that caused our ISP to shut us down for brief periods of time. After going through a multitude of tests, we determined that the issue was related to Intel NIC drivers on some new HP desktop computers …
Resolve DNS query failed errors for Exchange
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question