Os componentes internos de execução do TOTVS Application Server foram protegidos para disparar uma ocorrência de erro AdvPL para abortar a aplicação sem causar invasão de memória, Access Violation ou instabilidade, indicando a causa da ocorrência e respectiva pilha de chamada de funções (stack). Veja, as seguir, as novas ocorrências: Reference counter overflow ( over 32700 ) on tClassInstance::addRef(): Reproduzida quando um objeto de uma determinada classe é referenciado mais de 32700 vezes. Por exemplo, criar um objeto e acrescentá-lo mais de 32700 vezes em um array, ou acrescentá-lo mais de 16350 vezes em um array e criar uma cópia deste array usando a função aClone(). Reference counter overflow ( over 32700 ) on tVarList::addRef(): Reproduzida quando utilizamos arrays, uni ou multidimensionais, e criamos novas variáveis ou elementos referenciando elementos já existentes, onde do mesmo elemento foram criadas mais de 32700 referências. O exemplo da ocorrência anterior se aplica a este, onde ao invés de objeto, são feitas referências a um array. Reference counter overflow ( over 32700 ) on tLocalEnv::IncRefs(): Proteção colocada diretamente no Kernel, para uma situação similar às acimas descritas, que não deveria ser reproduzida. As situações que poderiam envolver esta ocorrência são tratadas em outros pontos do sistema, como a proteção de número máximo de níveis de recursão em chamada de funções e stack. Caso esta ocorrência seja reproduzida, deve-se abrir um chamado para a tecnologia TOTVS, informando a ocorrência, logs de console, arquivo de configuração (*.INI) da aplicação e demais informações que se fizerem necessárias para reproduzir tal situação. |