Various tests FAIL in micropython when built with GCC 14 snapshots (such as gcc-14.0.1-0.2.fc40 in rawhide). I believe the bug is in micropython-1.21.0/py/nlrx64.c (nlr_jump). Preprocessed the function is: __attribute__((noreturn)) void nlr_jump(void *val) { nlr_buf_t **_top_ptr = &(mp_thread_get_state()->nlr_top); nlr_buf_t *top = *_top_ptr; if (top == ((void *)0)) { nlr_jump_fail(val); } top->ret_val = val; nlr_call_jump_callbacks(top); (void)top; *_top_ptr = top->prev; __asm volatile ( "movq %0, %%rcx \n" "movq 72(%%rcx), %%r15 \n" "movq 64(%%rcx), %%r14 \n" "movq 56(%%rcx), %%r13 \n" "movq 48(%%rcx), %%r12 \n" "movq 40(%%rcx), %%rbx \n" "movq 32(%%rcx), %%rsp \n" "movq 24(%%rcx), %%rbp \n" "movq 16(%%rcx), %%rax \n" "movq %%rax, (%%rsp) \n" "xorq %%rax, %%rax \n" "inc %%al \n" "ret \n" : : "r" (top) : ); __builtin_unreachable(); } The bug is that the inline asm doesn't use "memory" clobber nor say uses "m" (top) to explain to the compiler that the inline asm reads from memory, so starting with https://gcc.gnu.org/r14-1982 GCC dead store eliminates the *_top_ptr = top->prev; store - the inline asm doesn't indicate it reads any memory and then is __builtin_unreachable () so nothing later will need the store either. Reproducible: Always
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle. Changing version to 40.
*** Bug 2261376 has been marked as a duplicate of this bug. ***
PR's: https://src.fedoraproject.org/rpms/micropython/pull-request/24 https://src.fedoraproject.org/rpms/micropython/pull-request/25 https://src.fedoraproject.org/rpms/micropython/pull-request/26 https://src.fedoraproject.org/rpms/micropython/pull-request/27
FEDORA-2024-9f2a705459 (micropython-1.22.2-1.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-9f2a705459
FEDORA-2024-9f2a705459 (micropython-1.22.2-1.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-51e55a7065 (micropython-1.22.2-1.fc38) has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2024-51e55a7065
FEDORA-2024-a3b517705e (micropython-1.22.2-1.fc40) has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-a3b517705e
FEDORA-2024-34aa24af35 (micropython-1.22.2-1.fc39) has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2024-34aa24af35
FEDORA-2024-51e55a7065 has been pushed to the Fedora 38 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-51e55a7065` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-51e55a7065 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-34aa24af35 has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-34aa24af35` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-34aa24af35 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-a3b517705e has been pushed to the Fedora 40 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-a3b517705e` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-a3b517705e See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-34aa24af35 (micropython-1.22.2-1.fc39) has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-51e55a7065 (micropython-1.22.2-1.fc38) has been pushed to the Fedora 38 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-a3b517705e (micropython-1.22.2-1.fc40) has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.