Skip to content

Failure on Model.create with backbone.js v0.9.2 #4

@hughlomas

Description

@hughlomas

I've tried this with both the Todo example that is provided, and with a custom example of my own. Both work with the included backbone.js v0.5.3 but both experience this issue with backbone.js v0.9.2 (latest at the current time).

I will assume the Todo example for the following.

Attempting to create a new Todo:

  • in Chrome 19.0.1084.56 m the browser hangs until eventually the tab dies.
  • in Firefox 12.0 however the server console outputs the following:
Conn Error:  TypeError: Cannot convert null to object
    at setAt (c:\example\node_modules\dnode\node_modules\dnode-protocol\index.js:212:45)
    at c:\example\node_modules\dnode\node_modules\dnode-protocol\index.js:197:20
    at Array.forEach (native)
    at Object.unscrub (c:\example\node_modules\dnode\node_modules\dnode-protocol\index.js:194:42)
    at EventEmitter.handle (c:\example\node_modules\dnode\node_modules\dnode-protocol\index.js:86:29)
    at c:\example\node_modules\dnode\node_modules\dnode-protocol\index.js:81:20
    at EventEmitter. (c:\example\node_modules\dnode\node_modules\lazy\lazy.js:62:13)
    at EventEmitter. (c:\example\node_modules\dnode\node_modules\lazy\lazy.js:46:19)
    at EventEmitter.emit (events.js:67:17)
    at EventEmitter. (c:\example\node_modules\dnode\node_modules\lazy\lazy.js:46:39)

The minified DNode client-side code is difficult for me to debug, however the chrome lockup seemed to be
due to some recursive looping over every object in window.

Here is an example chrome stack trace upon pausing script execution after attempting to create a todo:

require.define.b.exports (dnode.js:1)
require.define.s (dnode.js:1)
i (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
require.define.b (dnode.js:1)
require.define.s (dnode.js:1)
g (dnode.js:1)
h (dnode.js:1)
require.define.g.map (dnode.js:1)
require.define.b.exports.b.scrub (dnode.js:1)
require.define.b.exports.c.request (dnode.js:1)
require.define.b.exports.c.handle.d (dnode.js:1)
require.define.g.wrap (dnode.js:1)
_.mixin.sync (dnode.backbone.js:123)
_.extend.save (backbone.0.9.2.js:396)
_.extend.create (backbone.0.9.2.js:784)
window.AppView.Backbone.View.extend.createOnEnter (todos.js:254)
f.event.dispatch (jquery.min.js:3)
f.event.add.h.handle.i (jquery.min.js:3)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions