Melhoria - Novas proteções do Advpl
Situação | Utilização de programas AdvPL que armazenam e referenciam blocos de código. |
---|---|
Ocorrência | Caso um determinado bloco de código, durante sua existência, fosse atribuído mais de 32767 vezes a outras variáveis ou elementos de array, a execução da aplicação era encerrada com a ocorrência de erro fatal "assert failed on codeblock.cpp", precedida por uma ocorrência "Reference counter overflow ( over 32700 ) on tLocalEnv::IncRefs()". Após reproduzida tal ocorrência, o servidor de aplicação tornava-se instável, e poderia apresentar Access Violation seguido de queda do serviço. |
Melhoria | Uma ocorrência desta natureza não pode derrubar o servidor, e deve gerar uma mensagem de erro que aponte com maior clareza a natureza da ocorrência. Foi realizada uma proteção no Application Server, para que a aplicação Advpl seja encerrada com a ocorrência de erro "Reference counter overflow ( over 32600 ) on CodeBlock assignment" caso este limite seja atingido, e não provoque Access Violation no Protheus Server após a finalização do processo. |
Informações adicionais |
|