Operating System - OpenVMS
1753682 Members
5428 Online
108799 Solutions
New Discussion юеВ

Re: ACMS - DIBOL Program throws 33 in Development

 
SOLVED
Go to solution
V.V
Occasional Advisor

ACMS - DIBOL Program throws 33 in Development

Hi,

A DIBOL Program executable run successfully at production and not in development. This DIBOL program gets invoked thru ACMS. In development it throws 33 too many channels open run time error. But the program contains only 90 channels which is < max 255 limit.

I have verified the "UAF> Show Username" against an existing production account.
My current account settings are.....
Maxjobs: 0 Fillm: 400 Bytlm: 1000000
Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0
Maxdetach: 0 BIOlm: 120 JTquota: 15000
Prclm: 8 DIOlm: 120 WSdef: 15000
Prio: 4 ASTlm: 150 WSquo: 16384
Queprio: 4 TQElm: 10 WSextent: 524288
CPU: (none) Enqlm: 2000 Pgflquo: 1000000

Whenever changes in UAF for the user, ACMS Stop and Start activities done. but still the same problem 33 - too many channels open...

Any sugeestion please......

Thanks

-VV
16 REPLIES 16
RBrown_1
Trusted Contributor

Re: ACMS - DIBOL Program throws 33 in Development

You did not provide the exact error message, but if you HELP/MESSAGE the error code it might tell you that you need to increase the CHANNELCNT system parameter.
The Brit
Honored Contributor

Re: ACMS - DIBOL Program throws 33 in Development

I have seen a similar issue occur at our site, (dont remember the exact error)

The program, if I remember correctly, was doing something like sending email using a distribution list. The problem was that the distribution list contained itself as an entry.

This caused a loop of some kind and caused the program to exceed the maximum number of channels open.

I'm not saying this is your problem, however it might get you thinking in the right direction.

HTH

Dave.
Jim_McKinney
Honored Contributor

Re: ACMS - DIBOL Program throws 33 in Development

Perhaps you've already done so, but, if you haven't, you might confirm that you don't have some sort of case such as Dave described by using SDA to see how many open files remain and which channels are actually open on a running process.

$ analyze/system
SDA> show proc/id=xxxxxxxx ! replace x's with PID
SDA> show proc/chan
SDA> exit

I too have observed and fixed programs that misbehave and bleed channels - one instance that comes to mind occurred when a program repeatedly trapped some unexpected condition and looped back around opening a channel to the same object while neglecting to close the original channel - repeat until channel exhaustion. fwiw...
V.V
Occasional Advisor

Re: ACMS - DIBOL Program throws 33 in Development

Hi Guys,

Thanks for the different possible suggestion.

I have ensured that
A. CHANNELCNT - 16384 (SYS$SYSTEM:MODPARAMS.DAT)
B. the program is not falling under "Infinite Loop". and No Mail activities. The DIBOL Program does I/O Operation with 90 files.
C. Analyse/System - 16 channels open at the time of running the DIBOL Program thru ACMS.
I have added the following lines to list the number of channel open
Open (CHVVTEST, 'O', 'olw:CHtest.seq')
FOR TESTCHN FROM 1 THRU 250
IF (%CHOPEN(TESTCHN))
BEGIN
TESTCHN_A = TESTCHN
WRITES(CHVVTEST,TESTCHN_A)
END
It results the same 90 channels opened.

I am analysing the problem. Please share if you have any suggestion. Once i get a solution, I post it in the forum. Thanks you very much.
RBrown_1
Trusted Contributor

Re: ACMS - DIBOL Program throws 33 in Development

"I have ensured that
A. CHANNELCNT - 16384 (SYS$SYSTEM:MODPARAMS.DAT)"

$ MCR SYSMAN PARAMETERS SHOW CHANNELCNT
?

V.V
Occasional Advisor

Re: ACMS - DIBOL Program throws 33 in Development

Hi RBrown,

$ MCR SYSMAN PARAMETERS SHOW CHANNELCNT
gives the below result...

Parameter Name Current Default Minimum Maximum Unit Dynamic
-------------- ------- ------- ------- ------- ---- -------
CHANNELCNT 16384 256 31 65535 Channels

Thanks.

-VV
Willem Grooters
Honored Contributor

Re: ACMS - DIBOL Program throws 33 in Development

It's been some time and I don't have all details at hand, but I know that the behavior of a Dibol environment is influenced by logical Dibol_options (IIRC, something similar, anyway). It it all works in one environment and not in another, it's a good idea to chech this logical.
Willem Grooters
OpenVMS Developer & System Manager
Richard J Maher
Trusted Contributor

Re: ACMS - DIBOL Program throws 33 in Development

Hi V.V,

Do the server usernames have the same access to the directories/files on dev/test as they do in production? (UIC group SOGW ACLs etc)

Cheers Richard Maher
Hein van den Heuvel
Honored Contributor
Solution

Re: ACMS - DIBOL Program throws 33 in Development

I could not readily find Dibol documentation online. Not at the usual suspected such as sysworks.com.au or perhaps with Bruce C @ http://www.migrationspecialties.com/CBL.html

It probably does not matter, but what versions are you using for Dibol, VMS, ACMS?

What is a typical full file name as provided? Logical name involved? Search list involved?

You mention 'username'. But with ACMS there are several usernames in play. The one that matters is probably the username used for the procedure server process. Is that the one you checked?

Is it possible for you to run your test in production? It is probably relevant to know whether the production box would fail with just a few more files open, or with many more open files (whatever the documented Dibol max is). If production fails with just a few more files, then the difference could be a extra library or message file being activated or not.

>> Analyse/System - 16 channels open at the time of running the DIBOL

That doesn't make much sense.. unless this is strictly a Dibol runtime event, and not a system resource issues.
Can you change the test program to go to sleep when there are 89 channels open and repeat the ANALYZE/SYS... SHOW PROC/CHANNEL?
Maybe you see non-file disk channels for each time the file is opened? That could be a mismanaged file context in LIB$FIND_FILE before getting to the open.

Hope this helps some,
Hein.