IBM Support

Toolkit commands in IBM i2 Analyze fail with a 'FileSystemServices' error

Troubleshooting


Problem

When running toolkit commands for i2 Analyze (for example, 'setup -t deploy'), the commands fail with the following error: Could not create service of type FileSystem using FileSystemServices.createFileSystem().

Cause

This error can be caused by one of the following:
1. The current user does not have read+write permission on the /tmp directory (Linux) or %TEMP% (Windows).
2. The JRE in <installdir>/toolkit/tools/java is corrupt or the user does not have permission to read <installdir>/toolkit/tools/java/jre/lib/security/java.security or <installdir>/toolkit/tools//java/jre/lib/ext/ibmjceprovider.jar

Diagnosing The Problem

Run the command again with the --stacktrace argument, e.g. ./setup -t createDatabases --stacktrace
1. If the error is caused by permissions on the /tmp dir, the stacktrace will contain  java.io.IOException: Permission denied and java.io.File.createTempFile(File.java:2035) 

* Exception is:
org.gradle.internal.service.ServiceCreationException: Could not create service of type FileSystem using FileSystemServices.createFileSystem().
   at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:741)
...
Caused by: java.lang.RuntimeException: java.io.IOException: Permission denied

   at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.<init>(GenericFileSystem.java:87)
   at org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices.createFileSystem(FileSystemServices.java:52)
   ...
Caused by: java.io.IOException: Permission denied

   at java.io.File.createTempFile(File.java:2035)
   at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.createFile(GenericFileSystem.java:98)
   at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.<init>(GenericFileSystem.java:84)
   ... 36 more

2. If the error is caused by corruption / permissions of the JRE security provider the stacktrace is likely to contain an error in JRE security, e.g. SecureRandom.nextBytes(SecureRandom.java:471)

org.gradle.internal.service.ServiceCreationException: Could not create service of type FileSystem using FileSystemServices.createFileSystem().
 at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:741)
 ...
Caused by: java.lang.NullPointerException
 at java.security.SecureRandom.nextBytes(SecureRandom.java:471)
 at java.util.UUID.randomUUID(UUID.java:156)

 at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.generateUniqueContent(GenericFileSystem.java:94)
 at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.<init>(GenericFileSystem.java:80)
 at org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices.createFileSystem(FileSystemServices.java:52)
...

Resolving The Problem

Cause 1 - Ensure that the current user has Read+Write permissions on /tmp (Linux) or %TEMP% (Windows)
Cause 2 - Ensure the the JRE is valid and the current user has at least Read permissions on it. - The JRE may be replaced entirely by removing /tools/java and extracting the supplied binary /bin/java/linux/jdk.tgz in its place.

[{"Product":{"code":"SSXVTH","label":"i2 Analyze"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF033","label":"Windows"},{"code":"PF016","label":"Linux"}],"Version":"3.0.11;4.0.0;4.1.0;4.1.1;4.1.2","Edition":"","Line of Business":{"code":"LOB24","label":"Security Software"}}]

Document Information

Modified date:
16 June 2018

UID

swg21992197