Por que oops do kernel contaminam e proíbem a geração de relatórios com a ABRT?

4

Eu recentemente instalei o Fedora 28 em um laptop. No boot, recebo um kernel oops gostaria muito de reportar. No entanto, a ABRT reconhece o kernel como corrompido com bandeiras GW e, portanto, se recusa a denunciá-lo. Se eu der uma olhada no abrt documentation , está escrito que W significa que "um aviso foi emitido anteriormente pelo kernel". enquanto G me diz que apenas módulos compatíveis com GPL são carregados (como esperado, eu mesmo não instalei nenhum módulo do kernel).

Mas o que exatamente isso significa? O aviso foi emitido pelo kernel para o bugzilla? Esta mensagem realmente não me ajuda a entender por que um Linux recém-instalado me deixa com um erro que não consigo relatar ...

cat /proc/sys/kernel/tainted também fornece o valor 512, i. e. existe apenas um aviso de kernel de acordo com a documentação sysctl .

Então, como posso descobrir o que exatamente aconteceu e por que não posso relatar isso à ABRT?

Editar : De acordo com este comentário de 2012 no RedHat Bugzilla

'w' means a warning has already occurred. We only care about the first one, which abrt should have already filed.

Assim, procurei encontrar qualquer coisa no relatório corrompido para descobrir onde, se de fato, a ABRT relatou o "primeiro" e encontrou este relatório no FAF - no entanto, o kernel também está marcado como" contaminado ", então o relatório provavelmente não será considerado para correção e eu ainda não sei por quê.

    
por Zollern 02.05.2018 / 10:10

1 resposta

3

O problema pode ser que abrtd seja iniciado tarde demais para capturar um oops que ocorreu no momento da inicialização. Quando o oops acontece, ele faz com que o sinalizador de W seja definido, e quando abrtd é iniciado, ele vê o sinalizador W e não consegue descobrir se o oops que encontra é o primeiro.

Se houvesse outro oops antes do que a pessoa possa ver, pode não haver nenhum ponto relatando o visível, já que pode ser apenas uma consequência do que causou o primeiro oops. Você pode saber que não havia um, mas não pode fazer essa determinação automaticamente.

Então, você pode ter que relatar um tempo de inicialização oops manualmente, especialmente se isso acontecer no início do processo de inicialização.

O kernel sozinho não reportará nada a nenhum bugzilla; O sinalizador W apenas significa que uma ou mais mensagens oops já foram registradas pelo kernel.

    
por 04.05.2018 / 13:45