-
Notifications
You must be signed in to change notification settings - Fork 67
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
node_sqlite3.node crashing on Windows arm64 #73
Comments
Just tried building with this PR and that seems to work: #72 I can build |
Alright, have been able to dig a bit deeper, but this is where my knowledge of debugging/C stops. Would very much appreciate if someone could point me in the right direction as to what exactly is going wrong here 😊 I tried two things:
Windows arm64 build with 32-bit OpenSSL Debug files which can be opened in the Visual Studio debugger (~532MB): https://fits4all-my.sharepoint.com/:u:/g/personal/dennis_fits4all_nl/EVKIMRKYSEZJqlvQk4ORy8gB07MXDwTR9_W0cLSygwpc_Q?e=IZcAox Windows arm64 build with native arm64 OpenSSL libraries Debug files which can be opened in the Visual Studio debugger (~506MB): https://fits4all-my.sharepoint.com/:u:/g/personal/dennis_fits4all_nl/ETyuNt0xdAZKmPKIKj2xW7oB8rHFkdqNaqcfaFgg0McF7w?e=dVvGQi |
Those are the same symptoms as I've seen for #67 - it crashes as soon as openssl is initialized. You should also note that the OpenSSL dll files are not listed as loaded in the dump. The issue I had is that if you build against the Node runtime, it uses Node's OpenSSL symbols, which are not available when running on Electron. Instead, build for Electron directly. See the build arguments used here: node-sqlcipher/.circleci/config.yml Lines 22 to 25 in fe245cd
I'm guessing this is the issue in your case as well (although there could be more arm64-specific issues after this one is fixed). |
That's super helpful info, thank you. Will try that later today 👍🏼 |
Alright, it works when I use statically built OpenSSL libraries that I added for ARM64 in this PR: https://github.com/EvanHahn-Signal/node-sqlcipher/pull/1/files Would you accept a PR here that switches to statically linked OpenSSL for Windows (x86, x64 and arm64), @rkistner? That's what the Signal team did in their fork: EvanHahn-Signal@1691694 (libcrypto.lib, libssl.lib, ossl_static.pdb) |
Yes, it would be great to get rid of the dll's, and make the different platforms behave more consistently by statically linking everywhere. |
I'm trying to get Signal Desktop to work on Windows arm64 (signalapp/Signal-Desktop#3745 (comment)), and it's crashing with error code 3228369023 when I try to run it. I debugged in Visual Studio (on an x64 machine, since Microsoft doesn't support debugging on arm64 yet) and it looks like it's crashing on
node_sqlite3.node
:When I clone this repo and build it, it fails with the following error:
I tried building
node-sqlite3
locally, and it works. Running tests throughnpm test
results in:... so that's a good start.
I don't know yet what exactly is going wrong, but will investigate later. Wanted to at least report my findings so far here 😊
Would love to get
node-sqlcipher
to build/run on Windows arm64 and have a device (Surface Pro X) at hand for testing.The text was updated successfully, but these errors were encountered: