-
Notifications
You must be signed in to change notification settings - Fork 320
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
NetBSD mmap() #186
Comments
You put the mmap fix in the wrong place. Can you test #187? |
With #187, I still see an error upon running randomx-tests:
Edit: Not sure if it's relevant, but my cut-and paste came from monero-project/monero#5192 (if I remember correctly). |
@thomasvaughan Can you try #187 again? I missed a few places where the W^X policy had to be enabled in the code. |
In case it helps, more verbose output is generated by running
Edit: I wrote the above before I saw your comment above. I'll try again. |
./randomx-tests yields 89 "PASSED" messages, followed by 1 "SKIPPED" message and then a "Memory fault". Here are the last four lines:
(This is without any |
I may have misrepresented the syntax of the paxctl command in my comments above. To be clear, the manpage says it's possible to disable PaX MPROTECT bby means of
|
Can you check with I'm guessing |
Here's the output from
I'm not fluent in the use of gdb, but entering
That's with all PaX flags enabled . Incidentally, gdb says |
This crash doesn't make a lot of sense. Does it always crash in this place? Can you use the Also the benchmark uses the same batching technique as test 91, so I'm not sure why one crashes and the other one doesn't. |
|
@thomasvaughan can you test again using both #187 and #189 (applied at the same time)? |
I refreshed #187 and tried again. randomx_benchmark is still OK. Here's the last few lines of output from
I also checked out #189, but it didn't compile. I wonder if you've accidentally put the wrong src/virtual_memory.cpp in #189; since I don't see any "defined(__NetBSD__)" in there and, it's falling through to the not-defined-anything case:
Edit: markup |
I've just realized you said "applied at the same time"! Sorry, will try again. |
Having followed your instructions properly this time, the last few lines of output from
Also, |
Cool, so it looks like all issues have been solved. |
Previously reported to the Monero project as Issue #6592:
Compiling on NetBSD 9 (x86_64) fails with this message:
Compiling succeeds if the following is added immediately below the "//OpenBSD does not support huge pages" comment in src/virtualmemory.cpp
(and also a
&& !defined(__NetBSD__)
is appended to the end of the#elif !defined(__OpenBSD__)
line in src/tests/affinity.cpp). This is a quick cut-and-paste from elsewhere, since I don't know C++, and I'm not suggesting it's sensible.Then, running randomx-tests gives the following output:
[ 1] Cache initialization ... PASSED
[ 2] SuperscalarHash generator ... PASSED
[ 3] randomx_reciprocal ... PASSED
[ 4] randomx_reciprocal_fast ... PASSED
[ 5] Dataset initialization (interpreter) ... PASSED
[ 6] Dataset initialization (compiler) ... terminate called after throwing an instance of 'std::runtime_error'
what(): mprotect failed
Abort (core dumped)
The text was updated successfully, but these errors were encountered: