What Android device/OS version are you using? It looks like there may be actual software problems with the Bluetooth drivers on some Android 5 devices.
You mention you're setting services on Puck.js. Could you be repeatedly calling NRF.setServices? That could really mess things up as it requires the Bluetooth stack to restart to update the services. Ideally you should call it just once, and should then use NRF.updateServices if you need to update the values.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I just had a quick look into Error 133:
NRF.setServices
? That could really mess things up as it requires the Bluetooth stack to restart to update the services. Ideally you should call it just once, and should then useNRF.updateServices
if you need to update the values.