Skip to content

Add ASAN/UBSAN to CI - #732

Draft
etan-status wants to merge 21 commits into
masterfrom
dev/etan/ci-asan
Draft

Add ASAN/UBSAN to CI#732
etan-status wants to merge 21 commits into
masterfrom
dev/etan/ci-asan

Conversation

@etan-status

Copy link
Copy Markdown
Contributor

Adopt AddressSanitizer / UndefinedBehaviorSanitizer to catch bugs early.

@etan-status

Copy link
Copy Markdown
Contributor Author
/home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:82:84: runtime error: call to function raisesfutures::eqtrace__testsync_u13867_(var<raisesfutures::InternalRaisesFuturecolonObjectType_>, pointer) through pointer to incorrect function type 'void (*)(void *, void *)'
/home/runner/work/nim-chronos/nim-chronos/chronos/internal/asyncfutures.nim:86: note: raisesfutures::eqtrace__testsync_u13867_(var<raisesfutures::InternalRaisesFuturecolonObjectType_>, pointer) defined here
    #0 0x57fe95ced1f8 in system::trace(ptr<system::RefHeader>, ptr<system::TNimTypeV2>, var<system::GcEnv>) /home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:82:84
    #1 0x57fe95cebfb0 in system::markGray(ptr<system::RefHeader>, ptr<system::TNimTypeV2>, var<system::GcEnv>) /home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:199:17
    #2 0x57fe95cfcff7 in system::collectCyclesBacon(var<system::GcEnv>, int) /home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:340:21
    #3 0x57fe95cffe19 in system::collectCycles /home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:413:15
    #4 0x57fe95d00afb in system::registerCycle(ptr<system::RefHeader>, ptr<system::TNimTypeV2>) /home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:455:17
    #5 0x57fe95d012dd in system::rememberCycle(bool, ptr<system::RefHeader>, ptr<system::TNimTypeV2>) /home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:515:19
    #6 0x57fe96170d11 in nimDecRefIsLastCyclicDyn /home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:527:17
    #7 0x57fe9617b8e0 in futures::eqdestroy_(ref<futures::FutureBasecolonObjectType_>) /home/runner/work/nim-chronos/nim-chronos/chronos/futures.nim:146:218
    #8 0x57fe964864e0 in asyncfutures::futureContinue(ref<futures::FutureBasecolonObjectType_>) /home/runner/work/nim-chronos/nim-chronos/chronos/futures.nim:151:61
    #9 0x57fe97311b43 in runTestX60gensym2388_::colonanonymous_ /home/runner/work/nim-chronos/nim-chronos/tests/testsync.nim:823:79
    #10 0x57fe97312f9a in testsync::runTestX60gensym2388_(string, string) /home/runner/work/nim-chronos/nim-chronos/chronos/unittest2/asynctests.nim:20:41
    #11 0x57fe95f3b34c in unittest2::runDirect(unittest2::Test) /home/runner/.nimble/pkgs2/unittest2-0.2.5-02bb3751ba9ddc3c17bfd89f2e41cb6bfb8fc0c9/unittest2.nim:1095:169
    #12 0x57fe9733198c in atmtestsyncdotnim_Init000 /home/runner/.nimble/pkgs2/unittest2-0.2.5-02bb3751ba9ddc3c17bfd89f2e41cb6bfb8fc0c9/unittest2.nim:1175:121
    #13 0x57fe9bd504b9 in PreMainInner /home/runner/.nimble/pkgs2/unittest2-0.2.5-02bb3751ba9ddc3c17bfd89f2e41cb6bfb8fc0c9/unittest2.nim:340:2
    #14 0x57fe9bd50545 in PreMain /home/runner/.nimble/pkgs2/unittest2-0.2.5-02bb3751ba9ddc3c17bfd89f2e41cb6bfb8fc0c9/unittest2.nim:375:2
    #15 0x57fe9bd50590 in NimMain /home/runner/.nimble/pkgs2/unittest2-0.2.5-02bb3751ba9ddc3c17bfd89f2e41cb6bfb8fc0c9/unittest2.nim:390:2
    #16 0x57fe9bd505e5 in main /home/runner/.nimble/pkgs2/unittest2-0.2.5-02bb3751ba9ddc3c17bfd89f2e41cb6bfb8fc0c9/unittest2.nim:399:2
    #17 0x785d12a2a8c0  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a8c0) (BuildId: 3a702c7fa5b9d5b692ba3516f4db07a286e454d6)
    #18 0x785d12a2a9d7 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a9d7) (BuildId: 3a702c7fa5b9d5b692ba3516f4db07a286e454d6)
    #19 0x57fe958636a4 in _start (/home/runner/work/nim-chronos/nim-chronos/build/testall+0x3e666a4) (BuildId: 9432ba4ca44cfa52a34a59d11fa95a3e90a96fee)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/runner/work/nim-chronos/nim-chronos/nim/lib/system/orc.nim:82:84 
stack trace: (most recent call last)
/tmp/nimblecache-1194919871666104896/nimscriptapi_8413927942924795176.nim(219, 16)
/home/runner/work/nim-chronos/nim-chronos/chronos.nimble(135, 7) test_asanTask
/home/runner/work/nim-chronos/nim-chronos/chronos.nimble(53, 5) run
/home/runner/work/nim-chronos/nim-chronos/nim/lib/system/nimscript.nim(264, 7) exec
/home/runner/work/nim-chronos/nim-chronos/nim/lib/system/nimscript.nim(264, 7) 

@etan-status
etan-status marked this pull request as ready for review September 6, 2026 10:03
@etan-status

Copy link
Copy Markdown
Contributor Author

@etan-status
etan-status force-pushed the dev/etan/ci-asan branch 8 times, most recently from 2527ff7 to 94b0d8b Compare September 8, 2026 16:50
@etan-status
etan-status marked this pull request as draft September 8, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant