Skip to content

Memory corruption bugs (exit code 134) #1248

Description

@BaumiCoder

The tool crashes when analyzing some projects (version 0.0.25). If in $path is the path to the respective project, the call looks like this:

rust-code-analysis-cli --paths "$path" --metrics --output-format json

Examples

Here are some examples for the crashes:

Repository revision error file
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 6d35786de28116ecf78797a62b84e6bf3c45aa5a munmap_chunk(): invalid pointer tools/perf/arch/x86/tests/insn-x86-dat-64.c
https://github.com/microsoft/TypeScript.git f350b52331494b68c90ab02e2b6d0828d2a22a74 munmap_chunk(): invalid pointer tests/cases/fourslash/reallyLargeFile.ts
https://codeberg.org/tenacityteam/tenacity.git 5b2330ba6131fd66f25fe805c1d89cc1c93c34b2 double free or corruption (out) libraries/lib-theme/ThemeAsCeeCode.h
https://github.com/opencv/opencv.git 808d2d596c475d95fedb6025c9ed425d62bba04c double free or corruption (out) 3rdparty/openexr/Half/toFloat.h
https://github.com/MariaDB/server.git c8bfb4dbd298998c699d4f7670b5867a62376764 double free or corruption (out) mysql-test/include/dbt3_s001.inc

Which of the two errors exactly occurs seems to be not stable.

Workaround

My current workaround is to call the CLI tool separate for every file. This at least allows getting the results for the other files, where it does not crash. However, this is maybe slower. The bash code looks like this:

find "$path" -path "$path/.git" -prune -o -type f -exec bash -c \
      'rust-code-analysis-cli --paths "$0" --metrics --output-format json || true' '{}' \;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions