1752836 Members
3371 Online
108789 Solutions
New Discussion юеВ

Re: SYMBIONT_xxx

 
SOLVED
Go to solution
Wim Van den Wyngaert
Honored Contributor

Re: SYMBIONT_xxx

The queue manager is well aware of which process is handling which queue because it starts the process when needed and stops the queue(s) when you kill the process.

It would be a nice 8.2+ feature to return the pid as an item in f$getq.

Wim
Wim
Jan van den Ende
Honored Contributor

Re: SYMBIONT_xxx

So,

if I get 5 "Me too" votes, I will make it a formal request to Guy Peleg.
Count Wim as 1, and me as 2.

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
Wim Van den Wyngaert
Honored Contributor

Re: SYMBIONT_xxx

And add /symbiont to show que. This should give the name and process id of the symbiont.

Wim
Wim
Ian Miller.
Honored Contributor

Re: SYMBIONT_xxx

me too :-)

Try adding it at
http://www.hpuseradvocacy.com/
____________________
Purely Personal Opinion
Art Wiens
Respected Contributor

Re: SYMBIONT_xxx

Antonio, All the BG devices are owned by SYSTEM with the exception of two (TCPware_FTP and TCPware_NETCP) so that doesn't tell me.

There has to be a way other than Volker's "brute force" search through memory.

How about the reverse then, from a given queue, how do you determine which symbiont is running it?

On the system in question which started out with 15 SYMBIONT_xxx processes, now has 30 listed.

Cheers,
Art
Art
Antoniov.
Honored Contributor

Re: SYMBIONT_xxx

Art,
I've got a different system from you, so I'm not able to see same environment.
If you need to search all owner of BG devices which have process name beginning with SYMBIONT look at attached DCL procedure. It's just an example.

Antonio Vigliotti
Antonio Maria Vigliotti
Volker Halle
Honored Contributor

Re: SYMBIONT_xxx

Art,

which symbionts are your queues running (SHOW QUE/FULL queue will list the image as /PROCESSOR=xxx) ?

Do the symbionts have logfiles (SDA> SHOW PROC/CHAN/ID=) ? Do the logfiles tell you something ?

If the no. of symbionts keep increasing, you might be forced to use what you call my 'brute force attack' ;-)

If TCPware does not allow you to find the remote IP address associated with a BG device, the only place this information (queue <-> symbiont) can be located may be in the QUEUE_MANAGER (memory or qmgr database) or in the memory of the symbionts.

When re-thinking my SDA approach, I had to recognize, that it's not the BG device name, that's stored in the PSM$Q_DEVICE_NAME field of the SCB, but the string specified with the /ON=xxx qualifier of the queue. Once we've located the SCB vector inside SMBSRVSHR.EXE, it's getting easy to obtain the DEVICE_NAME for each SCB.

Volker.

Volker Halle
Honored Contributor

Re: SYMBIONT_xxx

Art,

the SCB type and size (Stream Control Block) did not change since a couple of VMS versions, so you should be able to easily locate the SCB in P0 address space of your print symbionts:

SDA> SET PROC/IND=
SDA> SHOW PROC/IMAGE
! verify that SMBSRVSHR is listed, if not - forget this method

SDA> SHOW PROC/PHD
First free P0 VA 00000000.002EC000 ...
...
SDA> SEA 0:2EC000 02E80103 ! use P0 addr from above
...
Match at 00000000.001D87A8 02E80103
...

SDA> def scb=001D87A8-8
SDA> exa @(scb+58);@(scb+54)&ff-1
3131313A 312E312E 312E3122 4000001A ...@"1.1.1.1:111 001BAB08
SDA> exa @(scb+68);@(scb+64)&ff
001B8010 40000012 54534554 40000012 ...@TEST...@.... 001B8800

(I had created a queue name TEST with /on="1.1.1.1:111" to easily locate the ASCII string in P0 space).

Repeat these step (starting with DEF SCB=xxx) for all matches found and you'll get the list of all queues and their /ON=xxx strings for this symbiont.

Volker.
Art Wiens
Respected Contributor

Re: SYMBIONT_xxx

Volker, where does the value you're searching for come from? (02e80103)

When I do a SHOW PROC/IMAGE I do see SMBSRVSHR:

SMBSRVSHR 000D2000 001537FF GLBL SHR 7FF38D20

and from SHOW PROC/PHD I see:

First free P0 VA 00000000.0045E000

I think we're almost there ... you will be handsomely rewarded with "points" shortly ;-)

Cheers,
Art

ps. the queues' processor are either DCPS$SMB or TCPWARE_TSSYM
David Jones_21
Trusted Contributor

Re: SYMBIONT_xxx

On my system, the DCPS symbiont creates logicals of the form DCPS$_queuename_PID in the system logical name table for every DCPS queue running. The equivalence string of the logical is the PID of the corresponding symbiont process.
I'm looking for marbles all day long.