[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ilbbak::ibi_focus

Title:FOCUS, from INFORMATION BUILDERS
Moderator:ZAYIUS::BROUILLETTE
Created:Thu Feb 19 1987
Last Modified:Mon May 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:615
Total number of notes:1779

429.0. "Help FOC417!!" by VICTOR::BROOKERN (Curiouser and Curiouser) Fri Jul 05 1991 10:59

    I have a focus user who is trying to run a report.
    The first time she runs the report it works ok.
    The second time she gets
    
    [FOC417] Additional memory required
    
    Her parameters are as follows
    
    Maxjobs:         0  Fillm:       100  Bytlm:        80000
    Maxacctjobs:     0  Shrfillm:      0  Pbytlm:       20000
    Maxdetach:       0  BIOlm:       150  JTquota:       5000
    Prclm:          20  DIOlm:       100  WSdef:         2000
    Prio:            4  ASTlm:       800  WSquo:         3000
    Queprio:         0  TQElm:       200  WSextent:     36000
    CPU:        (none)  Enqlm:      5000  Pgflquo:      60000
    
    she does not seem to be exceeding any quotas.
    
    Can you tell me what it is talking about and why it only happens the
    second time around. Also why has this error message been left out 
    of the focus manuals.
    
    Regards Nick.
T.RTitleUserPersonal
Name
DateLines
429.1-Looks like PGFLQUOTA problemSHIPS::CARSE_DFri Jul 05 1991 12:3922
    
    Hi there Nick,
    
    Online help in FOCUS V6.1 shows the following:
    
    (FOC 417) ADDITIONAL MEMORY IS NEEDED
    Page file quota may need to be increased for this application.
    
    Your user's PGFLQUOTA of 60000 seems pretty high anyway - is the
    report accessing an exceptionally large database ?? Is the system
    page file too small ??
    
    The text for quite a few FOCUS error messages (especially the Rdb
    related ones) was missing from the FOCUS V5.2.* documentation. This
    seems to have been largely corrected in V6.1.
    
    I hope the report isn't something I wrote -).
    
    Regards,
    
    David
    
429.2I wonderVICTOR::BROOKERNCuriouser and CuriouserFri Jul 05 1991 13:1815
    Hi Dave
    
    Not Dave Carse of Crescent/Focus/Fire fame
    
    I dont think it is page file quota. I did an analyse/system and showed
    the free page file quota which was 40000ish. Also the page file has
    plenty of free space. 
    
    Again why does it happen the second time, does it
    not release its virtual memory after each run. Is this a bug in
    Focus I wonder. Have you experienced anything similar.
    
    The Focus version is 5.2.3.
    
    Regards Nick.
429.3Yes, it's meSHIPS::CARSE_DMon Jul 08 1991 06:1225
    
    >> Not Dave Carse of Crescent/Focus/Fire fame
    
    The very same..!
    
    Does this problem occur every time the user runs the report twice in
    succession ?
    
    I'm not privy to the FOCUS internal code so I can't say if there is a
    bug in FOCUS not releasing virtual memory. However, the recommended
    *process* quotas for running FOCUS are fairly modest, so I'd guess
    that they have this covered. It could be a *system* quota though that
    is being exhausted - FOCUS is pretty good at suppressing VMS messages
    and substituting one of its own that may or may not have bearing on
    the actual error !
    
    Would it be possible to monitor the process running the reports to see
    if it exceeds any *process* quotas ? (You used to have a procedure
    called LOOK.COM to do this - I still have a copy if you haven't.)
    
    If you need to contact me offline you can phone 7782-2834 or send
    mail to FUTURS::CARSED.
    
    Regards  -  David
    
429.4same problem in 384.MLNAD0::FERRARIFMon Jul 08 1991 11:549
	Plese,
	
	note also #384 in this conference.
	It is relate to the same problem.

	Thanks
	Fabio.                     
    
429.5fixed but I dont know whyRDGE42::BROOKERNCuriouser and CuriouserThu Jul 11 1991 12:3828
    No real explanation for what was going on. Changing the procedure
    to look like the following fixed the problem. An initial -RUN
    was added after the FILEDEF.
    
    VMS DELETE COSJUN.DOC;1
    FILEDEF FIN_DATA DISK F2$FIL_RETAIL
    SET LINES = 54
    -RUN
    -*
    TABLE FILE FIN_DATA
    SUM BALANCE
    BY CC_ROLLUP_2   SUB-TOTAL PAGE-BREAK
    BY EFFORT   SUB-TOTAL
    BY ACCOUNT   SUB-TOTAL
    BY BOOKING_CODE
    BY COST_CENTRE
    IF EFFORT EQ '031'  OR '071'  OR '004'  OR '005'  OR '006'  OR '277' OR
    '032'
    IF ACCOUNT GE '006000'
    IF ACCOUNT LE '006999'
    IF FISCAL_MONTH EQ '12'
    HEADING CENTER
    "FACTS2 JUNE REGIONAL COS"
    "------------------------"
    ON TABLE HOLD AS COSJUN FORMAT DOC
    END
    -RUN
    
429.6a Workaround.MLNAD0::FERRARIFFri Aug 30 1991 06:4751
	Hi

	The problem is still occurring after putting some -RUN 
	in the procedure (where the syntax needs it).

	A further check I did on system is the VIRTUALPAGCNT
	parameter in SYSGEN. Also having it very high, 
	nothing better is happening.
	
	To fix it I had to modify my procedure as follow.

	The error was verified when joining two big relation in 
	a RDB database, so I created a multi-segment file,
	linking the two relations as one.

	E.g. 

	JOIN field1 IN relation1 TO ALL field2 IN relation2 AS MYJOIN
        -RUN 
	TABLE FILE relation1
        ...
	
	is now 

	TABLE FILE oneandtwo 
	...

	file oneandtwo is created by using the two .MAS as one,
	where relation1 is the father and relation2 is the son.

	in .MAS you have 

	FILE=oneandtwo,SUFFIX=RDB

        SEGNAME=relation1
	fields of 1

        SEGNAME=relation2, PARENT=relation1
	fields of 2


	THIS IS NOT THE SOLUTION OF THE PROBLEM, but now my procedure are
	running.                                           
	I hope this can help to solve someone else problems.
	
	Best regards 
	Fabio.
	
	P.S. I think this is also valid for #332 and #384.
    
429.7FOC417 -Why and what to look for -EVTDD1::CARRIEREJean-Claude CarriereThu Nov 07 1991 11:3552
	The FOC417 error deserve some explanations :

	1	The error is caused by a getvm (get virtual memory) call
		that either fails (insufficient page quota) or returns a
		portion of memory that FOCUS cannot access.

	Remark:	In 5.2.3 some portions of FOCUS can only access 8Meg of
		memory (causing this problem to appear even if the page
		file quota is sufficient) this restriction has been lifted
		in 6.1

Therefore in 5.2.3 the following might cause a FOC417 :

	- application has a large FUSELIB (which gets loaded with FOCUS)
	and leaves only a small amount (below 8Meg) for FOCUS to work
	(I know some applications at Digital have very large FUSELIB
	sometimes as big as FOCUS itself)

	- application loads a large a number of interfaces (dynamically)
	once loaded dynamically an image cannot be released

	- applications opens concurrently a large number of databases
	(and I guess this is what's happening in your case, it might seem
	surprising but I'll explain)

	Finally there is always the possibility of a bug in FOCUS causing
	memory not to be released properly.


Note : When using the RdB Interface FOCUS opens the database based on its
DDNAME, therefore if you have multiple DDNAME pointing to the same database
FOCUS will open the database multiple times (and RdB reserves a large portion
of memory for each database open)

the DDNAME is either the master file name, which need to be filedef to point
to the database, or a parameter in the ACX file

Example if

relation1.acx contains 	seg=seg1,tablename="my_db.relation1"
relation2.acx contains  seg=seg2,tablename="my_db.relation2"

and you filedef my_db disk my_db.rdb

then the file is open only once when you do the join,

however if like I suspect no ddname exist in the acx file
and you use two filedef the database is open twice.
Putting the two relations into one files did solve the problems because only
one filedef was then necessary.