https://pastebin.com/r03HxDrX
rsp 0x7fffffffd6e8 0x7fffffffd6e8 BAD: not 16-byte aligned pc=> 0x7ffff613616c <__GI__dl_catch_error+108>: movaps %xmm0,0x50(%rsp) The problem is that the effective address 0x...738 is not 16-byte aligned, and this generates SIGSEGV because 'movaps' requires 16-byte alignment. __GI__dl_catch_error is storing 128 bits (16 bytes) from register %xmm0 into the local stack frame at address (0x50 + %rsp) = (0x50 + 0x7fffffffd6e8) using the opcode 'movaps' which is "MOVe Aligned Packed Single [precision floating point]". Given that the runtime dynamic loader does not use floating point, this is probably a compiler optimization for zero-ing out two adjacent 8-byte pointers. Check the glibc source code for "dl_catch_error". These days the stack pointer %rsp is supposed to be 16-byte aligned "all the time". So either there is a compiler error, or setjmp/longjmp error, or a stack-alignment error in the signal handler for _some_other_ signal (not the current SIGSEGV). Diagnose the compiler error by (gdb) disassemble __GI__dl_catch_error to see whether the compiler maintains 16-byte alignment. For setjmp/longjmp inquire at glibc. For signal handler ask glibc and kernel. -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx