-
Notifications
You must be signed in to change notification settings - Fork 425
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
i2pd immediately segfaults on OpenBSD i386 hardware #2090
Comments
Try building binary yourself. I don't know where you got your binary from, but this file Probably global compiler defaults were changed at some point, so specifying |
I am not sure if I did this right - I added
... and on a second attempt I updated CMakeLists.txt, even though I think it should have the same effect:
In any case, i2pd still fails, but now the backtrace looks like this:
|
If crashing location is different depending on |
It also worth to try |
Showing which exact command resulted in crash may be useful as well. I looked at boost libraries from: Did not found SSE there yet, but saw |
I will check - compiling with
Would that affect the issue even though I'm building a dynamic library? |
I wonder if it comes from C++ runtime.
Didn't knew this. Should be fine then, in case of problems, they will appear in library module, not in i2pd binary code. |
I generally see less lines with
I did a simple
Actually, at the beginning I tried to build a static binary, but then linking would fail. I guess with i386 failing, it doesn't make much sense to try i486? |
There should be no SSE commands for I suspect You may also look at exact options used when source files are compiled. |
Looks like I figured out what happened. |
I decided to try it myself - installed OpenBSD with |
I can confirm your findings. Also, I found that the error goes away even if I do not provide any Note that
Can I get AES-NI without SSE?
How can I check this myself on the system that doesn't produce the error?
I wonder what changed in comparison to their 7.2 package, which still worked on my hardware ... |
I was searching for "xmm" text among disassembly made by IDA. Ghidra should work as well, but I have no experience with it. Also it is possible to instruct compiler to generate assembly listing.
AES-NI instructions use SSE registers, so in real CPUs, supporting AES-NI, both instruction sets will be available.
It is possible to try building it yourself and see, but I don't think it's worth it. |
Another interesting thing I did not expect, but just came to my mind was this check:
In any case, I'm back up running. Pleasure working with you - thanks for the guidance! |
I have been running i2pd 2.46.1 from OpenBSD 7.2 ports successfully (#1509 (comment)).
After upgrading, in both, OpenBSD 7.4 (with i2pd version 2.49) and OpenBSD 7.5 (with i2pd version 2.52), i2pd immediately terminates with error
Illegal instruction
.Here is the backtrace:
This is the hardware:
On a i386 QEMU virtual machine (same versions), i2pd runs as expected.
The following is equal on both systems:
But ld.so differs:
The text was updated successfully, but these errors were encountered: