Extended global reference correctly reports NETDBOPNERR error when $zgbldir / $ydb_gbldir not set
Final Release Note
An extended reference correctly issues a NETDBOPNERR error if it points to a remote database file that cannot be opened (for example, the GNP server is not started on the remote host). Previously, if $zgbldir
was not set (or the ydb_gbldir
/ gtmgbldir
environment variables were not set), a similar extended reference would terminate with a KILLBYSIGSINFO1 fatal error (SIG-11). [#356 (closed)]
Description
Below is a test case that demonstrates the issue. One needs to first trigger a NETDBOPNERR error. For this, the below test case points a local gld region to a remote database file (somehostname is some other hostname, need not even be a valid hostname but should not be the current hostname). With this, one would expect to see a NETDBOPNERR error. That is what one sees if ydb_gbldir env var is defined. But if that env var is undefined and one does an extended reference to that remote database file, then one sees the SIG-11.
> cat gnp.csh
unsetenv gtmgbldir
setenv ydb_gbldir mumps.gld
$ydb_dist/mumps -run GDE change -seg DEFAULT -file=somehostname:x.dat
unsetenv ydb_gbldir
$ydb_dist/mumps -run ^%XCMD 'set ^|"mumps.gld"|a=1'
> source gnp.csh
.
.
%YDB-F-KILLBYSIGSINFO1, YottaDB process 24171 has been killed by a signal 11 at address 0x00007F10CD8D701F (vaddr 0x0000000000000006)
%YDB-F-SIGMAPERR, Signal was caused by an address not mapped to an object
Draft Release Note
An extended reference correctly issues a NETDBOPNERR error if it points to a remote database file that cannot be opened (for example, the gtcm gnp server is not started on the remote host). Previously, if the ydb_gbldir (or gtmgbldir) environment variable was not set, an similar extended reference would terminate with a KILLBYSIGSINFO1 fatal error (SIG-11).