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
future_overhead #609
Comments
That's exactly what the error message says - a silly system limitation in Linux. The only way to circumvent this is to compile HPX such that no guard pages for stack segments are allocated. The way to do this is to pass Alternatively, if you have root accesss to the machine or if you can convince a sysadmin to change it for you, you could change the value for Please note that by disabling guard pages for stack segments you disable the capability to detect stack overflows, which might lead to other, more subtle errors. |
I'm going to close this as there isn't anything we can do except for the outlined changes to either the compilaton of HPX or the system settings. |
Something is strange about this since 50% of the time, this error message does not show up (i.e. the code works as expected). |
If the random nature of this problem is expected, please feel free to close. |
The randomness is just due to the nature of the hardware. Sometimes all the OS-threads are fast enough to eat all the work before too many threads are queued and that limit is hit. |
Guard pages will be runtime configurable, see #611. |
Getting a segfault with ./future_overhead -t 12 on a 12 core machine:
[manderson@156-56-14-84 bin]$ ./future_overhead -t 2
invoked 500000 futures in 2.16299 seconds
[manderson@156-56-14-84 bin]$ ./future_overhead -t 4
invoked 500000 futures in 2.42442 seconds
[manderson@156-56-14-84 bin]$ ./future_overhead -t 6
invoked 500000 futures in 3.21879 seconds
[manderson@156-56-14-84 bin]$ ./future_overhead -t 12
{what}: mmap() failed to allocate thread stack due to insufficient resources, /proc/sys/vm/max_map_count may be too low: HPX(unhandled_exception)
{version}: V0.9.5-trunk (AGAS: V2.1), Git: 64fc1da
{boost}: V1.51.0
{build-type}: release
{date}: Nov 14 2012 10:34:43
{platform}: linux
{compiler}: GNU C++ version 4.6.3 20120306 (Red Hat 4.6.3-2)
{stdlib}: GNU libstdc++ version 20120306
{what}: mmap() failed to allocate thread stack due to insufficient resources, /proc/sys/vm/max_map_count may be too low: HPX(unhandled_exception)
{version}: V0.9.5-trunk (AGAS: V2.1), Git: 64fc1da
{boost}: V1.51.0
{build-type}: release
{date}: Nov 14 2012 10:34:43
{platform}: linux
{compiler}: GNU C++ version 4.6.3 20120306 (Red Hat 4.6.3-2)
{stdlib}: GNU libstdc++ version 20120306
^CAborted (core dumped)
The text was updated successfully, but these errors were encountered: