Regression in the last two weeks, app won't start anymore

32 views
Skip to first unread message

Ben Ng

unread,
Apr 22, 2013, 11:15:43 PM4/22/13
to ged...@googlegroups.com
App used to be working just fine, but won't start since I ran `npm update`. Not sure where the problem is, I've been hunting around for a while.

22:09:06 web.1  | started with pid 39712
22:09:06 web.1  | /Users/snip/Documents/geddy/node_modules/utilities/lib/core.js:22
22:09:06 web.1  |     for (var p in src) {
22:09:06 web.1  |                   ^
22:09:06 web.1  | RangeError: Maximum call stack size exceeded
22:09:06 web.1  | exited with code 1


Tried running it on my local copy of geddy (which is two weeks behind master), didn't work either. Tried using 0.0.19 of the utilities module, still doesn't work.

Not really sure in which module the problem is, nor do I know where I should start looking.

Going to attach my npm list output below:

├── as...@0.2.7
├─┬ bcr...@0.7.5
│ └── bind...@1.0.0
├── e...@0.8.3
├─┬ ge...@0.7.22
│ ├─┬ bar...@0.0.8
│ │ └── infle...@1.2.5
│ ├─┬ ja...@0.5.14
│ │ └─┬ mini...@0.2.12
│ │   ├── lru-...@2.3.0
│ │   └── sig...@1.0.0
│ ├─┬ mo...@0.0.44
│ │ └─┬ p...@0.9.0
│ │   └── generi...@2.0.2
│ └── util...@0.0.23
├── mi...@1.2.9
├─┬ mongodb...@0.4.0
│ ├── async_...@0.3.2
│ └─┬ mon...@0.9.9-8
│   └── bs...@0.0.4
├─┬ pass...@0.1.16
│ └── pkg...@0.2.3
├─┬ passpor...@0.1.6
│ └── pkg...@0.2.3
├── re...@0.8.3
├─┬ sock...@0.9.14
│ ├── base...@0.1.0
│ ├── polic...@0.0.4
│ ├── re...@0.7.3
│ └─┬ socket.i...@0.9.11
│   ├─┬ active-x-...@0.0.1
│   │ └── zepa...@0.0.5
│   ├── ugli...@1.2.5
│   ├─┬ w...@0.4.25
│   │ ├── comm...@0.6.1
│   │ ├── opt...@0.0.3
│   │ └── tiny...@0.0.1
│   └── xmlhttp...@1.4.2


Matthew Eernisse

unread,
Apr 23, 2013, 1:11:18 AM4/23/13
to ged...@googlegroups.com
This sort of error I've seen a number of times in association with the breaking changes in Node v0.10 with subclassing EventEmitter. Basically all events for instances end up getting fired on the shared prototype.

What OS is this, and what version of Node?


--
The official community discussion group.
website: geddyjs.org, source: https://github.com/mde/geddy, group: https://groups.google.com/d/forum/geddyjs?hl=en
---
You received this message because you are subscribed to the Google Groups "GeddyJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to geddyjs+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Ben Ng

unread,
Apr 23, 2013, 1:38:59 AM4/23/13
to ged...@googlegroups.com
Breaks on both OSX, and heroku.

Running on Node 0.10.3

Interesting. I definitely had it running on 0.10.x just two weeks ago.

Odd, because I definitely had it working on 10.3

Ben Ng

unread,
Apr 23, 2013, 5:27:01 PM4/23/13
to ged...@googlegroups.com
Ran the same app on 0.8.x today (Heroku). Still failing with the same error. Hmm..

Any tips for debugging this?

Matthew Eernisse

unread,
Apr 23, 2013, 6:14:49 PM4/23/13
to ged...@googlegroups.com
The other major change that I can think of is that recently I did away with the code that creates a brand-new prototype object for the controller instances to inherit from. Are you doing anything interesting in your Application controller?

Is there any way you can make some of this code available for us to poke at?

Ben Ng

unread,
Apr 24, 2013, 10:30:02 AM4/24/13
to ged...@googlegroups.com
Sorry I unceremoniously left IRC last night.

After smacking a console.log in Utilities all I saw was an infinite loop of pain:

09:23:36 web.1  | { client: [Circular],
09:23:36 web.1  |   config: 
09:23:36 web.1  |    { credentials: 
09:23:36 web.1  |       { expired: false,
09:23:36 web.1  |         accessKeyId: 'snipsnipsnip',
09:23:36 web.1  |         secretAccessKey: 'snipsnipsnip',
09:23:36 web.1  |         sessionToken: undefined },
09:23:36 web.1  |      credentialProvider: { providers: [Object] },
09:23:36 web.1  |      region: 'us-west-2',
09:23:36 web.1  |      apiVersions: {},
09:23:36 web.1  |      apiVersion: null,
09:23:36 web.1  |      endpoint: undefined,
09:23:36 web.1  |      httpOptions: {},
09:23:36 web.1  |      maxRetries: undefined,
09:23:36 web.1  |      maxRedirects: 10,
09:23:36 web.1  |      paramValidation: true,
09:23:36 web.1  |      sslEnabled: true,
09:23:36 web.1  |      s3ForcePathStyle: false,
09:23:36 web.1  |      computeChecksums: true,
09:23:36 web.1  |      dynamoDbCrc32: true },
09:23:36 web.1  |   endpoint: 
09:23:36 web.1  |    { protocol: 'https:',
09:23:36 web.1  |      slashes: true,
09:23:36 web.1  |      auth: null,
09:23:36 web.1  |      host: 's3-us-west-2.amazonaws.com',
09:23:36 web.1  |      port: 443,
09:23:36 web.1  |      hostname: 's3-us-west-2.amazonaws.com',
09:23:36 web.1  |      hash: null,
09:23:36 web.1  |      search: null,
09:23:36 web.1  |      query: null,
09:23:36 web.1  |      pathname: '/',
09:23:36 web.1  |      path: '/',
09:23:36 web.1  |      href: 'https://s3-us-west-2.amazonaws.com/' } }

Whatt?

Anyway, I figured it was odd that my s3 stuff was infinite looping so i just reverted to  an older version of aws-sdk and that fixed the problem.

Later I realized that I (stupidly) had initialized aws-sdk in my environment.js file and forgotten about it. Removing that code fixed the crash on startup on the latest aws-sdk and geddy versions. Seems like it was getting mixed in in an infinite loop.

Matthew Eernisse

unread,
Apr 24, 2013, 3:40:21 PM4/24/13
to ged...@googlegroups.com
Ah, it's not that it was getting infinitely mixed in -- it's just that the mixin method is what created whatever circular reference which caused the infinite recursion.

Anyhow, I'm glad you got it figured out!
Reply all
Reply to author
Forward
0 new messages