centos9 – Centos 9 yum update segmention fault

The failed instruction (mnemonic) is:

 c5 fd 74 0f             vpcmpeqb ymm1,ymm0,YMMWORD PTR [rdi]

It seems that the RDI register is pointing to an address that is not yet allocated.

The stack trace shows that sqlite is trying to run a transaction which triggered a WAL-index recover. This operations seems to be successful and the logging of the event triggers the Segmentation Fault.

sqlite-source$ cat src/wal.c
[...]
/*
** Recover the wal-index by reading the write-ahead log file.
**
** This routine first tries to establish an exclusive lock on the
** wal-index to prevent other threads/processes from doing anything
** with the WAL or wal-index while recovery is running.  The
** WAL_RECOVER_LOCK is also held so that other threads will know
** that this thread is running recovery.  If unable to establish
** the necessary locks, this routine returns SQLITE_BUSY.
*/
static int walIndexRecover(Wal *pWal){
[...]
/* If more than one frame was recovered from the log file, report an
** event via sqlite3_log(). This is to help with identifying performance
** problems caused by applications routinely shutting down without
** checkpointing the log file.
*/
  if( pWal->hdr.nPage ){
    sqlite3_log(SQLITE_NOTICE_RECOVER_WAL,
        "recovered %d frames from WAL file %s", pWal->hdr.mxFrame, pWal->zWalName
  );

Based on this I suspect a hardware issue and I would start first by checking the kernel log with:

sudo dmesg -H

Then I would check for corruption in sql DB used by yum or rpm and repair or rebuild it. Make sure you backup the files before you make any changes.

Check the integrity of the installed packages with:

sudo rpm -Va

Pay attention to the “5” (checksum different)

Read more here: Source link