Source server behaves correctly (no SIG-11) if started with an external filter followed by a deactivate and shutdown
Final Release Note
The replication source server terminates normally in case it was started with an external filter and later transitioned from an active to a passive source server before being shut down. Previously, such a source server would terminate abnormally with a SIG-11. (#30 (closed))
Description
If the replication source server is started with an external filter and connects to a receiver server and is later deactivated (i.e. changed from an active to a passive source server) and soon afterwards a source server shutdown command is issued, the source server terminates abnormally with a SIG-11.
Below is the output and the corresponding test script.
> source repl.csh
.
.
Wed Sep 6 17:27:22 2017 : REPL INFO - Last Seqno written in jnlpool : 0 Last Seqno sent : 0 Number of unsent Seqno : 0
Wed Sep 6 17:27:22 2017 : REPL INFO - Jnl Total : 0 Msg Total : 0 CmpMsg Total : 0
%GTM-F-KILLBYSIGSINFO1, MUPIP process 756 has been killed by a signal 11 at address 0x000000000057A901 (vaddr 0x0000000000000000)
%GTM-F-SIGMAPERR, Signal was caused by an address not mapped to an object
unset echo
.
.
> cat repl.csh
set echo
set verbose
setenv gtm_repl_instance mumps.repl
cp $gtm_test/T998/com/extfilter.m .
@ port = 5001
# Setup primary
rm -f mumps.gld mumps.dat mumps.mjl* *.log* mumps.repl
gde exit; mupip create
mupip replicate -instance -name=INSTA
mupip set -replication=on -reg "*"
# Setup secondary
rm -rf tmp; mkdir tmp; cd tmp
rm -f mumps.gld mumps.dat mumps.mjl* *.log* mumps.repl
gde exit; mupip create
mupip replicate -instance -name=INSTB
mupip set -replication=on -reg "*"
mupip replic -source -start -passive -log=passive_source.log -buf=1 -instsecondary=INSTA
mupip replic -receiv -start -listen=$port -log=receiver.log -buf=2097152
cd ..
mupip replic -source -start -secondary=${HOST}:$port -log=source.log -buf=1 -instsecondary=INSTB -filter=\"$gtm_dist/mumps -run ^extfilter\"
set srcpid = `mupip replicate -source -checkhealth |& grep ^PID | awk '{print $2}'`
mupip replic -source -deactivate -instsecondary=INSTB -rootprimary
mupip replicate -source -shut -time=0
cat source.log
unset echo
unset verbose
Draft Release Note
The replication source server terminates normally in case it was started with an external filter and later transitioned from an active to a passive source server before being asked to shut down. Previously, the source server would terminate abnormally with a SIG-11.