Page 1 of 2
OpenVMS mailbox - logging
Posted: Wed Sep 15, 2021 1:25 pm
by garyrevell
Hi all,
We've got a complex application that makes a lot of use of mailbox interprocess communication, there are many processes and differing messages.
My question are.... is there a way of seeing what messages & contents are in the mbx without actually reading them via a $QIO(W)? Perhaps there's a tool or example program that allows access to the data in an mbx via system services etc?
Thanks!
Gary
Re: OpenVMS mailbox - logging
Posted: Thu Sep 16, 2021 1:51 am
by volkerhalle
Gary,
check out the MBMON - Mailbox Monitor - written by Ian Miller:
https://eisner.encompasserve.org/~miller/
There seem to be no hooks inside [SYS]SYSMAILBX for tracing or logging.
Volker.
Added in 3 hours 21 minutes 35 seconds:
Gary,
I did a quick test: downloaded and built MBMON010 on OpenVMS Alpha V8.3. Seems to work.
You need to build the help library and define a logical, so that MBMONCP> HELP does work:
$ LIBRARY/HELP/CREATE HELPLIB mbmon.hlp
$ DEFINE HELPLIB SYS$DISK:[]HELPLIB.HLB
Created a mailbox in one session:
CHAALP $ CREATE/MAILBOX/PERMANENT/MESSAGE_SIZE=512/LOG MY_MAILBOX
%CREATE-I-CREATED, MBA124: created
CHAALP $ open/write x mba124:
CHAALP $ write x "test"
In another session:
CHAALP $ RUN mbmoncp
MBMON> monitor mba124:
Press control-C to exit
Message from 000000d4 _RTA1:, length 4
74 65 73 74
Cancel
Exiting due to control-C
MBMON> exit
Read mailbox to allow writer to complete the write operation and exit
CHAALP $ open/read y mba124:
CHAALP $ read y line
CHAALP $ sho symb line
LINE = "test"
CHAALP $ close y
CHAALP$ delete/mailbox my_mailbox
Note that you can build and use SYS$EXAMPLES:MBX$SDA.C to find information about mailboxes in the system.
Volker.
Re: OpenVMS mailbox - logging
Posted: Fri Sep 17, 2021 7:43 am
by garyrevell
Thanks Volker, this is very helpful.
I've had a look at this and managed to build a copy of MBU OK. The problem is, is that the VIEW command doesn't seem to work and so I can't see the messages queued up in the MBX.
I tried to build MBMON but get some compiler errors:
vp = refhdl.lid->ldrimg$l_nonpag_w_base;
.............................^
%CC-E-NEEDMEMBER, In this statement, "ldrimg$l_nonpag_w_base" is not a member of "refhdl.lid".
at line number 141 in file SYS$SYSDEVICE:[test.mbmon.src]mbmon_prv.c;1
vp = refhdl.lid->ldrimg$l_nonpag_w_base;
.....................^
%CC-E-NEEDMEMBER, In this statement, "ldrimg$l_nonpag_w_base" is not a member of "refhdl.lid".
at line number 239 in file SYS$SYSDEVICE:[test.mbmon.src]mbmon_prv.c;1
So a bit stuck here.
Thanks
Gary
Re: OpenVMS mailbox - logging
Posted: Fri Sep 17, 2021 8:51 am
by volkerhalle
Gary,
I didn't try MBU...
Which version and architecture of OpenVMS are you trying to build these tools on ?
Volker.
Re: OpenVMS mailbox - logging
Posted: Fri Sep 17, 2021 5:54 pm
by shael_richmond
We have always used MBOX. It works on VAX, Alpha, and Itanium.
ISPPRB_SM30PDD2> type aaareadme.txt
MBOX V1.6 15-MAY-1995 Neill Clift (
neill@macro.demon.co.uk)
It displays the mailbox messages without destroying them.
ISPPRB_SM30PDD2> mbox shael_mbx
Device: MBA23892: (SHAEL_MBX/LNM$SYSTEM_TABLE)
Channels: 0, Operations: 7, Creator: 00000000 (Nonexistent)
Total size: 50000, Remaining: 49987, Message size: 1000, Msgs: 1
Message number: 1, 13 bytes, Written by: 00000000 (Nonexistent) Waiting
33 5F325F31 5F676E69 74736574 testing_1_2_3....... 00000000
Shael Richmond
Re: OpenVMS mailbox - logging
Posted: Sun Sep 19, 2021 1:51 am
by volkerhalle
Gary,
ldrimg$l_nonpag_w_base should be declared in module LDRIMGDEF in SYS$LIBRARY:SYS$LIB_C.TLB
I need more information about your OpenVMS version to try to find out, why the compile fails on your system.
Volker.
Re: OpenVMS mailbox - logging
Posted: Mon Sep 20, 2021 9:02 am
by garyrevell
shael_richmond wrote: ↑Fri Sep 17, 2021 5:54 pm
We have always used MBOX. It works on VAX, Alpha, and Itanium.
ISPPRB_SM30PDD2> type aaareadme.txt
MBOX V1.6 15-MAY-1995 Neill Clift (
neill@macro.demon.co.uk)
It displays the mailbox messages without destroying them.
ISPPRB_SM30PDD2> mbox shael_mbx
Device: MBA23892: (SHAEL_MBX/LNM$SYSTEM_TABLE)
Channels: 0, Operations: 7, Creator: 00000000 (Nonexistent)
Total size: 50000, Remaining: 49987, Message size: 1000, Msgs: 1
Message number: 1, 13 bytes, Written by: 00000000 (Nonexistent) Waiting
33 5F325F31 5F676E69 74736574 testing_1_2_3....... 00000000
Shael Richmond
Tried using MBOX, copied it over, built it, ran it and.... BANG, crashed our Dev server....
Back to the drawing board.
Gary
Re: OpenVMS mailbox - logging
Posted: Mon Sep 20, 2021 2:01 pm
by shael_richmond
garyrevell wrote: ↑Mon Sep 20, 2021 9:02 am
Tried using MBOX, copied it over, built it, ran it and.... BANG, crashed our Dev server....
Back to the drawing board.
Gary
; V01-007 Neill clift <
neill@macro.demon.co.uk>␉␉15-MAY-1995
; Display creator of mailbox if its a temporary.
; V01-008 Neill clift <
neill@macro.demon.co.uk>␉␉22-MaY-1996
; Update for 64 bit ACB fields. Truncate to 32 bits anyway!
; V01-009 Volker Halle <
volker.halle@invenate.de> 14-Aug-2005
; Support new mailbox size > 64k (V7.3-1 or higher)
We also had to make a small change to deal with message size.
Shael
Re: OpenVMS mailbox - logging
Posted: Tue Sep 21, 2021 2:58 am
by volkerhalle
Gary,
the full comment of my change V01-009 is:
Code: Select all
; V01-009 Volker Halle <volker.halle@invenate.de> 14-AUG-2005
; Support new mailbox size > 64k (V7.3-1 or higher)
; and also update old fields UCB$W_xxxQUO for consistency.
; Disable undocumented /SIZE qualifier as it caused
; a KRNLSTAKNV crash on OpenVMS I64 V8.2
What kind of MBOX commands did you use on your Dev server and what kind of crash did you get ? Have a look at the CLUE$COLLECT:CLUE$node_ddmmyy.LIS file.
Please provide more information, also on the MBMON compilation problem.
Volker.
Re: OpenVMS mailbox - logging
Posted: Tue Sep 21, 2021 4:30 am
by garyrevell
Hi Volke,
I think I sent you a private message regarding the compilation problem, not sure if you received it?
Regards
Gary