Benchexec

Latest version: v3.21

Safety actively analyzes 628969 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 10

3.15

- Updated installation instructions for Debian.
Manual installation of the package is needed because `dpkg` on Debian is incompatible with our PPA on Launchpad.
- Some improvements to tool-info modules.

This release does not change the minimum supported Python version,
but we would like to remind you that BenchExec will soon stop supporting Python 3.6.

3.14

- Added a workaround for the known glibc deadlock described in [656](https://github.com/sosy-lab/benchexec/issues/656).
In most cases BenchExec should detect the deadlock and continue benchmarking after a timeout of 60s.
- We noticed a [performance problem in Python](https://github.com/python/cpython/issues/98493) that affects `benchexec` in container mode on machines with many cores and added an optimization that reduces its impact.
- Improved handling of non-existent mount points.
This makes BenchExec easier to use within Podman containers, and we now recommend Podman over Docker in our [documentation](https://github.com/sosy-lab/benchexec/blob/main/doc/container.md#using-benchexec-in-a-dockerpodman-container).
- `table-generator` no longer attempts to spawn a large number of threads (failing due to the limit on open files) on machines with many cores.
- Many new and improved tool-info modules.

This release does not change the minimum supported Python version, but we would like to remind you that BenchExec will soon stop supporting Python 3.6.

3.13

- More robust handling of child cgroups created within a run
Note that it is not safe to execute an untrusted tool inside a BenchExec run and give it access to cgroups (e.g., with `--no-container` or `--full-access /sys/fs/cgroups`).
However, some users want to execute trusted tools with cgroup access (e.g., nesting `runexec`) and we aim to support this.
It was found that BenchExec could hang or crash in certain cases where child cgroups were created by the process within a run and used to freeze processes (done by nested `runexec`, for example), or were made inaccessible using file-system permissions.
This lead to incomplete run cleanup and processes left running or hanging in an unkillable state.
This release fixes such situations and users who allow cgroup access within runs are strongly recommended to upgrade.
- Fix incomplete rewriting of numbers into roman numerals in the new LaTeX output for statistics.

This release does not change the minimum supported Python version, but we would like to remind you that BenchExec will soon stop supporting Python 3.6.

3.12

- Compatibility with Python 3.10
**Note that it is expected that this is one of the last releases that supports Python 3.6.**
- Export of statistics as LaTex commands in table-generator:
All those values that exist in the statistics table on the Summary tab of our HTML tables can be exported as a series of LaTeX commands with `--format=statistics-tex`.
These can then be included in a paper and the commands can be used to retrieve the statistics values ([documentation](https://github.com/sosy-lab/benchexec/blob/main/doc/table-generator.md#latex-export)).
The script `contrib/statistics-tex.py` that provided a subset of this functionality so far is removed.
Thanks to Sowasvonbot for implementing this!
- Slight improvements for mounting overlayfs:
- Avoid redundant mount points that could prevent certain nested mounts.
- Avoid a warning in the kernel log.
- Fix handling of non-printable characters in environment variables.
- Slight improvements for the HTML tables:
- Use of color for categories in filters
- More informative tooltip in quantile plots (thanks leventeBajczi)
- Added and improved tool-info modules

3.11

This release brings one major feature for the HTML tables:
The **statistics on the summary tab are now updated on-the-fly** if filters are applied and always take those filters into account (i.e., only show statistics about the selected rows). We update the row name in the statistics table to indicate this, but still be aware of it if you are accustomed to the previous behavior! This was also the last place in the HTML tables where filters were not respected, so now filters are taking into account consistently wherever data are shown or used.
Thanks to DennisSimon for implementing this!

There are also a few other improvements and fixes:

- Fix loading logs from local HTML tables in Chrome/Chromium.
- Update hint on which Firefox setting to change for access to logs from local HTML tables.
- When loading logs from local HTML tables fails, show a hint on how to start a small HTTP server with Python and let it serve the table and logs. Using this server to access the table from the browser instead of `file://` URLs will make the log access work regardless of browser versions and configuration options. The shown hint even includes a command line that just needs to be copy-and-pasted.
- Fix sliders jumping around in the filter sidebar when defining filters for numeric columns.
- Some tool-info modules were improved.

On 2022-03-11 a new build of the binary Debian package with version 3.11-2 was added here. This version differs only in how the Debian package is compressed and should now work on Debian again and not only on Ubuntu.

3.10

- Fix bug in HTML tables where content of a cell could be visible through another cell when scrolling horizontally.
- Slightly improved error handling and error messages regarding cgroup permissions, cgroupsv2, and invalid directory modes.
- Improved handling of debug log (`--debug`).
Previously, every transferred output file of the tool was logged, which would lead to large debug logs in case a tool produced many files.
Now we log only the names of at most 1000 such output files.
- Many new and improved tool-info modules.
- The default branch of the git repository has been renamed to `main`.
Please adjust forks and checkouts if required.

Page 2 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.