Operating System - OpenVMS
1828362 Members
3701 Online
109976 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.

V.V
Occasional Advisor

Re: ACMS - DIBOL Program throws 33 in Development

Hi Hein, Richard, Willem

Thanks for the direction.... I will update ASAP once i done with your suggestion.

Thanks
-VV
The Brit
Honored Contributor

Re: ACMS - DIBOL Program throws 33 in Development

I believe that the Dibol Language is now the property of "Synergex" (synergex.com). They can probably provide the current documentation for Dibol, and probably also answer your question.

I doubt that it will be free.

Dave.
Hein van den Heuvel
Honored Contributor

Re: ACMS - DIBOL Program throws 33 in Development

Right. Googling for Dibol gets you to synergex, but I could not find an obvious/free documentation link there.

fwiw, I just happened to run into the DBLRTL zip file, but that only contains the run time messages:
! .BASE 33
CHNEXC /ERROR
DBL$_TOOMNYCHN = DBL$_CHNEXC

That suggests to me that this is NOT a system resource limit, but a Dibol run time library determined condition.
Of course it could still be a 'clever' mapping of an OpenVMS error onto the 'nearest' Dibol error, but I doubt it.

If you get it to run in an interactive environment, then SET WATCH FILE/CLA=MAJOR may give clues.

Cheers,
Hein

Beth Ives
New Member

Re: ACMS - DIBOL Program throws 33 in Development

It may be obvious, but if the same program runs in one account but not another then it has to be a difference between the accounts. Invoked through ACMS might be a key, is this their menu system?

I might suggest setting FILLM to 0 (unlimited) to see if this resolves the issue. This may not be the fix, but it might provide clues as to what the problem is.

Of course, itâ s all a guess unless you can actually run the program under debug.

If you would like further assistance we may be able to help.

It may be obvious, but if the same program runs in one account but not another then it has to be a difference between the accounts. Invoked through ACMS might be a key, is this their menu system?

I might suggest setting FILLM to 0 (unlimited) to see if this resolves the issue. This may not be the fix, but it might provide clues as to what the problem is.

Of course, itâ s all a guess unless you can actually run the program under debug..


It may be obvious, but if the same program runs in one account but not another then it has to be a difference between the accounts. Invoked through ACMS might be a key, is this their menu system?

I might suggest setting FILLM to 0 (unlimited) to see if this resolves the issue. This may not be the fix, but it might provide clues as to what the problem is.

Of course, itâ s all a guess unless you can actually run the program under debug..

SynergyDE Developer Support
support@synergex.com
Phone (USA): 1 (800) 366-3472
Phone (UK): 0800 898368
Other Countries: +1916 635-7300
Fax: +1 (916) 635-6549



Hein van den Heuvel
Honored Contributor

Re: ACMS - DIBOL Program throws 33 in Development

Beth wrote (3 times :->> It may be obvious, but if the same program runs in one account but not another then it has to be a difference between the accounts.

Indeed, and most replies have been leaning into that direction.

But there is a possibility that this error 033 does NOT directly reflect an OpenVMS resource issues, but rather a Dibol run time system detected condition, which in turn may or might not depend on process resources. Perhaps a failure to properly close files.

Beth, considering you signed with "SynergyDE Developer Support", maybe you can poke at the sources or have someone poke at the sources and help describe under what circumstances this error 33 is returned and where to find more information?!
- Is it mapped from an OpenVMS Error?
- Any specific ones, or just any failure to open a file?
- Is LIB$FIND_FILE used by the RTL and can a path be constructed where FIND_FILE_END is not called?

Thanks!
Hein.

CHNEXC /ERROR DBL$_TOOMNYCHN = DBL$_CHNEXC

V.V
Occasional Advisor

Re: ACMS - DIBOL Program throws 33 in Development

Hi Guys,

Thank You Very Much for directing me in the Healthy Path. Sorry for the delay reply as I took more time to debug this very big program in both production(Quality) and development. The results confirmed that "No problem with program". Good Learning For Me :).

I have noted down mostly all the steps which i carried out (including your suggestions) with my user id. Finally I have reset my VAX/VMS user id and ACMS user id's UAF settings and also WINMGR_******* settings as same as original Post. Right now i am not getting 33 too many channels open problem with my id. I update forum Once I try the same with another user id for confirmation.

Thanks.

-VV
Richard J Maher
Trusted Contributor

Re: ACMS - DIBOL Program throws 33 in Development

Hi V.V,

Any chance of seeing the actual commands and error messages? Is this in SWLUP or ACMSATR or A.N.OTHER?

I did DIBOL for a month or so once (20 odd years ago) and don't remember "throwing" JAVA-esque, is it lib$signalled/ lib$stopped?

Where is the magic "33" coming from exactly?

Cheers Richard Maher