Bug#1143508: Baseline violation on amd64: godot requires SSE4.1 (pinsrq), causing SIGILL
Otto Kekäläinen
otto at debian.org
Mon Aug 3 09:15:27 BST 2026
Hi Jakob!
Thanks for reporting this issue.. Probably due to your processor from 2009
not supporting some newer amd64 instruction (pinsrq?).
This is either due to the toolchain in Debian, or something in Godot itself.
Have you had issues with any other app in Debian? That would indicate this
might be a toolchain problem.
Or did you already debug this the use of SSE4.1 (pinsrq) is from Godot
specifically, and where in that case? Can it be easily patched to use some
fallback on older cpus?
On Mon., Aug. 3, 2026, 11:05 Jakob Haufe, <sur5r at debian.org> wrote:
> Package: godot
> Version: 4.6.3+ds-1
> Severity: important
> X-Debbugs-Cc: debian-amd64 at lists.debian.org
> User: debian-amd64 at lists.debian.org
> Usertags: amd64
>
> Simply calling godot crashes on an AMD Athlon II X4 605e:
>
> $ godot
> Illegal instruction (core dumped) godot
>
> GDB:
>
> (gdb) bt
> #0 0x0000555d2242a988 in std::_Rb_tree_header::_M_reset (this=<optimized
> out>) at /usr/include/c++/15/bits/stl_tree.h:206
> #1 std::_Rb_tree_header::_Rb_tree_header (this=0x555d2a53a908
> <doctest::detail::getRegisteredTests()::data+8>) at
> /usr/include/c++/15/bits/stl_tree.h:174
> #2 std::_Rb_tree<doctest::detail::TestCase, doctest::detail::TestCase,
> std::_Identity<doctest::detail::TestCase>,
> std::less<doctest::detail::TestCase>,
> std::allocator<doctest::detail::TestCase>
> >::_Rb_tree_impl<std::less<doctest::detail::TestCase>, true>::_Rb_tree_impl
> (
> this=0x555d2a53a900 <doctest::detail::getRegisteredTests()::data>) at
> /usr/include/c++/15/bits/stl_tree.h:1314
> #3 std::_Rb_tree<doctest::detail::TestCase, doctest::detail::TestCase,
> std::_Identity<doctest::detail::TestCase>,
> std::less<doctest::detail::TestCase>,
> std::allocator<doctest::detail::TestCase> >::_Rb_tree (this=0x555d2a53a900
> <doctest::detail::getRegisteredTests()::data>)
> at /usr/include/c++/15/bits/stl_tree.h:1553
> #4 std::set<doctest::detail::TestCase,
> std::less<doctest::detail::TestCase>,
> std::allocator<doctest::detail::TestCase> >::set (this=0x555d2a53a900
> <doctest::detail::getRegisteredTests()::data>) at
> /usr/include/c++/15/bits/stl_set.h:172
> #5 doctest::detail::getRegisteredTests () at
> ./thirdparty/doctest/doctest.h:4387
> #6 doctest::detail::getRegisteredTests () at
> ./thirdparty/doctest/doctest.h:4386
> #7 0x0000555d2242a9fa in doctest::detail::regTest (tc=...) at
> ./thirdparty/doctest/doctest.h:4533
> #8 0x0000555d219b7493 in __static_initialization_and_destruction_0 () at
> ./tests/core/config/test_project_settings.h:47
> #9 0x00007fa988a3409f in call_init (argc=2, argv=0x7ffd2de9dbe8,
> env=<optimized out>) at ../csu/libc-start.c:145
> #10 __libc_start_main_impl (main=0x555d219b5350 <main(int, char**)>,
> argc=2, argv=0x7ffd2de9dbe8, init=<optimized out>, fini=<optimized out>,
> rtld_fini=<optimized out>, stack_end=0x7ffd2de9dbd8) at
> ../csu/libc-start.c:347
> #11 0x0000555d21a4e1f1 in _start ()
>
> (gdb) disassemble
> Dump of assembler code for function
> _ZN7doctest6detail18getRegisteredTestsEv:
> 0x0000555d2242a930 <+0>: endbr64
> 0x0000555d2242a934 <+4>: movzbl 0x810ffbd(%rip),%eax #
> 0x555d2a53a8f8 <_ZGVZN7doctest6detail18getRegisteredTestsEvE4data>
> 0x0000555d2242a93b <+11>: test %al,%al
> 0x0000555d2242a93d <+13>: je 0x555d2242a950
> <_ZN7doctest6detail18getRegisteredTestsEv+32>
> 0x0000555d2242a93f <+15>: lea 0x810ffba(%rip),%rcx #
> 0x555d2a53a900 <_ZZN7doctest6detail18getRegisteredTestsEvE4data>
> 0x0000555d2242a946 <+22>: mov %rcx,%rax
> 0x0000555d2242a949 <+25>: ret
> 0x0000555d2242a94a <+26>: nopw 0x0(%rax,%rax,1)
> 0x0000555d2242a950 <+32>: sub $0x18,%rsp
> 0x0000555d2242a954 <+36>: lea 0x810ff9d(%rip),%rdi #
> 0x555d2a53a8f8 <_ZGVZN7doctest6detail18getRegisteredTestsEvE4data>
> 0x0000555d2242a95b <+43>: call 0x555d2199b560
> <__cxa_guard_acquire at plt>
> 0x0000555d2242a960 <+48>: lea 0x810ff99(%rip),%rcx #
> 0x555d2a53a900 <_ZZN7doctest6detail18getRegisteredTestsEvE4data>
> 0x0000555d2242a967 <+55>: test %eax,%eax
> 0x0000555d2242a969 <+57>: jne 0x555d2242a978
> <_ZN7doctest6detail18getRegisteredTestsEv+72>
> 0x0000555d2242a96b <+59>: mov %rcx,%rax
> 0x0000555d2242a96e <+62>: add $0x18,%rsp
> 0x0000555d2242a972 <+66>: ret
> 0x0000555d2242a973 <+67>: nopl 0x0(%rax,%rax,1)
> 0x0000555d2242a978 <+72>: lea 0x8(%rcx),%rax
> 0x0000555d2242a97c <+76>: pxor %xmm0,%xmm0
> 0x0000555d2242a980 <+80>: mov %rcx,%rsi
> 0x0000555d2242a983 <+83>: mov %rcx,0x8(%rsp)
> => 0x0000555d2242a988 <+88>: pinsrq $0x1,%rax,%xmm0
> 0x0000555d2242a98f <+95>: lea 0x80ef672(%rip),%rdx #
> 0x555d2a51a008
> 0x0000555d2242a996 <+102>: lea 0x110b3(%rip),%rdi #
> 0x555d2243ba50
> <_ZNSt3setIN7doctest6detail8TestCaseESt4lessIS2_ESaIS2_EED2Ev>
> 0x0000555d2242a99d <+109>: movl $0x0,0x810ff61(%rip) #
> 0x555d2a53a908 <_ZZN7doctest6detail18getRegisteredTestsEvE4data+8>
> 0x0000555d2242a9a7 <+119>: movaps %xmm0,0x810ff62(%rip) #
> 0x555d2a53a910 <_ZZN7doctest6detail18getRegisteredTestsEvE4data+16>
> 0x0000555d2242a9ae <+126>: mov %rax,0x810ff6b(%rip) #
> 0x555d2a53a920 <_ZZN7doctest6detail18getRegisteredTestsEvE4data+32>
> 0x0000555d2242a9b5 <+133>: movq $0x0,0x810ff68(%rip) #
> 0x555d2a53a928 <_ZZN7doctest6detail18getRegisteredTestsEvE4data+40>
> 0x0000555d2242a9c0 <+144>: call 0x555d2199aa60 <__cxa_atexit at plt>
> 0x0000555d2242a9c5 <+149>: lea 0x810ff2c(%rip),%rdi #
> 0x555d2a53a8f8 <_ZGVZN7doctest6detail18getRegisteredTestsEvE4data>
> 0x0000555d2242a9cc <+156>: call 0x555d2199dd60
> <__cxa_guard_release at plt>
> 0x0000555d2242a9d1 <+161>: mov 0x8(%rsp),%rcx
> 0x0000555d2242a9d6 <+166>: add $0x18,%rsp
> 0x0000555d2242a9da <+170>: mov %rcx,%rax
> 0x0000555d2242a9dd <+173>: ret
> End of assembler dump.
> (gdb)
>
>
>
>
> -- System Information:
> Debian Release: forky/sid
> APT prefers unstable-debug
> APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500,
> 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates'), (500,
> 'oldstable-debug'), (500, 'testing'), (500, 'stable'), (1, 'experimental'),
> (1, 'unstable')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 6.17.13+deb14-amd64 (SMP w/4 CPU threads; PREEMPT)
> Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN,
> TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE
> not set
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
>
> Versions of packages godot depends on:
> ii libasound2t64 1.2.16.1-1
> ii libbrotli1 1.2.0-3
> ii libc6 2.42-17
> ii libdbus-1-3 1.16.2-5+b1
> ii libdecor-0-0 0.2.5-1+b1
> ii libembree4-4 4.4.1+dfsg-2
> ii libenet7 1.3.18+ds-2
> ii libfontconfig1 2.17.1-5
> ii libfreetype6 2.14.3+dfsg-2
> ii libharfbuzz-icu0 12.3.2-2+b2
> ii libharfbuzz0b 12.3.2-2+b2
> ii libicu78 78.3-2
> ii libmbedcrypto16 3.6.7-3
> ii libmbedtls21 3.6.7-3
> ii libmbedx509-7 3.6.7-3
> ii libminiupnpc21 2.3.3-2+b2
> ii libogg0 1.3.6-2+b1
> ii libpcre2-32-0 10.46-1+b2
> ii libpng16-16t64 1.6.58-1
> ii libpulse0 17.0+dfsg1-2.1+b2
> ii librecast1debian0 1.6.0+dfsg-3+b1
> ii libsdl3-0 3.4.12+ds-1
> ii libspeechd2 0.12.1-4
> ii libstdc++6 16.1.0-3
> ii libtheoradec2 1.2.0+dfsg-6+b2
> ii libtheoraenc2 1.2.0+dfsg-6+b2
> ii libturbojpeg0 1:3.1.3-4
> ii libvorbis0a 1.3.7-3+b2
> ii libvorbisenc2 1.3.7-3+b2
> ii libwayland-client0 1.26.0-1
> ii libwayland-cursor0 1.26.0-1
> ii libwayland-egl1 1.26.0-1
> ii libwebp7 1.5.0-0.1+b2
> ii libwslay1 1.1.1-5+b1
> ii libx11-6 2:1.8.13-1
> ii libxcursor1 1:1.2.3-1+b2
> ii libxext6 2:1.3.4-1+b4
> ii libxi6 2:1.8.2-2+b1
> ii libxinerama1 2:1.1.4-3+b5
> ii libxkbcommon0 1.13.1-1
> ii libxrandr2 2:1.5.4-1+b4
> ii libxrender1 1:0.9.12-1+b2
> ii libzstd1 1.5.7+dfsg-3+b2
> ii zlib1g 1:1.3.dfsg+really1.3.2-3
>
> godot recommends no packages.
>
> godot suggests no packages.
>
> -- debconf-show failed
>
>
>
> --
> ceterum censeo microsoftem esse delendam.
>
More information about the Pkg-games-devel
mailing list