Ticket #433 (closed defeito: fixed)

Opened 12 years ago

Last modified 10 years ago

Os horario das mensagens na caixa de entrada aparecem errados

Reported by: diorgenes Owned by: alguem
Priority: média Milestone:
Component: ExpressoMail Version: trunk
Severity: Keywords:
Cc: WorkGroup:

Description

Estou utilizando a versão SVN do Expresso, fiz uma atualização hoje (18/02/2009) e apareceu o seguinte problema:

Na caixa de entrada do ExpressoMail as mensagens recebidas hoje aparecem com suas datas (horário) errados, a diferença de horário é de três horas a menos. Acredito que seja algum erro de javascript, pois quando a caixa de entrada está aberta e novas mensagens são recebidas a sua data (horário) aparecem corretamente, mas quando é acessado um outro módulo como a Agenda por exemplo, ao retornar para o ExpressoMail na caixa de entrada os horários das mensagens recebidas hoje aparecem errados.

Obs: Verifiquei as configurações de horário de verão e a data tanto no servidor quanto no PHP.

Attachments

lista-emails.png Download (1.7 KB) - added by wmerlotto 12 years ago.
Hora recebida da mensagem na lista de e-mails
cabecalho.png Download (22.6 KB) - added by wmerlotto 12 years ago.
Detalhe do cabeçalho da mensagem

Change History

comment:1 follow-up: ↓ 2 Changed 12 years ago by rodsouza

  • Priority changed from grave to media

Meu ambiente de desenvolvimento possui o horário de Brasília.

Não consegui simular o ocorrido!

Os serviços do ExpressoLivre? estão todos na mesma máquina ou estão em máquinas diferentes?

-- Sem mais para o momento, Rodrigo Souza

comment:2 in reply to: ↑ 1 ; follow-up: ↓ 3 Changed 12 years ago by diorgenes

Replying to rodsouza:

Meu ambiente de desenvolvimento possui o horário de Brasília.

Não consegui simular o ocorrido!

Os serviços do ExpressoLivre estão todos na mesma máquina ou estão em máquinas diferentes?

-- Sem mais para o momento, Rodrigo Souza

Boa tarde,

no meu ambiente os serviços do expresso estão em máquinas separadas. Qual revisão você está usando?

Esse problema ocorreu em duas instalações diferentes do expresso, porém as duas do SVN.

Diorgenes F. Grzesiuk

comment:3 in reply to: ↑ 2 ; follow-up: ↓ 4 Changed 12 years ago by rodsouza

Replying to diorgenes:

Replying to rodsouza:

Meu ambiente de desenvolvimento possui o horário de Brasília.

Não consegui simular o ocorrido!

Os serviços do ExpressoLivre estão todos na mesma máquina ou estão em máquinas diferentes?

-- Sem mais para o momento, Rodrigo Souza

Boa tarde,

no meu ambiente os serviços do expresso estão em máquinas separadas. Qual revisão você está usando?

Esse problema ocorreu em duas instalações diferentes do expresso, porém as duas do SVN.

Diorgenes F. Grzesiuk

Verifique os timezone de todos os serviços. Deve existir diferenças entre eles.

Utilizo a revisão de desenvolvimento localmente, todavia temos a mesma revisão em um ambiente de homologação que possui uma arquitetura distribuidas dos serviços. Ambas estão com o horário correto assim como o ambiente de produção.


Ainda se deve levar em consideração que o horário de verão terminou no último fim de semana (14/02) e mesmo com essa alteração não foi verificado fato como o descrito como problema nesse ticket.

comment:4 in reply to: ↑ 3 Changed 12 years ago by diorgenes

Replying to rodsouza:

Replying to diorgenes:

Replying to rodsouza:

Meu ambiente de desenvolvimento possui o horário de Brasília.

Não consegui simular o ocorrido!

Os serviços do ExpressoLivre estão todos na mesma máquina ou estão em máquinas diferentes?

-- Sem mais para o momento, Rodrigo Souza

Boa tarde,

no meu ambiente os serviços do expresso estão em máquinas separadas. Qual revisão você está usando?

Esse problema ocorreu em duas instalações diferentes do expresso, porém as duas do SVN.

Diorgenes F. Grzesiuk

Verifique os timezone de todos os serviços. Deve existir diferenças entre eles.

Utilizo a revisão de desenvolvimento localmente, todavia temos a mesma revisão em um ambiente de homologação que possui uma arquitetura distribuidas dos serviços. Ambas estão com o horário correto assim como o ambiente de produção.


Ainda se deve levar em consideração que o horário de verão terminou no último fim de semana (14/02) e mesmo com essa alteração não foi verificado fato como o descrito como problema nesse ticket.

Como informei no ticket, já verifiquei os timezones da máquina e do PHP, estão corretos, existe mais algum timezone que devo verificar? Fiz teste no firefox e no opera, nos dois apresentaram o mesmo erro.

comment:5 follow-up: ↓ 6 Changed 12 years ago by wmerlotto

Replying to rodsouza:

Verifique os timezone de todos os serviços. Deve existir diferenças entre eles.

A estrutura é basicamente a seguinte:

Internet --> mail gateway (postfix e anti-spam) -> mail server (http e postfix) -> mail dada (cyrus, ldap, postgres)

Todos são Debian Etch atualizados com o repositório oficial, inclusive o tzdate, responsável pelo fuso horário. Tanto que após o dia 14/02 todos servidores estavam com o horário correto. Hoje atualizei o timezonedb, do PHP, para a versão 2009.1. Reiniciei alguns serviços, como postfix, cyrus e apache, mas sem sucesso.

O mais estranho é que se vc abrir o e-mail e verificar o cabeçalho, a data está correta. Mas na lista das mensagens está com três horas a menos, conforme os screenshots em anexo.

Changed 12 years ago by wmerlotto

Hora recebida da mensagem na lista de e-mails

Changed 12 years ago by wmerlotto

Detalhe do cabeçalho da mensagem

comment:6 in reply to: ↑ 5 ; follow-up: ↓ 7 Changed 12 years ago by rodsouza

Uma dúvida, quando foi a última vez que você realizou a sincronização com o SVN?

comment:7 in reply to: ↑ 6 Changed 12 years ago by wmerlotto

Replying to rodsouza:

Uma dúvida, quando foi a última vez que você realizou a sincronização com o SVN?

kenobi:/var/www/expresso# svn info
Caminho: .
URL: http://www.expressolivre.org/svn/expresso/trunk
Raiz do Repositório: http://www.expressolivre.org/svn/expresso
UUID do repositório: ae9f2744-c043-0410-bd94-d3e00378db3e
Revisão: 690
Tipo de Nó: diretório
Agendado: normal
Autor da Última Mudança: eduardoalex
Revisão da Última Mudança: 690
Data da Última Mudança: 2009-02-16 16:20:04 -0300 (Seg, 16 Fev 2009)

comment:8 Changed 12 years ago by rodsouza

Qual é a saída de:

<?php echo 'date("d/m/Y") : ', date("d/m/Y"), "\n\n"; echo 'gmdate("d/m/Y") : ', gmdate("d/m/Y"), "\n\n"; ?>

comment:9 follow-up: ↓ 11 Changed 12 years ago by rodsouza

ah, esquci...

<?php
echo 'date_default_timezone_set : ', date_default_timezone_get(), "\n\n";
echo 'date("d/m/Y") : ', date("d/m/Y"), "\n\n";
echo 'gmdate("d/m/Y") : ', gmdate("d/m/Y"), "\n\n";
?>

comment:10 Changed 12 years ago by rodsouza

Mais um detalhe execute o código com o horário de 15 horas, após altere o horário para 22 horas e execute novamente.

comment:11 in reply to: ↑ 9 Changed 12 years ago by wmerlotto

Replying to rodsouza:

ah, esquci...

<?php
echo 'date_default_timezone_set : ', date_default_timezone_get(), "\n\n";
echo 'date("d/m/Y") : ', date("d/m/Y"), "\n\n";
echo 'gmdate("d/m/Y") : ', gmdate("d/m/Y"), "\n\n";
?>

date_default_timezone_set : America/Sao_Paulo
date("d/m/Y") : 20/02/2009
gmdate("d/m/Y") : 20/02/2009

comment:12 follow-up: ↓ 16 Changed 12 years ago by rodsouza

E quando o horário é alterado para 21 horas?

comment:13 Changed 12 years ago by rodsouza

Para ter certeza utilize 22 horas!

comment:14 follow-up: ↓ 15 Changed 12 years ago by wmerlotto

O ticket #448 também reporta o mesmo problema.

comment:15 in reply to: ↑ 14 Changed 12 years ago by rodsouza

Replying to wmerlotto:

O ticket #448 também reporta o mesmo problema.

São ocorrências diferentes.

comment:16 in reply to: ↑ 12 ; follow-up: ↓ 17 Changed 12 years ago by wmerlotto

Replying to rodsouza:

E quando o horário é alterado para 21 horas?

Tinha me esquecido...

date_default_timezone_set : America/Sao_Paulo
date("d/m/Y") : 01/03/2009
gmdate("d/m/Y") : 02/03/2009

comment:17 in reply to: ↑ 16 ; follow-up: ↓ 18 Changed 12 years ago by niltonneto

Replying to wmerlotto:

Replying to rodsouza:

E quando o horário é alterado para 21 horas?

Tinha me esquecido...

date_default_timezone_set : America/Sao_Paulo
date("d/m/Y") : 01/03/2009
gmdate("d/m/Y") : 02/03/2009

E aí, conseguiram resolver o problema? Podemos fechar esse ticket?

comment:18 in reply to: ↑ 17 Changed 12 years ago by wmerlotto

Replying to niltonneto:

E aí, conseguiram resolver o problema? Podemos fechar esse ticket?

Não, este problema não está resolvido até a revisão [692]. Acabei atualizar o código aqui e o problema ainda persiste.

Então, resolvi fazer um teste revertendo meu código para a última alteração realizada antes do Eduardo fazer seu commit ([689]). Reverti para a revisão [688]:

kenobi:/var/www/expresso/expressoMail1_2# svn up -r 688
kenobi:/var/www/expresso/expressoMail1_2# svn info
Caminho: .
URL: http://www.expressolivre.org/svn/expresso/trunk/expressoMail1_2
Raiz do Repositório: http://www.expressolivre.org/svn/expresso
UUID do repositório: ae9f2744-c043-0410-bd94-d3e00378db3e
Revisão: 688
Tipo de Nó: diretório
Agendado: normal
Autor da Última Mudança: niltonneto
Revisão da Última Mudança: 676
Data da Última Mudança: 2009-02-06 17:57:50 -0200 (Sex, 06 Fev 2009)

Quando verifiquei as datas novamente, percebi que o problema não ocorreu, os horários estavam sendo exibidos corretamente. Inclusive o problema reportado em #435 não ocorre nesta revisão.

O que me leva a crer que as últimas alterações, realizadas pelo Eduardo, trouxeram estes problemas. Mas não faço idéia onde exatamente está o problema...

comment:19 follow-up: ↓ 20 Changed 12 years ago by diogenesduarte

Senhores...

Tentamos de muitas formas reproduzir esse erro aqui, mas não tivemos sucesso. Porém, na busca por diferenças no código, notamos que em um dos métodos que recupera e-mails do servidor houve uma confusão no merge, e acabou indo para o repositório uma parte de código antigo que utilizava date ao invés de gmdate. Assim, corrigimos isso na revisão #693.

Testem essa revisão para vermos se era esse o motivo da diferença de comportamento das duas revisões no ambiente de vocês.

Entretanto, essa correção no ambiente da PRODEB não provocou mudança alguma.

comment:20 in reply to: ↑ 19 Changed 12 years ago by wmerlotto

Replying to diogenesduarte:

Senhores...

Tentamos de muitas formas reproduzir esse erro aqui, mas não tivemos sucesso.

Bom, estou utilizando o código nú e crú do SVN do ExpressoLivre.org em duas instalações (em produção) completamente diferentes e o problema ocorre.

..antigo que utilizava date ao invés de gmdate. Assim, corrigimos isso na revisão [693].

Já fizemos este teste, conforme recomendado pelo Rodrigo no ticket 448 e não houve melhoria alguma.

Recomendo vcs fazerem um checkout do SVN, exatamente da maneira como está, do ExpressoLivre e testá-lo.

comment:21 follow-up: ↓ 22 Changed 12 years ago by diogenesduarte

Então... Olha só o que fizemos em ambiente de desenvolvimento:

1-Temos uma versão do expresso instalada há pouco mais de 2 meses. 2-Na pasta /var/www/expresso, fizemos checkout da revisão 688 e enviamos diversos e-mails para o mesmo usuário. TODOS se mostraram com o horário exato apontado no servidor de IMAP. Efetuamos logoff, limpamos cookies, fechamos navegador, etc. O horário permaneceu inalterado. 3-Renomeamos a pasta expresso e fizemos novamente checkout dentro da pasta /var/www/expresso, porém da ultima revisão existente no svn(693). 4-Reiniciamos o navegador, limpamos todos os cookies, acessamos novamente o expresso e os horários continuam iguais ao do código da revisão 688, equivalentes ao horário do servidor de IMAP no momento do recebimento do email(A velha discussão do udate). 5-Enviamos novos e-mails, saímos do módulo, voltamos novamente, efetuamos logoff, fechamos o browser, e ao logar novamente os horários permaneciam corretos, de acordo com o horário do servidor de imap. 6-Voltamos ao código da revisão 688, e tudo ocorreu como nos outros testes. 7-Para finalizar, criamos outros usuários para fazer tudo que fizemos nas outras etapas, enviamos inúmeros e-mails entre eles mudamos novamente as revisões e tudo aponta para o horário correto enviado no imap.

Como havia dito, tentamos exaustivamente simular esse erro, sem sucesso algum. Partimos agora para uma nova estratégia, que é a de verificar as possíveis modificações que enviamos na revisão 689, que combinadas com alguma configuração de ambiente possa resultar em comportamento diferente em relação a horário. O grande problema é que, salvo engano, as rotinas em javascript não se metem na questão de traduções de horário do email, mesmo porque ninguém sabe o horário que pode estar no pc cliente. Por isso partimos direto para analisar as modificações que fizemos nos arquivos .php. Ainda não encontramos um motivo para isso acontecer, mas vamos continuar pesquisando.

Alguém fora a Prognus está passando pelo mesmo problema na revisão #693?

comment:22 in reply to: ↑ 21 ; follow-up: ↓ 23 Changed 12 years ago by niltonneto

Replying to diogenesduarte:

Então... Olha só o que fizemos em ambiente de desenvolvimento:

1-Temos uma versão do expresso instalada há pouco mais de 2 meses. 2-Na pasta /var/www/expresso, fizemos checkout da revisão 688 e enviamos diversos e-mails para o mesmo usuário. TODOS se mostraram com o horário exato apontado no servidor de IMAP. Efetuamos logoff, limpamos cookies, fechamos navegador, etc. O horário permaneceu inalterado. 3-Renomeamos a pasta expresso e fizemos novamente checkout dentro da pasta /var/www/expresso, porém da ultima revisão existente no svn(693). 4-Reiniciamos o navegador, limpamos todos os cookies, acessamos novamente o expresso e os horários continuam iguais ao do código da revisão 688, equivalentes ao horário do servidor de IMAP no momento do recebimento do email(A velha discussão do udate). 5-Enviamos novos e-mails, saímos do módulo, voltamos novamente, efetuamos logoff, fechamos o browser, e ao logar novamente os horários permaneciam corretos, de acordo com o horário do servidor de imap. 6-Voltamos ao código da revisão 688, e tudo ocorreu como nos outros testes. 7-Para finalizar, criamos outros usuários para fazer tudo que fizemos nas outras etapas, enviamos inúmeros e-mails entre eles mudamos novamente as revisões e tudo aponta para o horário correto enviado no imap.

Como havia dito, tentamos exaustivamente simular esse erro, sem sucesso algum. Partimos agora para uma nova estratégia, que é a de verificar as possíveis modificações que enviamos na revisão 689, que combinadas com alguma configuração de ambiente possa resultar em comportamento diferente em relação a horário. O grande problema é que, salvo engano, as rotinas em javascript não se metem na questão de traduções de horário do email, mesmo porque ninguém sabe o horário que pode estar no pc cliente. Por isso partimos direto para analisar as modificações que fizemos nos arquivos .php. Ainda não encontramos um motivo para isso acontecer, mas vamos continuar pesquisando.

Alguém fora a Prognus está passando pelo mesmo problema na revisão #693?

Olá, Fiz um svn-update (trunk do expressolivre.org) e enviei um email para mim mesmo. Tanto na lista quanto no cabeçalho as mensagens apareceram corretamente. William, ainda está acontecendo por aí? Vc usa a configuração de TimeZone? no php.ini?

comment:23 in reply to: ↑ 22 ; follow-up: ↓ 24 Changed 12 years ago by wmerlotto

Replying to niltonneto:

Alguém fora a Prognus está passando pelo mesmo problema na revisão #693?

Realmente não sei... Mas seria bom.

Olá, Fiz um svn-update (trunk do expressolivre.org) e enviei um email para mim mesmo. Tanto na lista quanto no cabeçalho as mensagens apareceram corretamente. William, ainda está acontecendo por aí? Vc usa a configuração de TimeZone? no php.ini?

Então, não temos nada configurado no php.ini e mais estranho é que com o código antigo (revisão [677], por exemplo) este problema não ocorre.

Qual a versão do firefox e php5 vcs estão utilizando?

Nilton, sabe pq não estávamos utilizando a versão oficial antes? Então, o no firefox 3.0.4 a pesquisa de e-mail (na revisão [677]) não funciona. Atualizando para 3.0.6 funciona blz. Mas o com o código novo (revisão [693]) a pesquisa funciona normalmente no firefox antigo e no novo... Estranho...

comment:24 in reply to: ↑ 23 Changed 12 years ago by niltonneto

Replying to wmerlotto:

Replying to niltonneto:

Alguém fora a Prognus está passando pelo mesmo problema na revisão #693?

Realmente não sei... Mas seria bom.

Olá, Fiz um svn-update (trunk do expressolivre.org) e enviei um email para mim mesmo. Tanto na lista quanto no cabeçalho as mensagens apareceram corretamente. William, ainda está acontecendo por aí? Vc usa a configuração de TimeZone? no php.ini?

Então, não temos nada configurado no php.ini e mais estranho é que com o código antigo (revisão [677], por exemplo) este problema não ocorre.

Qual a versão do firefox e php5 vcs estão utilizando?

Nilton, sabe pq não estávamos utilizando a versão oficial antes? Então, o no firefox 3.0.4 a pesquisa de e-mail (na revisão [677]) não funciona. Atualizando para 3.0.6 funciona blz. Mas o com o código novo (revisão [693]) a pesquisa funciona normalmente no firefox antigo e no novo... Estranho...

Bota estranho nisso. Eu estou usando FF 3.0.5 e PHP 5.2.6

comment:25 follow-up: ↓ 26 Changed 12 years ago by wmerlotto

Após as ultimas alterações no código, acho que esta [694], não houve mais problemas com o horário. Creio que este ticket pode ser fechado.

comment:26 in reply to: ↑ 25 Changed 12 years ago by niltonneto

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone set to Expresso Mail 1.234

Replying to wmerlotto:

Após as ultimas alterações no código, acho que esta [694], não houve mais problemas com o horário. Creio que este ticket pode ser fechado.

Que bom. Estava muito macabro mesmo.

comment:27 Changed 11 years ago by niltonneto

  • Version changed from 1.0 to Trunk (trunk)

comment:28 Changed 10 years ago by niltonneto

  • Milestone Expresso Mail 1.234 deleted

Milestone Expresso Mail 1.234 deleted

Note: See TracTickets for help on using tickets.