-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Closed
Labels
Description
Port, board and/or hardware
mpy-cross on Linux/amd64
MicroPython version
MicroPython v1.26.0-preview.196.g5f058e986 on 2025-06-09; linux [GCC 15.1.1] version
Reproduction
- Build
mpy-cross
without any special flags or parameters (as in,make -C mpy-cross clean && make -C mpy-cross
- Run
./mpy-cross/build/mpy-cross -march=debug ./tests/micropython/viper_ptr16_store.py
Expected behaviour
mpy-cross
should not crash on exit but terminate gracefully.
Observed behaviour
mpy-cross
will crash with:
mpy-cross: ../py/asmbase.c:56: mp_asm_base_start_pass: Assertion `as->code_base != NULL' failed.
after dumping native meta-opcodes to STDOUT.
Additional Information
This only happens for Viper code. For example, dumping tests/micropython/native_closure.py
or tests/micropython/meminfo.py
doesn't trigger the assertion.
I haven't really looked into this, but it seems like Viper code would still trigger an emit pass even for the debug
arch? This could probably be fixed if N_DEBUG
would be propagated into py/asmbase.c
too but it doesn't seem to be the case.
Code of Conduct
Yes, I agree