ktrace produces a ktrace.out file in $PWD, kdump turns that into a textual list of system calls

if you get an "illegal instruction" trap, there should be something in there showing whether it's due to BTCFI or not

ktrace/kdump don't use debug symbols

--
 Sent from a phone, apologies for poor formatting.

On 12 November 2025 04:59:35 Walter Alejandro Iglesias <[email protected]> wrote:

On Sat, Nov 08, 2025 at 11:04:55AM +0000, Stuart Henderson wrote:
It is IBT machine.

Sorry, what does IBT stands for?

indirect branch tracking, part of the control-flow enforcement features
on 11th gen/newer intel cpus. apple M2 has similar. if program code makes
an indirect jump, it will trap on SIGILL unless the jump target has a
specific opcode stored at that location.

our compilers in base add this automatically, but asm code needs manual
changes if it doesn't already handle this.

something changed in the FFmpeg 8 update that is triggering this in the
libraries; previously /usr/local/bin/ffmpeg was tripping it but we
didn't have such a problem with the libraries.

if you hit SIGILL on amd64 with IBT in the dmesg cpu attach line, run
the program under ktrace, then kdump | grep SIGILL, look for a line like

1020 xfreerdp PSIG SIGILL caught handler=0x3f8c2682be0 mask=0<> code=ILL_BTCFI addr=0x3f87e823d20 trapno=21

if it has that ILL_BTCFI then that is the cause.

With the same blender crash I get the gbd backtrace I posted in my first
message, with ktrace I get no output at all.  Are the debugging symbols
included in debug-blender package also useful for ktrace?


May I ask you to try this guess?

I got the gdb backtrace using the debug-blender package.  I'll download
the ports, compile blender and tell you if your diff helps.

it is very likely to help.

--
Walter

Reply via email to