stdlib-js / stdlib-js/stdlib

[BUG]: Segmentation fault when running C benchmarks

Abierto
#369 1 comentario 0 reacciones 0 asignados Ver en GitHub
Accepted Bug
Lenguaje dominante
JavaScript
Estrellas
6k
Forks
1.3k
Merge medio
1 d 3 h
PR fusionados (30 d)
611

Descripción

## Checklist

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

- [x] Read and understood the [Code of Conduct][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:

```text
(...)
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

[code-of-conduct]: https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.