Server error when sending notifications using raix:push on Modulus

Hi,

I’m using Modulus to host an app that uses the raix:push package to send push notifications to Android and IPhone.

After sending a test message in the browser console using

Push.send({
  from: 'Test',
  title: 'Hello',
  text: 'World',
  badge: 1,
  query: {}
});

The app successfully sends the message to the connected Android phone and then crashes before successfully sending to the connected IPhone 6. The following message is displayed in the server logs:

Push: Send message "Hello" via query {}

send to token { apn: 'XXXXXXXXXXXXXXX' }

send to token { gcm: 'XXXXXXXXXXXXXXX' }

sendGCM [ 'XXXXXXXXXXX' ] { _id: XXXXXXXXXXX',
  createdAt: Mon Oct 12 2015 16:09:35 GMT+0000 (UTC),
  createdBy: 's5ChTPWBYsmuXWX9b',
  from: 'Test',
  title: 'Hello',
  text: 'World',
  badge: 1,
  query: {} }

Create GCM Sender using "XXXXXXXXXXX"

A:Send message to: XXXXXXXXXXXXXX

Push: Sent message "Hello" to 1 ios apps 1 android apps

ANDROID: Result of sender: {"multicast_id":6731539663436230000,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1444666183074808%b9fbd54e0027b8b2"}]}



npm ERR! meteor-dev-bundle@0.0.0 start: `node ../../main`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the meteor-dev-bundle@0.0.0 start script.
npm ERR! This is most likely a problem with the meteor-dev-bundle package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ../../main
npm ERR! You can get their info via:
npm ERR!     npm owner ls meteor-dev-bundle
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-46-generic
npm ERR! command "/mnt/home/.nvm/v0.10.40/bin/node" "/mnt/home/.nvm/v0.10.40/bin/npm" "start"
npm ERR! cwd /mnt/app/programs/server
npm ERR! node -v v0.10.40
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE

npm
 
ERR!
 

npm
 
ERR!
 Additional logging details can be found in:

npm
 
ERR!
     /mnt/app/programs/server/npm-debug.log

npm
 
ERR!
 
not ok
 code 0

This has only started happening since and Iphone has been connected prior to that the app was sending push messages without crashing. The app receives the token for both Iphone and Android when they connect.

My config.push.json is in the project root and looks like this:

    {
  "gcm": {
    "apiKey": "XXXXXXX",
    "projectNumber": "XXXXXX" 
  },
  "apn": {
    "passphrase": "XXXXXXXX",
    "key": "XXXXXX.pem",
    "cert": "XXXXXXX.pem",
    "gateway": "XXXXXXX.com"
  },
  "apn-dev": {
    "passphrase": "XXXXXXXXXX",
    "cert": "XXXXXXXXX",
    "key": "XXXXXXXXXXX",
     "gateway": "XXXXXXXXXX"
  },
  "production": false
  // "badge": true,
  // "sound": true,
  // "alert": true,
  // "vibrate": true
}

I have successfully verified my keys with Apple.

I’ve been unable to find any issues related to this either on SO or in the issues for this package on Github. However I’m doubtful it’s a bug in the package so I’m posting here before I raise it as an issue on Github. The project is quite large so it’s not feasible to post the code but hopefully this is enough to at least give me a few possibilities to look into.

Many thanks

1 Like

Did anyone ever figure out this issue? I’m seeing the exact same thing. Essentially, if I try to send a push notification to an ios device, then the server restarts. android works fine. I don’t see any actual error in the logs, so I’m not sure where to go digging… thanks, Ed

1 Like

On second look, mine might be a bit different. I will open a new topic…

Did you figure it out?

Are you on 1.5.1? Here I also experienced frequent server crashes, but not only in combination with push.

Yes, I’m on 1.5.1 and now that I’ve dug into the logs, I’m also seeing that it’s not always related to push. But some aspect of my ios push setup guarantees a crash when sending push to ios devices.

Not sure if it is related, because the error message is different. But I am facing similar problems with 1.5.1. Sometimes, Meteor crashes when accessing the database:

In my app, this is reproducible. But as soon as I try to slim my app down to create a reproduction repository, the problem goes away. It seems to be related to how many DB operations are being performed, or it is a weird racing condition problem.

It took me 2 days of research, until I finally found out that it was in fact a Meteor problem that could be resolved by downgrading to Meteor 1.5. Still unsure how I can help MDG to track this down, since my attempts to create a repro repository failed.