This section describes known problems in Ninf-G Version 5.1.0.
This problem is due to the bug of GT4.2.
This problem can be avoided by configuring Java WS Core. Add "publishHostName" parameter to <globalConfiguration> in $GLOBUS_LOCATION/etc/globus_wsrf_core/server-config.wsdd. Set the value of "publishHostName" to "true".
If construction and destruction of a function/object handle is repeated many times using Invoke Server GT2c, an error may be occurred on Tru64 UNIX.
This problem is due to the bug of the GT 4 ( Bug# 4336).
Initializing Function/Object handles using Invoke Server GT4py for WS GRAM does not work correctly on Solaris.
This problem is due to the bug of GT 4 ( Bug# 4275) and fixed after the release of GT 4.0.6.
Java WS container causes "OutOfMemoryError" and outputs the following message when it receives many simultaneous requests for RPC.
: ERROR container.ServiceThread [ServiceThread-11599,run:306] Run out of heap (server level) java.lang.OutOfMemoryError ERROR container.ServiceThread [ServiceThread-11551,doFault:701] Run out of memory (application level) java.lang.OutOfMemoryError :
In order to avoid this problem, increase the maximum heap size of
the JVM when running the container.
It is described in the documentation of
"GT 4.0: Java WS Core" ,
"4.1.2. Recommended JVM settings for the Java WS Core container".
When the job is invoked by the function for initializing an array of function/object handles(grpc_function_array_handle_np() etc.) and Invoke Server NAREGISS is used, environment variable TMPDIR in the Ninf-G Executable may be set to directory which does not exist. Thus, Ninf-G Executable may not be able to create temporary files.
This problem can be avoided by specifying "tmp_dir" attribute in Ninf-G Executable configuration file.
It has been confirmed that Invoke Server SSH does not work with the following SSH.
This SSH is not available in both local host and remote host.
grpc_get_info_np() returns incorrect CPU time if Ninf-G is built with pthread flavor on Solaris and Linux which use not NPTL but linuxthreads.
Ninf-G Client does not terminate if _exit() is called in a signal handler. This problem occurs if Ninf-G Client is built with pthread flavor on Linux which uses not NPTL but linuxthreads.
If the version of Linux kernel is 2.6 or later, thread library is usually NPTL and should not cause this problem.
For glibc 2.3.2 or later, you can use getconf command to confirm the name of the thread library.
% getconf GNU_LIBPTHREAD_VERSION
linuxthreads-0.10
Otherwise, the following command prints the name of the thread library.
% `ldd /bin/ls | grep 'libc.so' | awk '{print $3}'` |\
egrep -i 'nptl|threads'
ng_gen command generates C source files for stub programs from IDL. Prior to generating the C source files, the IDL file is processed by C pre-processor (CPP). CPP command is detected when the Ninf-G is configured.
PGI compiler may generate illegal C source files when it is used as CPP. Here is an example.
Before CPP(Unexpected space characters are included before and after the period.)Globals { #include <stdio.h> }
After CPPGlobals { # include < stdio . h > }
There are 2 ways to avoid this problem.
--no-cpp
or --with-cpp
option
when executing ng_gen.
ng_gen has options to skip CPP or to change CPP.
% ng_gen --no-cpp target.idl
--no-cpp
option skips pre-processing and it is effective only
when the pre-processor macros are not used in the IDL file.
% ng_gen --with-cpp="gcc -xc -E" target.idl
--with-cpp
option specifies CPP command.
In this example, macros in the IDL file are expanded by GCC
pre-processor, but pre-processing and compilation of stub
programs are performed by PGI compiler.
For quotation of the file name, use double-quotes ("stdio.h") instead of less-than and greater-than (<stdio.h>).
On AIX 5.2, Python does not work correctly due to a bug of Python. Ninf-G provides a patch for this bug and it is included in ng-5.x.x/external/python_aix_patch directory in the Ninf-G package. See README in the directory for more details.
Invoke Server GT4py will exit immediately if /usr/bin/python is used on Mac OS X. This problem can be avoided by using python 2.4.2 built from source bundle.
Assembler may detect warnings when optimization is enabled with GCC Version
3.2.2 or prior on Itanium2.
The warning message is as follows:
cc -Wall -O2 <snip> -c -o ngclSession.o ngclSession.c /tmp/ccMDS56n.s: Assembler messages: /tmp/ccMDS56n.s:10125: Warning: Use of 'mov' may violate WAW dependency 'GR%, %in 1 - 127' (impliedf), specific resource number is 14 /tmp/ccMDS56n.s:10124: Warning: This is the location of the conflicting usage /tmp/ccMDS56n.s:10396: Warning: Use of 'mov' may violate WAW dependency 'GR%, %in 1 - 127' (impliedf), specific resource number is 14 /tmp/ccMDS56n.s:10395: Warning: This is the location of the conflicting usage cc -Wall -O2 <snip> -c -o ngStream.o ngStream.c /tmp/cc35sx1T.s: Assembler messages: /tmp/cc35sx1T.s:2893: Warning: Use of 'mov' may violate WAW dependency 'GR%, %in 1 - 127' (impliedf), specific resource number is 14 /tmp/cc35sx1T.s:2892: Warning: This is the location of the conflicting usageThis problem is reported to GCC bugzilla.
On Windows, ServerSocket sometimes fails to accept requests
for connection from Ninf-G Executables
if it receives many (about 10 or more) requests at the same time.
This should be an Windows-specific problem since it does not appear on
Linux or Solaris.
Use Linux or Solaris for large-scale applications.
dcomplex variables is not available if gcc-2.96 is used on IA64
platform.
Although compilation of Ninf-G Client program will be succeed, the Ninf-G
client program will be terminated with an error.
In order to avoid this problem, other version of gcc should be used.
No version compatibility problem.
No other problem.