-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Prebuilt: runtime error undefined symbol: _ZN2v87Isolate19CheckMemoryPressureEv
after creating multiple canvases
#1252
Comments
undefined symbol: _ZN2v87Isolate19CheckMemoryPressureEv
undefined symbol: _ZN2v87Isolate19CheckMemoryPressureEv
after creating multiple canvases
Odd, this same issue came up in opencv 11 days ago: justadudewhohacks/opencv4nodejs#408. That's a v8 symbol, not cairo, so I don't know why that would matter. Did you rebuild node-canvas after installing libcairo2? If yes, the error going away would make more sense. |
Indeed the problem came from Node.js, upgrading to the latest version solved the issue! Cairo was not the problem, I must have done something more than installing/uninstalling it during my tests. Thanks for the help! |
@zbjornson I too had the same error: when I upgraded node-canvas from |
@azangru I think this was broken since Node.js v8.7.0 because of nodejs/node#15393, and fixed in |
Grr, GitHub ate my last comment. I think this was a bug in Node.js that was introduced in nodejs/node@1e31682#diff-914a24037ebfe44cbfab4f4ca7ff117a and fixed in v8.12.0 by nodejs/node@d868eb7. Having a hard time figuring out what release the breaking commit was first found in. |
Had the same problem, using nodejs from ubuntu/bionic repo (v8.10). After reading comment from @zbjornson decided to switch to nodejs.org repos (to upgrade to v8.12) and it worked. Should report this to Ubuntu maintainers... or wait until they decide to update upstream anyway. |
I am already on node 8.12.0 still I have been facing symbol look up error. |
My canvas version is 2.0.1 , node 8.12.0, node-gyp 3.8.0. Could anyone please help? |
Hi @vishalpawar048 I have node 8.12.0 and canvas 2.0.1 too, working fine here. Don't know how to get my node-gyp version, though. What distro are you using? And how do I get my node-gyp version so we can compare? |
Ok, that's very strange now, I have node-gyp version 3.8.0 too (got it with /usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp --version) |
@zbjornson you are saying that it's fixed at node |
@gavinr Yes, I think that is all correct. (That bug in Node.js would affect any library that uses that particular v8 API though.) |
@zbjornson Do you think it's possible to work around this at all. Appreciate this isn't ca canvas bug, but this will make canvas unusable in lambda for quite a while I expect. |
My guess is that it happens when we adjust the externally allocated memory tracking, but I'm not positive. If that's the case, it isn't strictly necessary, but I'm hesitant to remove it also as it aids the GC. It's a bit kludgy, but you can spawn another version of Node from your Lambda function. I used to do this three years ago when Lambda only supported 0.10: https://github.com/zbjornson/lambda-deploy Looks like someone just published an updated module that does the same thing: |
Issue
After creating a large number of canvases, the process crashes with the error message:
When testing with a standalone file that does nothing but creating canvases, it crashes after creating 100 canvases, but in my real application it crashes after creating the 3rd canvas. I'm guessing that it has to do with the total memory used by the process (as the error kind of indicate)s, which is much higher in my real application than in the standalone file.
I'm on Linux, and this error only happens when the cairo package is not installed. When it's installed everything works well.
Steps to Reproduce
Your Environment
v2.0.0-alpha-14
libcairo2
NOT installedThe text was updated successfully, but these errors were encountered: