stdlib icon indicating copy to clipboard operation
stdlib copied to clipboard

[BUG]: Segmentation fault when running C benchmarks

Open Planeshifter opened this issue 4 years ago • 1 comments

Checklist

Please ensure the following tasks are completed before filing a bug report.

  • [x] Read and understood the Code of Conduct.
  • [x] Searched for existing issues and pull requests.

Description

Description of the issue.

Am encountering a Segmentation fault (core dumped) error when running C benchmarks of mathematical functions.

Questions

Any questions for reviewers?

No.

Other

Any other information relevant to this issue? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

The issue seems to be due to the benchmarks overflowing the default maximum stack size of 8 MB. Increasing the stack size via e.g. ulimit -s 32767 causes the benchmarks to run properly.

We might want to rethink whether to allocate memory with malloc.

Reproduction

What steps are required to reproduce the unexpected output?

In order to reproduce this bug, do the following:

  • From the top-level stdlib directory, run
make benchmark-c BENCHMARKS_FILTER=.*/dsqrt/.*

Expected Results

What are the expected results?

The benchmarks should run without issues.

Actual Results

What are the actual results?

The following are the actual results:

(...)
ok 14 benchmark finished
# c::dsqrt:len=100000
  ---
  iterations: 1000
  elapsed: 0.429753065
  rate: 2326.917667814
  ...
ok 15 benchmark finished
# c::dsqrt:len=1000000
Makefile:133: recipe for target 'run' failed
make[1]: *** [run] Segmentation fault (core dumped)
make[1]: Leaving directory '/home/philipp/git/stdlib/lib/node_modules/@stdlib/math/strided/special/dsqrt/benchmark/c'
/home/philipp/git/stdlib/tools/make/lib/benchmark/c.mk:48: recipe for target 'benchmark-c' failed
make: *** [benchmark-c] Error 1

Environments

What environments are affected (e.g., Node v0.4.x, Chrome, IE 11)? If Node.js, include the npm version, operating system, and any other potentially relevant platform information.

The following environments are affected:

  • Linux Ubuntu

Planeshifter avatar Nov 29 '20 06:11 Planeshifter

Linking to the relevant line(s) which would need to be changed across the project.

kgryte avatar Aug 13 '21 02:08 kgryte