-
-
Notifications
You must be signed in to change notification settings - Fork 211
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
Fix use-after free + Fix building on Windows + prebuild for Node, Electron or on x86 + add debug build + fix the tests and ci #444
Conversation
b15cd83
to
9ae0120
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The TypeScript type compatibility tests are unnecessary. Zermoq has already jumped to v6.
4deb9c7
to
2025aa0
Compare
@aminya Should the testes around Typescript compatibility be removed since they are not needed anymore? |
Yes, I would remove them. Even TypeScript doesn't maintain type stability, and that's why some of the tests are failing. |
@aminya Do yo who is the lead maintainer of this project? @rolftimmermans @rgbkrk Can you guys help? Thank you. |
The core library which Zeromq.js uses is still active. I updated the library to 4.3.4 in this PR. So, maybe someone from the repository can take a look at this. |
There seem to be a lot of CI failures. Did anyone check if they are related to this change or not? |
Yes, it is related to TypeScript type compatibility which happens on old TypeScript versions. See the above comments. We don't actually need these tests because they are caused by TypeScript and not us. Zeromq has already bumped up the major version, so trying to fulfill these technical debts isn't healthy for the life of this project. |
I'm seeing some failing tests apparently not related to TypeScript:
Not sure if it's related to the changes made here or not. |
The CI on the master branch doesn't even start the tests! If you manage to build the library and manage to call the tests, then the same tests fail on master too. Here is a CI on master! 🙄 |
Atom 1.56 was released today with Electron 9, which means we are already late as Zeromq doesn't build anymore. If @zeromq doesn't plan to release a new version, we have to create a fork. |
5cb664a
to
2601d4a
Compare
This lets CMake use the best generator for that system, which increases the portability of the library and removing the need for workarounds in different environments
2601d4a
to
c6a2544
Compare
Replaces old mocha.opts with .mocharc.js. Now the mocha config is detected correctly.
There are no breaking changes: node-ffi-napi/weak-napi@v1.0.3...v2.0.2
It is not the responsibility of Zeromq to be buildable on old TypeScript or fullfil technical debts that TypeScript doesn't comply to.
c6a2544
to
be3eff2
Compare
I got access to this repository. I plan to merge this and then try to debug the memory leak issues (which seems to cause the GC tests to fail as well). Organized the commits. The related commits are now together, and their messages are more descriptive. |
@@ -1,59 +1,62 @@ | |||
language: node_js |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we favor GitHub Actions over Travis for the 6.x branch moving forward?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we can. I prefer to do this in the follow-up pull requests to keep things simpler.
This lets CMake use the best generator for that system, which increases the portability of the library and removes the need for workarounds in different environments. This change allows building with the latest Visual Studio and also on other architectures.
updated the CI to use a Node version that most people use instead of the old Node 10. This allows for realistic testing of the library. Electron uses Node 12 exclusively.
fixed the unit tests and Mocha
updated the prebuild scripts to provide prebuilds for both Electron and Node and both x64 and x86
updated old prebuildify and none-found node-addon-api
added a debug build that can be done by
node-gyp rebuild --debug
which has C++ exception support. This allows seeing what is going on on the C++ side.added address sanitizer for MSVC
fixed a "use after free" that was caused because the old node-addon-api library was being used instead of the one in node_modules. This was detected by MSVC in socket construction tests
Details
Fixes #443
Fixes #432
Fixes #419
Fixes #396