Segmentation Violation Error

Reply
Super Contributor
Posts: 319

Segmentation Violation Error

[ Edited ]

Hello Experts,

 

We have an error when we run a datastep with hash tables. The table we try to load in hash is very big and probably the error is caused by lack of enough memory. What bothers is that the same datastep ran successfully on another environment but we can not determine what settings stop the process of running successfully everywhere.

 

The error is:

 

The SAS task name is [DATASTEP]
Segmentation Violation

Traceback of the Exception:

etc.

 

we use - SAS 9.3 on AIX

Super User
Posts: 10,215

Re: Segmentation Violation Error

You need to work through everything pertinent. Physical memory available, OS settings, and the relevant SAS configuration sources (commandlines, metadata, config files) to find the difference between platforms. You must also consider all the processes running on a given environment, and their memory consumption.

Parallel to that I would investigate if the hash solution is necessary at all, or if you can solve the task with other means. Data/sort steps will run until disk storage is exhausted, which happens much later than a memory overflow.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Super Contributor
Posts: 319

Re: Segmentation Violation Error

Posted in reply to KurtBremser

We have tried to configure the necessary parameters to the same value son both machines. We have even run the process alone on the environment where it caused problems and the result was the same (ERROR).

 

It seems that during the process running the memory system was not allocated. Any reason this might happen ?

 

Changing the datastep is the last solution because we need to send the results again to the people who validate them.

Super User
Posts: 10,215

Re: Segmentation Violation Error

There is a difference somewhere. Your task is to find it. Which operating system(s) is this happening on?

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Super Contributor
Posts: 319

Re: Segmentation Violation Error

Posted in reply to KurtBremser

we use - SAS 9.3 on AIX

Super User
Posts: 10,215

Re: Segmentation Violation Error

Oh, fine. At least the system I'm quite familiar with.

Are both "environments" on the same host, or are these different (physical or logical) machines?

Are you using the same userID?

How is your SAS set up with regard to this particular problem? Are you running from an interactive frontend (Display Manager, Enterprise Guide, SAS Studio), or from batch? (This will point to the config files that you have to look at)

 

As a first step, run proc options in both environments and compare the memroy-relevant settings (MEMSIZE et al).

If you have different servers and/or different userIDs, run ulimit -a from the commandline with the userID used for SAS.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Super Contributor
Posts: 319

Re: Segmentation Violation Error

Posted in reply to KurtBremser

We will do what you advised and come back .

 

Answering the questions:

There are different machines, we run from batch using the same user (shall have the same characteristics) .

 

WE have tried to set the same options on both machines (memsize - 0, BUFNO , IBUFNO etc.)

 

what do you mean by: How is your SAS set up with regard to this particular problem? 

 

Super User
Posts: 10,215

Re: Segmentation Violation Error

Then you first must make sure that the different machines provide an approximately same environment. Have that checked by the system admins, or use smitty from the commandline and go to "System Environments - Change / Show Characteristics of Operating System".
Also run ulimit as suggested and compare the outputs.

 

If you run in batch, you either use the sasv9.cfg in the SAS installation directory, or one that you specifiy on the commandline. Those need to be compared.

With memsize=0, you might encounter your problem when the server runs out of physical memory and starts to page; if the paging spaces have different sizes, this might be the cause. If memory consumption gets really THAT large during your data step, I'd seriously consider a solution that does not rely on memory.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Super Contributor
Posts: 319

Re: Segmentation Violation Error

Posted in reply to KurtBremser

Hi,

 

Thanks for the help . will follow your suggestions.

Ask a Question
Discussion stats
  • 8 replies
  • 198 views
  • 0 likes
  • 2 in conversation