Open morungos opened 3 years ago
same error on MacOS 10.13.6 (High Sierra) and macOS 10.15.7 (Catalina) VSCode version: VSCode 1.61.0 Pymakr version: 1.1.14
same error on Ubuntu 20.04.3 LTS VSCode version: VSCode 1.61.0 Pymakr version: 1.1.14
I tried downgrading Pymakr to 1.1.13 and it is working fine.
Thanks for the feedback.
Does deleting this file and restarting VSCode have any effect?
~/.vscode/extensions/pymakr-vsc/node_modules/@serialport/bindings/build/Release/bindings.node
@jakobrosenberg doesn't seem to resolve the issue.
Here's a full log of Developer Tools after deleting ~/.vscode/extensions/pycom.pymakr-1.1.14/node_modules/@serialport/bindings/build/Release/bindings.node
and restarting VSCode:
Thanks @snebot-bg. That rules out a stale binding being used.
Do you have any pointers on how I could replicate this issue in a VM? I have Popos 21.04 running in HyperVM, but can try other distros.
@jakobrosenberg
The steps necessary to reproduce this issue are:
When I tested this issue I also disabled all other extensions to ensure Pymakr was causing the issue and other extensions weren't interfering. FWIW: I had an issue where the Python extension stopped working after Pymakr crashed Extension Host (had to reinstall the Python extension) but now seems to be resolved and I am unable to replicate that problem again.
As commented above, this issue seems to be present on MacOS so I think it is fair to say that trying different distros probably won't show any different results. So I would say PopOS is fine.
I had this same issue, and interestingly managed to resolve it by deleting the node_modules folder in "~/.vscode/extensions/pycom.pymakr-1.1.14" (MacOS) and rerunning "npm install" from that same folder. After doing that I was not able to reproduce the issue.
@snebot-bg I'm unfortunately reproduce the issue on Windows 10, PopOs (VM), and windows-latest, macos-18.04, ubuntu-20.04
in Github Actions.
@cpdeethree thanks you! Could I ask you to try deleting the file again, but this time without running npm install
after?
~/.vscode/extensions/pycom.pymakr-1.1.14> rm ~/.vscode/extensions/pycom.pymakr-1.1.14/node_modules/@serialport/bindings/build/Release/bindings.node
~/.vscode/extensions/pycom.pymakr-1.1.14> ls ~/.vscode/extensions/pycom.pymakr-1.1.14/node_modules/@serialport/bindings/build/Release/bindings.node
/Users/me/.vscode/extensions/pycom.pymakr-1.1.14/node_modules/@serialport/bindings/build/Release/bindings.node
~/.vscode/extensions/pycom.pymakr-1.1.14>
@jakobrosenberg Worked fine, file reappeared on reboot of vscode . My guess is that some dependencies were not upgrading properly.
I do want to note I was experimenting with version pinning before deleting the node_modules folder - pinning serialport to any specific version and running "npm install" after changing this line in package.json also fixed the issue.
"dependencies": {
"serialport": "^9.2.0"
},
"dependencies": {
"serialport": "9.2.0"
},
After trying all the versions from 9.2.0 to 9.2.4 and then finally blowing away the entire node_modules folder and rerunning npm install with the original "^9.2.0" back in place I still wasn't able to repro. I was also unable to reproduce by uninstalling and reinstalling the extension from scratch (whereas when I had the issue before performing these steps uninstalling and reinstalling the extension did not help). I was also unable to reproduce by deleting the extension folder entirely and reinstalling. All of which points to stale dependency IMO.
@cpdeethree can you confirm that your initial error was this one:
dyld: lazy symbol binding failed: Symbol not found: __ZN2v86Object18InternalFieldCountEv
I have suspected versions past serialport
9.0.7
to be a cause of certain errors, but since I can't reproduce them, it's pure speculation. reference
@jakobrosenberg Yes, I can confirm that was the precise initial error that I encountered.
Here are a series of steps I have followed to fix this issue.
rm -rf ~/.vscode/extensions/pycom.pymakr-1.1.14
node_modules
folder and reinstalled modules.
cd ~/.vsocde/extensions/pycom.pymakr-1.1.14
rm -rf node_modules
npm install
bindings.node
.
rm -rf ~/.vsocde/extensions/pycom.pymakr-1.1.14/node_modules/@serialport/bindings/build/Release/bindings.node
After reopening VSCode the extension works fine. I have tried these exact steps twice and the results are the exact same.
Edit: the serialport module issue I mentioned might be related to this issue.
something which might help in solving the issue (macOS Catalina):
New beta release out.
https://github.com/pycom/pymakr-vsc/releases/tag/v1.1.15-beta.0
Ahh, this is the problem I was talking about in #157.
I'm still on Catalina, but just installing the 1.1.15-beta.0 version didn't fix the extension host crashing for me.
My fix was mostly similar to @mindeon's above, except my ~/.vscode/extensions/pycom.pymakr-1.1.15/
folder did have a node_modules
inside it. I removed it and manually ran npm install
and that did the trick and everything's working now.
Looking at the contents of node_modules
after a fresh installation of Pymakr 1.1.15, I noticed ./node_modules/@serialport/bindings/build/Release/bindings.node
has a date modified of the 19th of June, which seems to correspond exactly to the old 9.2.0 release of node-serialport... seems a bit suspicious?
So vscode auto-updated pymakr to 1.1.15 and my bindings.node also reverted to a modified date of 19 june, giving the error again. Very interesting.
~/.vscode/extensions/pycom.pymakr-1.1.15> npm list serialport
pymakr@1.1.15 /Users/me/.vscode/extensions/pycom.pymakr-1.1.15
└── serialport@9.2.0
When I reran npm install here I still got 9.2.0, even though package.json specifies carat "^9.2.0" meaning it should go grab the latest patch version, which is 9.2.4.
I was curious if forcing something above 9.2.0 in package.json would cause the issue to be solved. In my case I again changed "^9.2.0" in package.json to "^9.2.1" and reran npm install. when I did that the version was forced to latest 9.2.4 and fixed the issue again. So I can confirm changing "^9.2.0" to "^9.2.1" in package.json should fix the issue.
Thanks @cpdeethree . That's very interesting. It sounds like the version was locked by package-lock.json and after the 9.2.1
bump the lock file no longer satisfied the dependencies.
I would have expected PyMakr to download/rebuild the correct binding on binding-errors, but for some reason that didn't happen in your installation.
I'll err on the side of caution and publish a new version with ^9.2.4
.
What are the steps to reproduce this issue?
What happens?
The VSCode extension host gets shut down with internal linkage errors. VSCode offers a restart, but using this repeats the error.
What were you expecting to happen?
VSCode would have extensions running and enabled, and ideally, Pymakr. This shuts down all extensions, not
Any logs, error output, etc?
(If it’s long, please paste to https://gist.github.com and insert the link here)
Developer tools console log includes the following:
And
Any other comments?
Pymakr 1.1.13 continues to work fine -- so downgrading means this is not a blocker.
What versions of software are you using?
Operating system:
Mac 11.6 (Big Sur)
VSCode version:
VSCode 1.61.0
Pymakr version:
1.1.14