SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 61970: Creating a new project using SAS® Contextual Analysis fails with "An error occurred on the server ..."

DetailsHotfixAboutRate It

When creating a project using SAS Contextual Analysis, the following error might be displayed:

label

 

When you click Details, messages such as these might be displayed:

HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException
An error occurred on the server.
 

The following lines in the SASTextAnalyticsServicesX.Y.log file correspond to this error:

2017-08-06 16:32:08,476 [tomcat-http--24] WARN  [sasdemo] org.springframework.remoting.support.RemoteInvocationTraceInterceptor - Processing of AutoDiscoveredHttpServiceExporter remote call resulted in fatal exception: com.sas.ta.service.ProjectService.existsWithName
java.lang.NullPointerException
   at com.sas.ta.service.impl.ProjectServiceImpl.existsWithName(ProjectServiceImpl.java:147)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  • X.Y in the file name refers to the SAS Contextual Analysis version.  Example: SASTextAnalyticsServices14.1.log.
  • The SASTextAnalyticsServicesX.Y.log  file is located on the middle tier system(s) in the sasconfig/Lev#/Web/Logs/SASServerX_Y directory.  X_Y is the SAS Web Application Server instance with which SAS Contextual Analysis is deployed.  Examples: SASServer1_1,  SASServer11_1.

Lines like these are displayed in the SASTextAnalyticsAPIX.Y.log file:

 

2017-08-06 16:32:08,476 [tomcat-http--19] ERROR [unknown] org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/SASTextAnalyticsAPI].[SASTextAnalyticsAPI] - Servlet.service() for servlet [SASTextAnalyticsAPI] in context with path [/SASTextAnalyticsAPI] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
    at com.sas.ta.service.impl.ProjectServiceImpl.existsWithName(ProjectServiceImpl.java:142)

 

The problem occurs when these conditions are true:

  • The user account that was used to log on to SAS Contextual Analysis has Read permission to a metadata library.
  • The user account does not have Read permission to the metadata location in which the library was created, or the metadata location no longer exists. 

To confirm whether the conditions are true, take either of these actions:

  • Review all libraries to which the user account has Read permission in metadata.  Check to see whether that user account is able to access the associated metadata location.
  • Add either the Metadata Server: Unrestricted role or the SAS System Services group to the user account.  If that action resolves the error, then you are most likely encountering this issue, and that action is also a workaround.

 

To work around this issue, change one of the following:

  • If the user account does not need Read permission to the library, then deny ReadMetadata permission to the metadata library.
  • If the user account does need Read permission to the library, then grant ReadMetadata permission to the associated metadata location.

 

Click the Hot Fix tab in this note to access the hot fix for this issue.

 

Example:

The Abstract60k library is defined in the /Shared Data/SCASubData metadata folder: 

 

label

 

The above errors occur for the sasdemo user.  The sasdemo user is not a member of any specific group other than SASUSERS, so the effective permission to the Abstract60k library is determined by the SASUSERS group.  In this example, the SASUSERS group has ReadMetadata permission to the Abstract60k library:

 

label

 

However, SASUSERS is denied ReadMetadata permission to the /Shared Data/SCASubData metadata folder:

 

label

 

The SCASubUsers group has ReadMetadata permission to the /Shared Data/SCASubData metadata folder.  Only members of this group should have access to the Abstract60k library and the associated metadata folder.

 

label

 

Thus, the sasdemo user is able to read the Abstract60k library but is unable to access the associated /Shared Data/SCASubData metadata location.  This discrepancy occurs when libraries that are defined in metadata meet these criteria.

 

To work around the issue in this example, change one of the following:

  • If the user account does not need Read permission to the library, then deny ReadMetadata permissions to the SASUSERS group.  The only group that needs Read permission to this library is the SCASubUsers group.
  • If the user account does need Read permission to the library, then for the sasdemo user, grant ReadMetadata permission to the /Shared Data/SCASubData metadata folder.

 

 



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Contextual AnalysisMicrosoft® Windows® for x6414.1_M19.4 TS1M3
64-bit Enabled AIX14.1_M19.4 TS1M3
64-bit Enabled HP-UX14.1_M19.4 TS1M3
64-bit Enabled Solaris14.1_M19.4 TS1M3
HP-UX14.1_M19.4 TS1M3
Linux for x6414.1_M19.4 TS1M3
Solaris for x6414.1_M19.4 TS1M3
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.