| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2005 18:48:13
|
#@®®¡$
Moderador
![[Avatar]](/images/avatar/2288f691b58edecadcc9a8691762b4fd.jpg)
Membro desde: 13/02/2004 09:42:28
Mensagens: 807
Localização: São Paulo
Offline
|
Pessoal, no sistema aqui da empresa existe um método que calcula datas com GregorianCalendar. Nós já havíamos testado, usado JUnit para testes automáticos, e tudo havia funcionado perfeitamente.
Já há algum tempo, o sistema foi implantado em um cliente, e lá ocorreu um problema de travamento que, debugando, descobrimos que ocorria justamente em nossa classe que calculava datas. Em um método que testava se um dia era ou não feriado, ocorria uma soma de 1 dia em uma data e essa soma não ocorria. Ou seja, ele tentava somar 1 dia a 19/02/2005 e retornava 19/02/2005. Testamos aqui em nossas máquinas e o erro não ocorreu. Criamos um programa pequeno apenas com a classe para testar e o problema mais uma vez ocorreu apenas nas máquinas do cliente, não nas nossas.
O método usa o esquema de milissegundos para calcular a data. Eu fiz um teste usando o método add() do GregorianCalendar, testei na minha máquina e deu certo. Testei em uma máquina que pegamos emprestada do cliente e deu errado.
O programa que usei para testar segue abaixo:
Reparem que é bem simples, eu o fiz em uns dez minutos só para testar. Na máquina do cliente, ele gerou o arq1.txt corretamente (somando 1 em 1 até 05/01/2006), mas no arq2.txt ele parou de somar a partir de 08/10/2005. Ou seja, ele somou normalmente até 07/10/2005, mas a partir de 08/10/2005, passou a repetir essa data.
Existe algum bug conhecido na GregorianCalendar que poderia gerar um comportamento desse tipo?
A propósito, a máquina do cliente tem as seguintes características:
Intel Celeron 2.0 GHZ
256 MB RAM
Windows 2000 5.00.2195 Service Pack 4
E a versão da J2RE, tanto nas máquinas daqui quanto nas do cliente, é J2RE 1.4.2_04-b05 .
Se puderem me ajudar, obrigado. :¬)
|
Wilerson "#@®®¡$" de Oliveira
http://mundoestranho.net/blog/
Douglas Adams wrote:I love deadlines. I like the whooshing sound they make as they fly by.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2005 18:52:32
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
08/10/2005
Aham - parece que a mudança para horário de verão (pelo menos para a JVM instalada na máquina desse cliente) vai ser nesse dia.
Já tive um problema com 10/10/2004 em algumas versões da JVM, então isso tem cheiro de horário de verão.
Só pra dar mais uma checada, veja como está o Regional Settings (Portuguese/Brazil?) e o timezone do Windows (se está setado ou não para daylight saving changes), pode ser que estejam diferentes de uma máquina para a outra, por isso é que você não está conseguindo reproduzir o problema.
Para resolver o problema, some sempre 1 dia e 1 hora.
This message was edited 2 times. Last update was at 07/01/2005 18:56:45
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/01/2005 07:44:28
|
#@®®¡$
Moderador
![[Avatar]](/images/avatar/2288f691b58edecadcc9a8691762b4fd.jpg)
Membro desde: 13/02/2004 09:42:28
Mensagens: 807
Localização: São Paulo
Offline
|
Obrigado, Thingol. Mas eu não consigo entender porque deu problema em 19/02/2005. Mas eu vou fazer a verificação e o teste na segunda.
EDIT: Ah, perdão. Esqueci de pensar no óbvio: horário de verão terminando em 19/02.
This message was edited 1 time. Last update was at 08/01/2005 07:47:51
|
Wilerson "#@®®¡$" de Oliveira
http://mundoestranho.net/blog/
Douglas Adams wrote:I love deadlines. I like the whooshing sound they make as they fly by.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2005 08:54:47
|
#@®®¡$
Moderador
![[Avatar]](/images/avatar/2288f691b58edecadcc9a8691762b4fd.jpg)
Membro desde: 13/02/2004 09:42:28
Mensagens: 807
Localização: São Paulo
Offline
|
Update: Testei e funcionou. Obrigado, Thingol.
|
Wilerson "#@®®¡$" de Oliveira
http://mundoestranho.net/blog/
Douglas Adams wrote:I love deadlines. I like the whooshing sound they make as they fly by.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2005 09:22:41
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Não há de quê. Como já tive um problema parecido, achei que fosse isso. A dica de somar 1 dia e 1 hora eu dei pela primeira vez para a minha esposa, que teve um problema com o dia 10/10/2004.
|
|
|
 |
|
|
|
|