Spiderable/PhantomJS failing for unknown reason


#1

I just noticed this on my production server:

spiderable: phantomjs failed: Error: Command failed:
    at ChildProcess.exithandler (child_process.js:658:15)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:766:16)
    at Socket.<anonymous> (child_process.js:979:11)
    at Socket.emit (events.js:95:17)
    at Pipe.close (net.js:466:12)
stderr:
Error: Meteor code must always run within a Fiber. Try wrapping callbacks that y
ou pass to non-Meteor libraries with Meteor.bindEnvironment.
    at Object.Meteor._nodeCodeMustBeInFiber (packages/meteor/dynamics_nodejs.js:
9:1)
    at [object Object]._.extend.get (packages/meteor/dynamics_nodejs.js:21:1)
    at [object Object].RouteController.lookupOption (packages/iron:router/lib/route_controller.js:66:1)
    at new Controller.extend.constructor (packages/iron:router/lib/route_controller.js:26:1)
    at [object Object].ctor (packages/iron:core/lib/iron_core.js:88:1)
    at Function.Router.createController (packages/iron:router/lib/router.js:201:1)
    at Function.Router.dispatch (packages/iron:router/lib/router_server.js:39:1)
    at Object.router (packages/iron:router/lib/router.js:15:1)
    at next (/opt/xyz/app/programs/server/npm/webapp/node_modules/connect/lib/proto.js:190:15)
    at packages/spiderable/spiderable_server.js:123:1
spiderable: phantomjs failed: Error: Command failed:
    at ChildProcess.exithandler (child_process.js:658:15)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:766:16)
    at Socket.<anonymous> (child_process.js:979:11)
    at Socket.emit (events.js:95:17)
    at Pipe.close (net.js:466:12)

What could be causing this? Incidentally, if there’s a better way to do SEO than using spiderable, PhantomJS, and manuelschoebel:ms-seo, I’d love to hear it. This app uses Iron Router and Blaze, BTW.


#2

Have you tried https://github.com/ongoworks/spiderable/ instead of regular spiderable?
This version worked for me when i deployed meteor app to server directly, and working now, with docker.