-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Open
Labels
Description
Port, board and/or hardware
unix VARIANT=coverage
MicroPython version
MicroPython v1.26.0-preview.387.g67acac257f.dirty on 2025-07-19; linux [GCC 12.2.0] version
Reproduction
Run the following code:
def f(a, b): pass
f(None, x=b"", y:=True)
Expected behaviour
Code is rejected at byte-compile time similar to Python:
File "/tmp/qstrcrash.py", line 2
f(None, x=b"", y:=True)
^
SyntaxError: positional argument follows keyword argument
Observed behaviour
The file byte-compiles but an assertion error occurs when executing the call to f
:
micropython: ../../py/qstr.c:198: find_qstr: Assertion `*q < pool->len' failed.
Additional Information
This is a minimized test case based on a crash found by fuzzing micropython
Code of Conduct
Yes, I agree