LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (May 2000, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Wed, 24 May 2000 10:39:14 -0400
Reply-To:   "Bross, Dean S" <dean.bross@MAIL.VA.GOV>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   "Bross, Dean S" <dean.bross@MAIL.VA.GOV>
Subject:   Re: stack overflows using views on MVS
Content-Type:   text/plain; charset="iso-8859-1"

> -----Original Message----- > From: Don Stanley [mailto:don_stanley@xtra.co.nz] > Sent: Wednesday, May 24, 2000 4:58 AM > To: Bross, Dean S > Cc: SAS-L@LISTSERV.UGA.EDU > Subject: Re: stack overflows using views on MVS > > > Paula ... highly unlikely that any site will consider > re-installing the > mainframe OS because a SAS program has this sort of problem.

Thats OK. I greatly enjoyed the humor of this reply.

> > There are a number of things that can be tried:: > > > * upping the region size for the job > * increasing memsize to say 32M (you use proc options to > find what it is > now) > * if a sort is involved (including an SQL join that may > need to sort > internally) try increasing the SORT= option. I often use > NODYNALLOC as > well which for whatever reason seems to have a positive > impact on very > big sorts. Also SORTWKNO=x will allow you to allocate x > sort files which > may help here > * reducing the complexity of the view. For example, does > the VIEW read 1 or > many datasets, how big is the program data vector etc > etc. Does the view > use an extraordinarily large number of IF then else statements? > > Paula is right that it is likely to be a resource problem, > today I struck it > with a SORT and just bumped SORT= to 1000 which fixed it immediately. > > There are no reasons to avoid views on MVS, only reasons to > ensure code is > written as efficiently as possible and a realisation that > MVS, despite its > grunt, is as resource constrained as any other OS. If you > haven't got the > resource, you can't have the resource. > > Dean, if you can't get this working post the view. Its > obviously doing a mass > of work to get those 828252 observations. > > Don >

Thanks for your help on this.

This portion of the JCL list probably shows the region that was active. I've never made any attempt to modify it.

4 XXSAS EXEC PGM=&ENTRY,PARM='SORT=&SORT &OPTIONS',REGION=6M XX*NULLPDS DD DISP=(MOD,PASS),DSN=&&NULLPDS,UNIT=SYSDA, XX* SPACE=(TRK,(1,1,1)),DCB=BLKSIZE=6160 XX* IEFC653I SUBSTITUTION JCL - PGM=SASHOST,PARM='SORT=4 ',REGION=6M

Here is the log up to the error point. It doesn't seem to be doing any of those high resource things you mentioned.

I have decided to accept the program results after repeating the run (15 CPU minutes) using temporary data sets instead of views and getting the exact same results. I avoid views because I got this same problem several years ago. But I tried them again this time after running out of disk space even with over 1000 CYLs when I ran earlier versions of this program.

1 The SAS System 08:42 Tuesday, May 23, 2000

NOTE: Copyright (c) 1989-1996 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) Proprietary Software Release 6.09 TS460 Licensed to VA AUTOMATION CENTER, Site **********.

Welcome to the SAS Information Delivery System! ====== Version 6.09 Enhanced ======

For information about new MVS-specific features, enter "help host" from any Display Manager command line and select "What's New".

Please notify the AAC help desk at phone number (512) 326-6780 of any problems with SAS.

NOTE: The SASUSER library was not specified. SASUSER library will now be the same as the WORK library. NOTE: All data sets and catalogs in the SASUSER library will be deleted at the end of the session. Use the NOWORKTERM option to prevent their deletion.

NOTE: The initialization phase used 0.06 CPU seconds and 2553K. 1 OPTIONS FMTSEARCH=(SASLIB) ; 2 DATA X / VIEW=X ; SET SG8.SG98 ; 3 ARRAY DDD DXLSF DXF2-DXF10 ; 4 LENGTH X $ 3 SUBST PTSD PSYCHOS 2 YRTYP 4 ; 5 ANYMENT=0 ; SUBST=0 ; PTSD=0 ; PSYCHOS=0 ; 6 DO OVER DDD ; 7 X=SUBSTR(DDD,1,3) ; 8 IF X GE '290' AND X LE '316' THEN DO ; ANYMENT=1 ; 9 IF X IN ('303','304') THEN SUBST=1 ; 10 IF DDD IN ('3083','30981') THEN PTSD=1 ; 11 IF X LE '299' THEN PSYCHOS=1 ; 12 END ; 13 END ; 14 IF ANYMENT=1 ; 15 YRTYP=1998 ; 16 KEEP SCRSSN SUBST PTSD PSYCHOS YRTYP ;

NOTE: DATA STEP view saved on file WORK.X. NOTE: The original source statements cannot be retrieved from a stored DATA STEP view nor will a stored DATA STEP view run under a different release of the SAS system or under a different operating system. Please be sure to save the source statements for this DATA STEP view. NOTE: The DATA statement used 0.03 CPU seconds and 3305K.

17 DATA WW.A ; SET X ; BY SCRSSN NOTSORTED ; 18 RETAIN I1-I3 ; 19 IF FIRST.SCRSSN THEN DO ; I1=0 ; I2=0 ; I3=0 ; END ; 20 IF SUBST=1 THEN I1=1 ; 21 IF PTSD=1 THEN I2=1 ; 22 IF PSYCHOS=1 THEN I3=1 ; 23 IF LAST.SCRSSN THEN DO ; 24 SUBST=I1 ; PTSD=I2 ; PSYCHOS=I3 ; OUTPUT ; END ; 25 KEEP SCRSSN SUBST PTSD PSYCHOS YRTYP ;

NOTE: The view WORK.X.VIEW used 412.70 CPU seconds and 4160K. NOTE: Task SASDSVX had 11 stack overflows with a max stack size of 16384 and a max overflow segment depth of 1. The load module name for this task is SASDSVX. NOTE: The data set WW.A has 828252 observations and 5 variables. NOTE: The DATA statement used 23.73 CPU seconds and 4160K.

> paula wrote: > > > Stack overflow typically suggests problems with OS, in > handling memory for > > example. Maybe reinstallation of OS is first choice. > > > > Paula D


Back to: Top of message | Previous page | Main SAS-L page