AER: Multiple Corrected error received

DeltaOps
3 min readJun 15, 2024

--

Photo by Kevin Horvat on Unsplash

O seu disco rígido no Ubuntu encheu devido aos logs excessivos no syslog e no kernel, contendo essas informações.

Jun 15 11:38:52 x99 kernel: pcieport 0000:00:03.0: AER: Multiple Corrected error received: id=0018 
Jun 15 15:38:52 x99 kernel: pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer,
id=0018(Receiver ID)

Posso dar pelo menos alguns detalhes, embora não consiga explicar completamente o que acontece.

Conforme descrito aqui , por exemplo , a CPU se comunica com o controlador de barramento PCIe por meio de pacotes da camada de transação (TLPs). O hardware detecta quando há falhas e o kernel do Linux relata isso como mensagens.

A opção do kernel pci=nommconf desativa o espaço de configuração PCI mapeado em memória, que está disponível no Linux desde o kernel 2.6. Grosso modo, todos os dispositivos PCI possuem uma área que descreve esse dispositivo (que você vê com lspci -vv), e o método original para acessar essa área envolve passar por portas de I/O, enquanto o PCIe permite que esse espaço seja mapeado para a memória para um acesso mais simples.

Isso significa que, neste caso específico, algo dá errado quando o controlador PCIe usa esse método para acessar o espaço de configuração de um dispositivo específico. Pode ser um bug de hardware no dispositivo, no controlador raiz PCI da placa-mãe, na interação específica dos dois ou qualquer outra coisa.

Abaixo, demonstrarei como a correção funcionou para mim.

Crie um backup do arquivo de configuração do GRUB.

sudo cp /etc/default/grub .

Após criar o backup, edite o arquivo de configuração do GRUB e adicione a seguinte linha:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash pci=noaer”

sudo vim etc/default/grub 
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"
GRUB_CMDLINE_LINUX=""


# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Após realizar a alteração, execute o comando para atualizar o GRUB e, em seguida, reinicie o sistema.

sudo update-grub && sudo shutdown now

Lembre-se de que esta solução funcionou para mim, portanto é importante realizar um backup antes de executar essa operação. Caso ocorra algum problema, você poderá fazer um rollback.

Então, é isso pessoal. Não se esqueçam de nos seguir nas redes sociais.

https://deltaops.com.br/

https://www.linkedin.com/company/deltaopscloud/

Referência:

Escrito por 🖋️ Diogo Lima
Sócio Fundador da Empresa DeltaOps

--

--

DeltaOps

Somos uma consultoria especializada em Cloud, DevOps e SRE. Apaixonados por automação, ajudamos empresas em sua jornada para a nuvem com práticas DevOps.