Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RangeError: Maximum call stack size exceeded on first connection of cordova client #51

Closed
bastiRe opened this issue Mar 23, 2015 · 20 comments
Labels

Comments

@bastiRe
Copy link

bastiRe commented Mar 23, 2015

I have a hybrid meteor app with Android and iOS clients. The first time after the installation of the app one of these clients connects my server it throws an error and restarts. This is the log that I get:

W20150323-14:03:25.841(10)? (STDERR)
W20150323-14:03:25.842(10)? (STDERR) /Users/BastiR/.meteor/packages/meteor-tool/.1.0.43.1v54ord++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20150323-14:03:25.842(10)? (STDERR)                        throw(ex);
W20150323-14:03:25.842(10)? (STDERR)                              ^
W20150323-14:03:25.843(10)? (STDERR) RangeError: Maximum call stack size exceeded

I only have this error with the push package installed and it only happens with Cordova clients not a web client. After the server has restarted the responsible Cordova client connects fine. It's just the first connection that provokes the restart. It seems to me that it has something to do with the push setup for new clients. Push itself works fine afterwards for Android and iPhone. I only have development certificates for push and push is in development mode. Any ideas what causes this behaviour?

@raix
Copy link
Collaborator

raix commented Mar 23, 2015

@bastiRe what version of raix:push are you using?
So this only happens when the client connects the first time / doesn't have a token?

Would be nice to figure this one out

@bastiRe
Copy link
Author

bastiRe commented Mar 23, 2015

I’m using 2.6.4.
It only happens when the client connects the first time. The interesting difference is that it happens on Android again after uninstalling the app and installing it again whereas it only happens the first time the app is installed on an iOS device. Reinstalling the app on iOS doesnt’t trigger the behaviour.

On 23 Mar 2015, at 17:17, Morten N.O. Nørgaard Henriksen notifications@github.com wrote:

@bastiRe https://github.com/bastiRe what version of raix:push are you using?
So this only happens when the client connects the first time / doesn't have a token?

Would be nice to figure this one out


Reply to this email directly or view it on GitHub #51 (comment).

@dennisharrison
Copy link
Collaborator

I haven't seen this on iOS or Android yet. Will try uninstalling and reinstalling on Android in an hour or so.

@raix
Copy link
Collaborator

raix commented Mar 25, 2015

@bastiRe what setup are you on/os etc.?

@Weijtmans
Copy link

I'm having the same issue when a user connects to the server for the server for the first time and inserts its push token. The crash only seems to only occur on iOS. I'm using the latest meteor and raix:push.

@dennisharrison
Copy link
Collaborator

@bastiRe & @Weijtmans
Can you give details about the environment that your server is running in?

@dennisharrison
Copy link
Collaborator

Can't reproduce on my versions.

I'm on OS X 10.10.2 using Meteor 1.0.4.2 and Push 2.6.3

I'll try upgrading Push and see if that does anything - but I don't see how that one change will cause this.

@raix raix added the bug label Mar 25, 2015
@raix
Copy link
Collaborator

raix commented Mar 25, 2015

I'm marking this as a bug - I've seen this behaviour before I think, but unable to replicate.

STATS:

OS

  • mac os
  • linux
  • windows

Platform related

  • iOS
  • android

When

  • New users inserts token first time

what throws errors

  • Server
  • Client

Versions

  • raix:push@2.6.4

@Weijtmans
Copy link

@dennisharrison No problem. I'm running a Digital Ocean droplet (1GB/1CPU) with the Ubuntu 14.04 X64 image. Running Meteor (1.0.4.2) deployed with Meteor Up (with Node 0.10.36). I'm using Raix:Push (2.6.4) in production in combination with the following packages:

aldeed:collection2: 2.3.2
cordova:org.apache.cordova.dialogs: 0.3.0
cordova:org.apache.cordova.network-information: 0.2.15
d0minikk:materialize-meteor: 1.95.1
dburles:google-maps: 1.0.8
fastclick: 1.0.3
ground:db: 0.3.6
harrison:papa-parse: 1.0.10
iron:router: 1.0.7
matteodem:easy-search: 1.4.13
meteor-platform: 1.2.2
meteorhacks:cluster: 1.6.1
meteorhacks:kadira: 2.20.1
meteorhacks:subs-manager: 1.3.0
mobile-status-bar: 1.0.3
natestrauser:connection-banner: 0.4.3
okgrow:iron-router-autoscroll: 0.0.7
reywood:iron-router-ga: 0.5.3
standard-app-packages: 1.0.5
steeve:jquery-qrcode: 0.2.2
underscore: 1.0.3
zimme:iron-router-active: 1.0.1

If you need any more info, feel free to ask. I can provide you with the logs and access to our server if needed.

@bastiRe
Copy link
Author

bastiRe commented Mar 25, 2015

My server is hosted via Modulus with 512mb/1 cpu. However, I can see the same error in the logs on my local development Macbook with OSX 10.10, but the restart of the local server is so fast that it's not noticeable in the app.
I'm currently using Meteor 1.0.4 and this is a list of my packages:

accounts-password 1.1.0
aldeed:autoform 4.2.2*
aldeed:collection2 2.3.2
aldeed:simple-schema 1.3.1
anti:fake 0.4.1
cordova:com.cowbell.cordova.geofence
cordova:com.phonegap.plugins.facebookconnect
cordova:de.appplant.cordova.plugin.local-notification
fourseven:scss 2.0.1_4*
iron:router 1.0.7
mdg:geolocation 1.0.2
meteor-platform 1.2.2
meteoric:autoform-ionic 0.1.5
meteoric:ionic 0.1.17+
meteoric:ionic-sass 0.1.9
meteoric:ionicons-sass 0.1.6
momentjs:moment 2.9.0
particle4dev:cordova-fb 1.1.3
raix:push 2.6.4
sacha:spin 2.0.4
service-configuration 1.0.4
useraccounts:ionic 1.8.1

@Weijtmans
Copy link

I pulled the following from the logs and Kadira (on or right before the server crash).
From logs:
Push: updated { token: { apn: 'APN OF CLIENT' },
appName: 'main',
userId: null,
createdAt: Wed Mar 25 2015 11:14:06 GMT-0400 (EDT),
updatedAt: Wed Mar 25 2015 11:14:06 GMT-0400 (EDT),
_id: [ [Circular] ] }
undefined

From Kadira:
Maximum call stack size exceeded
Cannot read property 'canonical_ids' of null
TypeError: Cannot read property 'canonical_ids' of null
at packages/raix:push/lib/server/push.api.js:243:1
at lambda (/opt/erasmus-master/app/programs/server/npm/raix_push/node_modules/node-gcm/lib/sender.js:116:20)
at IncomingMessage. (/opt/erasmus-master/app/programs/server/npm/raix_push/node_modules/node-gcm/lib/sender.js:66:21)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:944:16
at process._tickCallback (node.js:442:13)

@raix
Copy link
Collaborator

raix commented Mar 26, 2015

@Weijtmans I'll have a look at it

@dennisharrison
Copy link
Collaborator

@Weijtmans I'm also running this on a digital ocean 1gb droplet w/ 14.04 lts and don't see it - shoot.

@Weijtmans
Copy link

@dennisharrison I can give you temporary access to the droplet if that helps. Please feel free to contact me at elgar@brightbind.com.

@raix
Copy link
Collaborator

raix commented Mar 26, 2015

Could you guys test out Published raix:push@2.6.5

It's minor changes made - I'm wondering why android send returns no error but result == null on some systems - We'll have to investigate

@bastiRe
Copy link
Author

bastiRe commented Mar 27, 2015

As far as I can tell the error is gone. Good job.

@Weijtmans
Copy link

I tested locally (on OSX and on Ubunutu 14.04 with both iOS and Android clients). The problem seems to be fixed. Great work. Thank you!

@raix
Copy link
Collaborator

raix commented Mar 27, 2015

Cool,
Thanks guys!

I'm keeping this open just a bit more - I'm still thinking it's odd that the result is null on some platforms. So we should prop. want to investigate further.

@adeelraza
Copy link

I'm having the same issue. Upgrading to 2.6.5 starts giving a different error in Modulus logs:

Exception in setInterval callback: Error: Push: Error while parsing query string

@raix
Copy link
Collaborator

raix commented Mar 28, 2015

@adeelraza It's another issue tracked in #52

@raix raix closed this as completed in 88e9e24 Mar 28, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants