[ESS] Interactive SAS mode hangs

Erin Jonaitis jon@|t|@ @end|ng |rom |@tr|-w|@org
Wed Sep 30 17:14:11 CEST 2015

Hello again, Rodney,

Well, some minor good news here. First of all, we were able to disable SELinux, which simplifies things.
Second, I've narrowed the scope of the problem considerably. It turns out that the hanging behavior seems to be specific to carriage returns!

This code hangs when I submit it interactively in ESS[SAS]:

| proc contents data=temp;
| run;

This code does not hang:

| proc contents data=temp;run;

Does any explanation come to mind? A tempting analogy is when I've run into trouble running shell scripts on a *nix system after writing them in Windows, because of different line break symbols -- so I'll head that off by saying I'm writing the code and trying to run it both in Emacs on the same Red Hat 7 system (i.e., I'm not merely editing a file in Emacs that I opened and saved elsewhere). But maybe there is some analogous setting somewhere that is screwing stuff up?

Some colleagues have informed me that ESS[SAS] also does not seem to run code correctly in batch mode. I don't know whether this problem is related or not, but it seemed worth a mention.


----- Original Message -----
From: "Sparapani, Rodney" <rsparapa using mcw.edu>
To: jonaitis using fstrf-wi.org
Cc: "ess-help" <ess-help using stat.math.ethz.ch>
Sent: Friday, September 25, 2015 4:35:00 PM
Subject: Re: Interactive SAS mode hangs

> Ahhh. /usr/sbin/getenforce returned "Enforcing". Is this likely to affect how ESS works?

I think it could.  I know I had some trouble installing a printer
driver when SE Linux was "Enforcing".  I just turned it off because,
otherwise, it is just one more thing to worry about when you are
trying to debug something.  So, try turning it off and see if that
helps.  See the selinux man page.

I turned mine off by editing the file /etc/selinux/config as follows...

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.

More information about the ESS-help mailing list