At some appropriate place in issueasset in rpcwallet.cpp (after LOCK(pwallet->cs_wallet) but before doing anything that uses the wallet), there should be a call to EnsureWalletIsUnlocked(pwallet). Otherwise we crash when trying to sign if the wallet has a password and is not unlocked.
We should also check whether any other RPCs have this issue (any RPCs that need to use the wallet for signing, which I think is the only thing you need it unlocked for?)