Adding to Chen She's answer, the default cryptsetup package with Ubuntu18.04 is 2.0.2 has a bug which doesn't exits the decryption command with return code 1, if the first active keyslot for Luksformatted device is not zero (ref here) But it has been patched, as the next comment in the attached forum link mentions.
So, you might need to build from the source from gitlab in order for it to work with your encrypted system.
Mind it, as of release 2.6.0 the command to decrypt a device has changed to cryptsetup reencrypt <device-name> --decrypt