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