-
Notifications
You must be signed in to change notification settings - Fork 124
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
Broken with io.js 3.x and node.js 4.x #119
Comments
Yes, Nan 2.x is - at least from experience with other modules - a pretty big lift. For reference my port of node-mapnik is at mapnik/node-mapnik#509 |
But very easy sometimes ;) For node-gdal I think main difficulties are with |
I can get on this soon, and yeah, the typed array and object cache stuff are a bit funky. Any rough timeframe on when you all want this done by? |
We are following io.js versions for our Inspire platform but we can stay at 2.5.0 for now :) |
Adding to the list: nodejs/node#2798. |
|
The reminder helps... I had forgotten about this. Thanks! I'll get on it this evening and I don't think it will take too long. |
I'm starting to make some progress on this, but the I'm really considering doing the caching purely in javascript + node-weak. The C++ version has been very brittle and it's going to be harder and harder to maintain. Also, currently the |
Everything but the I'm getting segfaults here whenever Stack Trace:
Logs leading up to crash:
I've tried the js + |
I'm not entirely sure what's what here. Are you trying to access an object after its weak callback has executed? That is not allowed. The Persistent is cleared before the weak callback runs. |
Yeah its a bit of a mess. As it is now, the RasterBand object is accessed from the Dataset destructor. The goal is that when a Example: Its entirely possible that im looking at this problem the wrong way. |
Then something weird is going on. The callback should have been called when the handles were near death, it is not allowed to access them in that state. When a handle is made weak its state is set to WEAK https://github.com/nodejs/node/blob/master/deps/v8/src/global-handles.cc#L244 WEAK, // Flagged as weak but not yet finalized.
PENDING, // Has been recognized as only reachable by weak handles.
NEAR_DEATH, // Callback has informed the handle is near death. |
…epend on them. Don't do anything with V8 handles in destructors. (#119)
Thanks @kkoopa. Turns out I ended up restructuring things so it never has to deal with any V8 handles in the destructors / weak callbacks which should make it safer and easier to follow what is happening where. |
The only remaining thing to do is fix the |
Yes, your understanding is correct. |
Has this been addressed so that we can build node-gdal against node v4.x? |
Yes, this is complete – with the caveat being Windows (see #128) |
Hi,
This library doesn't work with io.js 3.x so it will also break with upcoming node.js 4.0.
I tried to bump to Nan 2.0.x but some parts of utils must be rewritten, and it's over my skills.
I pushed the PR #113 to update Travis CI config.
The text was updated successfully, but these errors were encountered: