BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
maubry
Obsidian | Level 7

Hello,

 

I'm new with SAS. One of my users encounter the following issue:

 

When he ran a EG Project, the run is blocked when a graph should be produced.

And I don't understand why it is blocked.

 

I noticed some PNG files (gplotxxx.png) are stored in SAS/Config/Lev1/SASApp.

 

Do you have any ideas on how I can resolve these issues.

 

thanks

1 ACCEPTED SOLUTION

Accepted Solutions
maubry
Obsidian | Level 7

@DavidHD 

 

I know why EG was freezing when producing graphs. It was due to an option in EG: Graph Format.
You can find this option:

  • either in Tools -> Option -> Results -> Graph
  • either in the properties of the graph (right clic -> Properties -> Results -> Edit)

Graph Format was configured with 'ActiveX' engine. It means a process is launched on the compute server but this process is freezing. Maybe I've to apply a hotfix for that.

 

By changing Graph Format from 'ActiveX' to 'PNG', the EG project runs successfully.

 

Many thanks for your help.

Now, I will work to apply the baseline security to avoid gplot files to be stored in /SAS/Config/Lev1.

View solution in original post

15 REPLIES 15
DavidHD
SAS Employee

Hey @maubry ,

 

first up it is always helpful to post the exact error message (of course redacting file paths were necessary) and post an example coding so it is easier to see the context of your problem.

 

The error tells you that your user can not access that location (write access is necessary) but it is understandable that you wouldn't want to give users write access to that location as there are a lot of config and other important files stored there.

 

So what you can do is have your user change up there coding to specify a concrete path where SAS should store the image - something like this:

options printerpath=png nodate;
ods html close;
ods printer file="~/test.png";
proc sgplot data=sashelp.stocks
  (where=(date >= "01jan2000"d and stock = "IBM"));
  title "Stock Trend";
  series x=date y=close;
  series x=date y=low;
  series x=date y=high;
run;
ods printer close;
ods html file="~/test.html";

Here you can find more information on it: https://go.documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.5&docsetId=graphref&docsetTarget=... 

 

Best regards

David

maubry
Obsidian | Level 7
Hi David,

thanks for your answer. I think there are 2 separate issues:

-1- EG is freezing when a graph should be produced
-2- PNG files are stored in a wrong folder

For both issues, I don't have any error messages. The first point is the most important for me but there is no code. The user created "Graph" in EG with the Wizard.
DavidHD
SAS Employee
Could you try the coding I provided you with above to see if that works?
When you say it freezes do you have to kill the EG process?
In the EG-project if you click on the Graph Wizard you can right-click and extract code - are you able to post this here for further diagnosis?
maubry
Obsidian | Level 7

Hi @DavidHD ,

 

by freezing, it means we have to kill EG.
I read logs:

  • EG logs: I found some errors due to some access to shared folders. But there were not used by graphs
  • Project Log: no errors
  • Worskpace logs: no errors.

for your information, graph stay in yellow. What does it mean? (no task was running).

DavidHD
SAS Employee
Ok that sounds odd - this to me suggests that there is something else going on other then just the placing of the image because EG shouldn't freeze up like that, because of a missing permission.

Yellow means running or waiting to be run - that it stays yellow is probably just a consequence of EG freezing up.

Please let me know if your user ran the sample coding and what the result was. If the same thing happens, I suggest that you contact SAS Support.
maubry
Obsidian | Level 7

@DavidHD ,

 

We have made a test this morning. We ran the EG Project step by step. Everything working fine before graph. After the last query builder, there are 2 graph. We ran the 1st graph and it works.

But by running the 2nd graph, it takes time..

 

I read the log more in depth and I found something:

the graph is looping and it is waiting for something.

What I saw in the Enterprise Guide log is many lines like:

 

DEBUG SAS.EG.JobManagement.Adapters.WorkspaceExecutor[(null)] - SafeCheckIfServerIsAlive() - Entering
DEBUG SAS.BI.SASComb.Method[(null)] - InvokeMethod::Async
DEBUG SAS.BI.SASComb.Method[(null)] - Leaving for Async
DEBUG SAS.EG.JobManagement.Adapters.WorkspaceExecutor[(null)] - SafeCheckIfServerIsAlive() - Leaving

Any ideas?

DavidHD
SAS Employee
How big is the dataset that is the foundation of this graph? How much time has the user given EG before killing the process?

And which version of EG are you on? Check inside of EG: Help > About SAS Enterprise Guide - copy the Version number please
maubry
Obsidian | Level 7

@DavidHD ,

 

The dataset is very small (around 49 observations).

The user kills the process after 3 hours...

 

The version of EG is 7.15 HF9 (7.100.5.6226) (32 bits)

Our SAS version is 9.4M5

maubry
Obsidian | Level 7

@DavidHD 

 

I know why EG was freezing when producing graphs. It was due to an option in EG: Graph Format.
You can find this option:

  • either in Tools -> Option -> Results -> Graph
  • either in the properties of the graph (right clic -> Properties -> Results -> Edit)

Graph Format was configured with 'ActiveX' engine. It means a process is launched on the compute server but this process is freezing. Maybe I've to apply a hotfix for that.

 

By changing Graph Format from 'ActiveX' to 'PNG', the EG project runs successfully.

 

Many thanks for your help.

Now, I will work to apply the baseline security to avoid gplot files to be stored in /SAS/Config/Lev1.

Kurt_Bremser
Super User

The png files in the configuration directory can come from two issues:

  • you actually have a permission problem, and the directory is/was writable for end users
  • somebody ran a workspace server with the SAS installation user, which you MUST NOT DO.

IIRC, the second should also not be possible because the SAS installation user does not end up in the metadata per default.

maubry
Obsidian | Level 7

Hello Kurt,

 

I actually have a permission problem, and the directory is writable for end users.

 

Thank you for your answser.

 

Michael

maubry
Obsidian | Level 7

I don't try your code because I can't access to the EG Project. I need to contact the user when he's available. I'll do that with him.

andreas_lds
Jade | Level 19

Normal users must not have write-access to SAS/Config/Lev1/SASApp. So the first step is to shut down the whole system and apply the security admin guide. If the guide is not applied any user can cause serious damage to the configuration.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 15 replies
  • 2956 views
  • 9 likes
  • 4 in conversation