On Sun, 14 Jul 2024 14:45:33 +0200 Andreas Rönnquist <andr...@ronnquist.net> wrote:
[...] > >> > >This is on a fairly elderly Celeron laptop running LXQt. I half > >wondered if the processor is too old - for info, o/p of > >/proc/cpuinfo: > > Thanks - that looks indeed like it might be the problem - however, > some debugging would help out to pinpoint it exactly. > > [...] Appears to be around here (I also pulled down the source as well): Program received signal SIGILL, Illegal instruction. 0xb7e804c3 in (anonymous namespace)::get_option_registry () at ./src/engine/optionsbase.cpp:74 74 { (gdb) list 69 std::vector<option_def> options_; 70 std::map<std::string, size_t, std::less<>> name_to_option_; 71 }; 72 73 std::pair<option_registry&, fz::scoped_lock> get_option_registry() 74 { 75 static option_registry reg; 76 return std::make_pair(std::ref(reg), fz::scoped_lock(reg.mtx_)); 77 } 78 } And looks to be sat on a "pinsrd" instruction. (gdb) disassemble /s Dump of assembler code for function (anonymous namespace)::get_option_registry(): Address range 0xb7e804a0 to 0xb7e805ad: ./src/engine/optionsbase.cpp: 74 { 0xb7e804a0 <+0>: push %ebp 0xb7e804a1 <+1>: mov %esp,%ebp 0xb7e804a3 <+3>: push %edi 0xb7e804a4 <+4>: mov %eax,%edi 0xb7e804a6 <+6>: push %esi 0xb7e804a7 <+7>: call 0xb7db5a3d <__x86.get_pc_thunk.si> 0xb7e804ac <+12>: add $0x9abd0,%esi 0xb7e804b2 <+18>: push %ebx 0xb7e804b3 <+19>: sub $0x1c,%esp 0xb7e804b6 <+22>: lea 0x1ca4(%esi),%eax 0xb7e804bc <+28>: movd %eax,%xmm0 0xb7e804c0 <+32>: mov %eax,-0x1c(%ebp) => 0xb7e804c3 <+35>: pinsrd $0x1,%eax,%xmm0 0xb7e804c9 <+41>: movq %xmm0,-0x28(%ebp) Looks to be something that only arrived with SSE4.1. Whereas that dump of cpuinfo shows that mine only has SSE2. So that answers that one then. Rgs, Jon. -- -- == mailto:j...@onasticksoftware.co.uk - in real life jon bird == site: http://www.onasticksoftware.co.uk == Home of the OAS Playout System == twitter:@fridgemagnet2