Wednesday, 19 April 2017

NodeJS addon dependency failing in certain build configurations

I have a NodeJS addon that is built with another C++ library as a dependency. I just acquired an updated version of that dependency from a vendor. It builds fine with my pre-existing node-gyp configuration (binding.gyp file) but it has been generating segmentation faults at runtime under certain build configurations.

Using a release build with node 4.2.6, as I was doing with the previous version of the dependency, generates the runtime segfault. But oddly, building and running with node 4.2.4, and with node 7.6.0 do not produce the segfault. Additionally, only the release build of 4.2.6 generates the segfault; debug does not.

This is very confusing to me. Why would 4.2.6 release cause a segfault, while builds on both earlier and newer versions of node succeed, as does 4.2.6 debug?

Perhaps it has something to do with the build parameters used by the vendor when they generated the library, which happens to be really sensitive to particular node versions and node-gyp build configurations?

For the sake of argument, I need to get the node 4.2.6 release build working and can not just switch to a different version/build unless absolutely necessary.



via dphil

No comments:

Post a Comment