[GTER] Problemas de travamento com o leap second?

Durval Menezes durval at tmp.com.br
Tue Jan 6 12:43:46 -02 2009


Prezados,

On Tue, Jan 06, 2009 at 11:17:34AM -0200, Henrique de Moraes Holschuh wrote:
> Antonio M. Moreiras wrote:
> > Houve alguns problemas reportados sobre travamentos de servidores linux
> > por conta (provavelmente) do leap second:
> 
> Sim, há um bug no kernel Linux no tratamento de leap seconds quando em 
> modo NTP, e depende de uma race-condition, por isso não atingiu todos os 
> usuários de ntp.
> 
> thread em:
> http://lkml.org/lkml/2009/1/2/276
> 
> análise do bug em:
> http://lkml.org/lkml/2009/1/2/373
> 
> fix em:
> http://lkml.org/lkml/2009/1/2/415

Incrivel... conforme demonstrado pelos links citados pelo Henrique,
o bug existe mesmo, ao contrario do que eu inicialmente acreditava.
E o bug e' um classico deadlock, no caso provocado pela chamada ao
printk() antes de liberar um lock. O patch de correcao so' move o 
printk() para um ponto onde o lock ja' foi liberado.

Fui pesquisar e descobri porque nenhum dos nossos servidores travou:
ha' varios anos, por conta de bugs de seguranca no ntpd padrao, so'
rodo o OpenNTPd do OpenBSD, na versao "portable" (que nao trata leap
seconds), e acaba acertando o leap second "no braco".

Em outras palavras, `as 00:00 UTC do dia 1 nossos servidores ficaram
exatamente 1s adiantados em relacao ao UTC, e  o OpenNTPd atraves dos
meios usuais foi reduzindo progressivamente a diferenca ate' que, `as
00:36 (ou seja, 36 minutos depois, no que levou mais tempo) ja' a tinha
zerado.

Fui verificar e ha' um patch para o OpenNTPd para adicionar
funcionalidade de leap seconds:

	http://openbsd.monkey.org/misc/200605/msg00257.html

Entretanto essa funcionalidade fica desligada por default, sendo
necessario especificar o flag '-c' na linha de comando para que a
mesma seja ligada. E este patch ainda nao foi incorporado na ultima
versao do OpenNTPD (3.9p1).

Por enquanto vou continuar usando o OpenNTPd, mesmo com a correcao para
o bug do kernel sendo incorporada nas versoes mais novas do dito cujo:
acho preferivel lidar com uma diferenca menor que 1s durante 36 minutos
do que (potencialmente) com algumas dezenas de servidores travados :-)

Um Grande Abraco,
-- 
   Durval Menezes (durval AT tmp DOT com DOT br, http://www.tmp.com.br/)



More information about the gter mailing list