8606 - Read of address 00000008 e instâncias travadas
Problema: Descrição do Problema: No cliente atual tem ocorrido erros de as instâncias ficarem presas sem erro e sem log / condições de diagnosticar a causa.
Também de forma aleatória aparecem AV no WEB:
Access Violation at address 008F252F in module RondaServer.exe. Read of address 00000008
Quando ocorre / onde se aplica: Web 5.0
Solução: Solução (incluir preceitos legais):
Primeiramente identificamos que não foi possível simular a situação nos Servidores.
O problema do AV ocorre de forma aleatória para os usuários e em telas diferentes dentro do Rondaweb.
Durante o processo, percebemos que as instâncias do rondasrv.exe estavam alocando memória e não liberando, consumindo recurso do servidor, e influenciando nas outras instâncias.
Com essa análise, configuramos o SeniorMonitorCenter.exe menu Middleware/Balanceamento de carga - avançado, o campo Reinicar instâncias após o uso de memória atingir <> MB para 100MB.
Após isso, solicitamos reiniciar o Serviços do Middleware, para que a alteração tenha efeito.
Em um acompanhamento, vimos que as instâncias estão sendo finalizadas após atingir 100MB de memória alocada, conforme configurado.
Ou seja, quando o processo da instância termina e ela fica ociosa, se tiver mais de 100MB de uso de memória ela é finalizada, e logo é inicializada outra instância automáticamente.
Isso resolvou a situação do AV.
A causa do travamento da instância pode ser gerada pela execução ou chamada de um aplicativo externo sim. Quando se executa um processo via ação de instância, não pode ser disparada ou gerada qualquer mensagem, tela ou aviso com interferencia de um usuário para continuar com a operação, exemplo clique em confirmar para continuar.
Caso isso ocorra, a instância ficará travada, pois por baixo dos panos não será possível visualizar a mensagem em tela para continuar o processo, travando a instância. É a mesma lógica de deixar uma regra LSP em dpuração e executar a regra via processo automático, a instância irá travar, pois não irá mostrar a regra a ser depurada para o usuário, mas o sistema ficará aguardando alguém dar o passo para a depuração finalizar.
Isso geralmente ocorre quando os clientes utilizam a função execprog, messagem ou o modo depuração em regras.
Instâncias presas somente são liberadas finalizando via SeniorMonitorCenter ou Gerenciador do Windows, onde no log da instância será gerado um log com o interrompimento da mesma.
Caso contrário não será gerada nenhuma mensagem que a mesma está travada.
Também de forma aleatória aparecem AV no WEB:
Access Violation at address 008F252F in module RondaServer.exe. Read of address 00000008
Quando ocorre / onde se aplica: Web 5.0
Solução: Solução (incluir preceitos legais):
Primeiramente identificamos que não foi possível simular a situação nos Servidores.
O problema do AV ocorre de forma aleatória para os usuários e em telas diferentes dentro do Rondaweb.
Durante o processo, percebemos que as instâncias do rondasrv.exe estavam alocando memória e não liberando, consumindo recurso do servidor, e influenciando nas outras instâncias.
Com essa análise, configuramos o SeniorMonitorCenter.exe menu Middleware/Balanceamento de carga - avançado, o campo Reinicar instâncias após o uso de memória atingir <> MB para 100MB.
Após isso, solicitamos reiniciar o Serviços do Middleware, para que a alteração tenha efeito.
Em um acompanhamento, vimos que as instâncias estão sendo finalizadas após atingir 100MB de memória alocada, conforme configurado.
Ou seja, quando o processo da instância termina e ela fica ociosa, se tiver mais de 100MB de uso de memória ela é finalizada, e logo é inicializada outra instância automáticamente.
Isso resolvou a situação do AV.
A causa do travamento da instância pode ser gerada pela execução ou chamada de um aplicativo externo sim. Quando se executa um processo via ação de instância, não pode ser disparada ou gerada qualquer mensagem, tela ou aviso com interferencia de um usuário para continuar com a operação, exemplo clique em confirmar para continuar.
Caso isso ocorra, a instância ficará travada, pois por baixo dos panos não será possível visualizar a mensagem em tela para continuar o processo, travando a instância. É a mesma lógica de deixar uma regra LSP em dpuração e executar a regra via processo automático, a instância irá travar, pois não irá mostrar a regra a ser depurada para o usuário, mas o sistema ficará aguardando alguém dar o passo para a depuração finalizar.
Isso geralmente ocorre quando os clientes utilizam a função execprog, messagem ou o modo depuração em regras.
Instâncias presas somente são liberadas finalizando via SeniorMonitorCenter ou Gerenciador do Windows, onde no log da instância será gerado um log com o interrompimento da mesma.
Caso contrário não será gerada nenhuma mensagem que a mesma está travada.