Same. My workaround (on linux). In a screen session:
while true; do ./mkxminer -o stratum+tls://vtc.suprnova.cc:5676 -u -p -I 21 --asm | tee /tmp/mkxminer.log; sleep 5; done
And in another screen session:
while true; do ISODT=$(date --iso-8601=ns); if grep 'server reply - error 301' /tmp/mkxminer.log; then killall -9 mkxminer; mv -v /tmp/mkxminer.log /tmp/mkxminer_${ISODT}.log; else echo $ISODT; sleep 30; fi; done
Keeps it running most of the time. Seriously, this code is pretty bad. Just give up the source so we can fix it? Sigh.