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
    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