Ionic Push in ionic

$ionicPush.register() throughing an error instead of logging a device token

Error: Another registration is already in progress.
at e.register (ionic.cloud.min.js:11)
at ChildScope.$scope.register (controllers.js:34)
at fn (eval at compile (ionic.bundle.js:27643), :4:215)
at ionic.bundle.js:65429
at ChildScope.$eval (ionic.bundle.js:30400)
at ChildScope.$apply (ionic.bundle.js:30500)
at HTMLButtonElement. (ionic.bundle.js:65428)
at defaultHandlerWrapper (ionic.bundle.js:16792)
at HTMLButtonElement.eventHandler (ionic.bundle.js:16780)
at triggerMouseEvent (ionic.bundle.js:2953)
at tapClick (ionic.bundle.js:2942)
at HTMLDocument.tapTouchEnd (ionic.bundle.js:3069)

I have no idea where the registration is already progressing

try to get registration error for the first time using following code

$ionicPush.register().then(function(t) {
console.log(t);
}, function(error) {
console.log(error)
});