Strange output from 'sin fds'.

Hi. While attempting to debug some strange file-inheritance-related
problems, we noticed that we were getting some strange output from the
‘sin fds’ command. In particular, we were getting things like this:

//1/project/bin/netman 4416
0 -//1 U 0.0.0.0.1074 0.0.0.0.0 N/A
3C-//1/dev/shmem/
4C-//1 [^B]
VC to //2 4468 //1//replay-server <->
//1/project/bin/cabi
5 -//1 (4222)
6 -//1 (4222)
VC to //3 5040 //1/
/replay-server <->
//1/*/bin/vdmapi
5 -//1 (4222)

There are several problems (or at least items we don’t understand) in
the above listing.

  1. Why does fd 4 show up as [^B]? This is a connection to exec, one of
    our servers. Everything works fine (in terms of communication), just
    why is this not displayed as a name or pid?

  2. Why are there two fd 5s?

  3. The VCs are seemingly coming from thin air; we don’t create them,
    and they aren’t inherited from anywhere. We suspect that we’re somehow
    corrupting the OS’s internal tables. Is this possible/reasonable?

I can post more details if necessary, but I’m interested in if anyone
has any quick reactions to this output. Thanks.

Josh Hamacher
FAAC Incorporated

“Josh Hamacher” <hamacher@faac.com> wrote in message
news:3BB234DA.8070704@faac.com

Hi. While attempting to debug some strange file-inheritance-related
problems, we noticed that we were getting some strange output from the
‘sin fds’ command. In particular, we were getting things like this:

//1/project/bin/netman 4416
0 -//1 U 0.0.0.0.1074 0.0.0.0.0 N/A
3C-//1/dev/shmem/
4C-//1 [^B]
VC to //2 4468 //1//replay-server ←
//1/project/bin/cabi
5 -//1 (4222)
6 -//1 (4222)
VC to //3 5040 //1/
/replay-server ←
//1/*/bin/vdmapi
5 -//1 (4222)

There are several problems (or at least items we don’t understand) in
the above listing.

  1. Why does fd 4 show up as [^B]? This is a connection to exec, one of
    our servers. Everything works fine (in terms of communication), just
    why is this not displayed as a name or pid?

What is its actual name?

Why are there two fd 5s?

The numbers can be the same between different programs. for instance 0,1,2

are
stdin, stdout, and stderr for programs using terminal devices. Since these
are
different virtual circuits started by seperate programs the file descriptor
number
can be the same.

  1. The VCs are seemingly coming from thin air; we don’t create them,
    and they aren’t inherited from anywhere. We suspect that we’re somehow
    corrupting the OS’s internal tables. Is this possible/reasonable?

Are you accessing resources on nodes 2 and 3, such as files? What are your

communications between nodes doing? VC do not come out of thin air, your
applications might be using system calls to OS processes on other nodes.

I can post more details if necessary, but I’m interested in if anyone
has any quick reactions to this output. Thanks.

Josh Hamacher
FAAC Incorporated