Skip to content

[Crash] Assertion failure in Abc_AigUpdateLevelR_int triggered by 'rewrite' command #457

@zhihaoxu1325

Description

@zhihaoxu1325

hi, I encountered a reproducible crash (assertion failure) when running the rewrite command on a specific .blif input.

The crash occurs due to a failed assertion in src/base/abc/abcAig.c, indicating a potential graph corruption or invalid node reference during level update.

Steps to Reproduce

Use the attached test case: crash_retcode_case.blif.

Run the following command:
./abc -c "read_blif crash_retcode_case.blif; strash; rewrite"

Observed Behavior The program aborts with an assertion failure:
abc: src/base/abc/abcAig.c:1134: Abc_AigUpdateLevelR_int: Assertion `Abc_ObjIsNode(pNode)' failed.
Aborted (core dumped)

Analysis: It seems the rewrite operation creates an invalid intermediate state (possibly a dangling pointer or a non-node object in the AIG) which triggers the assertion when Abc_AigUpdateLevelR_int attempts to traverse the graph.

Environment

OS: Linux (Ubuntu-22.04)

ABC Version: Master branch (latest)

Attachments
https://drive.google.com/file/d/1vXkmMLJsQ9tMuvnnpPutVU0vmKXgOW5h/view?usp=drive_link

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions