Incidente: ao utilizar a interface PO-UI em um ambiente com SQLite como database principal (RPODB=SQLITE), a emissão de uma query para abertura da tabela temporária falhava apresentando a mensagem de erro: Solução: para evitar essa falha, alteramos o tratamento de tabelas temporárias no database DB_TMP e passamos a criar a tabela temporária no próprio DB_SYS. Referente ao chamado: DTAPPSRV-6943 |
Incidente: ao consumir determinadas APIs via AdvPL, a resposta de retorno estava demorando muito, entre 4 e 5 minutos. Solução: foram realizados ajustes no separador de linhas de recebimento do header HTTP para suportar o delimitador '\n'. Referente ao chamado: DTAPPSRV-7280 |
Incidente: no Application Server Linux, à medida que o número de handles de arquivos e sockets aumentava, havia o risco de queda do Application Server por deficiência no tratamento de eventos de rede. Solução: melhorado o tratamento de eventos de rede pelo Application Server no ambiente Linux, evitando as quedas relatadas. Referente ao chamado: DTAPPSRV-7041 |
Incidente: queda no Application Server em Serviço Rest quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços. Solução: correção realizada dentro do componente Vader para o tratamento correto do path de arquivos. Referente ao chamado: DTAPPSRV-7306 |
Incidente: problema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server. Solução: proteção e checagem na lista de code block. Referente ao chamado: DTAPPSRV-7274 |
Incidente: não estava sendo possível utilizar o Broker Agent na versão 20.3.1.9. As instâncias de Application Server não estavam sendo criadas. Solução: corrigido o tratamento do arquivo de configuração do Broker Agent que estava causando este comportamento. Referente ao chamado: DTAPPSRV-7317 |
Incidente: Access Violation dentro do Vader envolvendo o tratamento de Cookies HTTP Solução: revisado e corrigido o componente interno. Referente ao chamado: DTAPPSRV-7348 |
Incidente: o mecanismo de reinicialização da camada do App Monitor evidenciou uma falha na HttpSGet quando utilizamos certificado e chave privada armazenados em path absoluto. Solução: fizemos um ajuste para viabilizar a utilização de certificado e chave privada armazenados em uma pasta diferente do RootPath, evitando a falha em questão. Referente ao chamado: DTAPPSRV-7383 |
Incidente: após atualização do AppServer foi identificado um problema de serialização na conexões RPC que impactaram na performance das rotinas de Integração Excel. Solução: foi aplicada uma correção na camada de conexões RPC para evitar este comportamento, devolvendo a performance esperada para a integração. Referente ao chamado: DTAPPSRV-7428 |
Incidente: erro no upload de arquivos utilizando rotinas REST. Solução: correção no tratamento de upload de arquivos. Referente ao chamado: DTAPPSRV-7438 |
Incidente: "Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes. Solução: correção no tratamento de arquivos Json. Referente ao chamado: DTAPPSRV-7334 |
Incidente: Application Server estava apresentando lentidão ao realizar uma requisição PUT via Rest. A aplicação estava pegando o content-length da requisição de forma incorreta, por isso ficava esperando por um body como resposta, o que dava a impressão de baixo desempenho. Solução: foram realizados ajustes para que o content-length seja consumido da forma correta. Referente ao chamado: DTAPPSRV-7294 |
Incidente: utilizando a classe TWSDLManager, ao fazer o parse de um WSDL que necessita de autenticação HTTP e que existe um redirect para outra URL, necessitando dos mesmos dados de autenticação, o parse falhava. Solução: criada a propriedade lHTTPTransferAuth na classe TWSDLManager, que permite transferir os dados de autenticação HTTP em caso de redirect da URL. O valor padrão dessa propriedade é true (.T.). Referente ao chamado: DTAPPSRV-7464 |
Incidente: erro na execução de download de arquivos através das rotinas REST. Solução: correção no tratamento do MFPD (Multi forma part data). Referente ao chamado: DTAPPSRV-7455 |
Incidente: funções AdvPL relacionadas ao RPO seguro não estavam respeitando corretamente as definições de tipo de RPO e com isso, falhando nas consultas e acessos. Solução: ajustes e correções para correto acesso aos RPOS TLPP, Custom e Default. Referente ao chamado: DTAPPSRV-7445 |
Incidente: insufficient Buffer on tString::sprintf() durante a geração de um logprofiler. Solução: impor um limite de 256 bytes para definir uma string de "observação" para a Thread / Processo atual. Referente ao chamado: DTAPPSRV-7444 |
Incidente: possibilidade de crescimento indiscriminado do log do Broker Agent quando executado em modo desktop. Solução: melhorado o tratamento de eventos de teclado (Ctrl-C etc) que estava causando o crescimento indiscriminado do log do Broker Agent. Referente ao chamado: DTAPPSRV-7420 |
Incidente: finalização inesperada do TOTVS Application Server ao utilizar o rastreio de conexões com o DBACCESS ADVSQLREPLAY em uma situação em que a aplicação AdvPL tem duas ou mais conexões ativas e fecha a primeira conexão aberta com TCUNLINK(). Solução: corrigida a busca na lista de conexões ativas. Referente ao chamado: DTAPPSRV-7409 |
Incidente: o arquivo sso\etc\services.conf em branco utilizado pelo SAML estava causando a queda do Application Server. Solução: checagem do arquivo services.conf e mensagem de erro no console durante a execução, caso o arquivo esteja em branco. Referente ao chamado: DTAPPSRV-7402 |
Incidente: select * de tabela SQLITE após apagar e recriar a tabela com nova estrutura diferente da anterior, retornava a primeira estrutura da tabela, pois ao apagar a tabela, um cache de resolução de queries não era apagado. Solução: limpar o cache de estrutura de retorno de Queries relacionado a uma tabela, quando ela for eliminada. Referente ao chamado: DTAPPSRV-7395 |
Incidente: ao forçar uma compilação com a chave BUILDKILLUSERS e Servidor Rest ativos, o serviço Rest era corretamente interrompido. Porém, ao tentar conectar novamente ao serviço Rest (exemplo: Webmonitor e TLPP Monitor) ocorria o erro "SYMTAB in use for addSourceInfo...". Solução: foram realizadas correções pontuais no Servidor de Aplicação (Application Server). Referente ao chamado: DTAPPSRV-7375 |
Ocorrência: requisições em REST com "origin: null" estavam falhando por causa do tratamento de CORS. Solução: corrigido o tratamento de CORS para aceitar requisições com "origin: null". Referente ao chamado: DTAPPSRV-7360 |
Ocorrência: access Violation no Application Server causado pela soma entre variáveis definida como Char (tipagem forte) e string. Correção: proteção para não permitir operação de soma, apresentando mensagem de erro durante a execução. Referente ao chamado: DTAPPSRV-7355 |
Ocorrência: problemas no funcionamento do WebApp causados pelo tratamento de Websockets em um componente do Appserver. Correção: corrigido o tratamento de Websockets para permitir o funcionamento correto do WebApp com protocolo Websocket. Referente ao chamado: DTAPPSRV-7205 |
Ocorrência: access Violation durante assinatura de fonte via AppServer Command Line. Correção: inicialização e configuração dos parâmetros SSL. Referente ao chamado: DTAPPSRV-7431 |
Ocorrência: ao chamar a função HSMObjList com o parâmetro cPass (segundo parâmetro) igual a string vazia e com o dispositivo HSM inicializado, ocorria queda no Application Server. Correção: foi feito um tratamento para evitar a queda quando o parâmetro cPass estiver vazio. Referente ao chamado: DTAPPSRV-7510 |
Ocorrência: Erro na apresentação de tela PO-UI quando da utilização do Broker. Correção : Inclusão do parâmetro de path no cookie utilizado pelo broker. Referente ao chamado: DTAPPSRV-7533 |
Ocorrência : Perdas significativas de desempenho em ambientes que utilizam GRID de processamento AdvPL, Jobs de WebServices, e integrações via RPC, como por exemplo Front Loja e Retaguarda, ao atualizar o Application Server para builds superiores a 20.3.1.5. Correção : Corrigida a rotina de verificação de carga de RPO, que causava uma retenção e serialização entre processos. Referente aos chamados: DTAPPSRV-7413 e DTAPPSRV-7392. |
Incidente: Falha de criação de índices em tabelas de uso interno do Framework AdvPL, usando RDD TOPCONN com DBAccess e/ou SQLITE, quando o campo possui nome com mais de 10 caracteres. Solução: Criação de índice suportada adequadamente após ajuste na lista de campos do índice no AppServer. Referente ao chamado: DTAPPSRV-7245 |
Incidente: Ao apresentar Error in encode FindBase64Val returning -1, em algumas ocasiões o serviço ficava indisponível. Solução: Correção no tratamento da mensagem. Referente ao chamado: DTAPPSRV-7253 |
Incidente: O tratamento de objetos Json "inline" não está respeitando o padrão correto de objetos Json, não sendo possível criar objetos Json vazios (ex: { }), arrays de Json [ ] não são criados corretamente e também não permitem que os tipos True, False e Null sejam tratados como tipos Json. Solução: O tratamento dos objetos Json foi corrigido para que ele passasse a ser tratado conforme a formatação Json. A principal alteração ocorre com array AdvPL que é representado por "{ }", todavia no padrão Json, isto representa um objeto Json vazio, ou seja, em um código que tenha por exemplo "local jJson := { "chave" : {} }", terá como valor um objeto Json vazio. Referente ao chamado: DTAPPSRV-7210 |
Incidente: Falha ao conectar via classe tRPC em um appserver de balanceamento desktop broker com SSL ativo Referente ao chamado: DTAPPSRV-7311 |
Atualização de bibliotecas de terceiros e melhorias relacionadas a segurança. |
Incidente: Comportamento do Sistema Operacional Linux afetava liberação de memória do mecanismo de alocação e controle do Appserver Solução: Implementado recurso que possibilita o controle do cache de memória realizado pelo sistema operacional Linux, permitindo assim, a liberação de memória quando não utilizada. |
Incidente: Em um cenário com Broker Agent e Monitor Embedded no Broker Smartclient, quando o Broker Agent finalizava um serviço este não estava sendo retirado das tabelas de monitoração do Monitor Embedded. |
Incidente: Cliente necessita desativar o sistema associado a um Broker Agent, e para isso o Broker não deve direcionar novas conexões a esse sistema. |
Solicitação: serviço WebMonitor subir automaticamente no start do Application Server e também a opção para desligar se necessário com a seção [WEMONITOR] e chave Enable=0 no appserver.ini Referente ao chamado: DTAPPSRV-7376 |
Solicitação: descontinuar a chave de compilação de compilação Linux baseada no algoritmo AES que foi criada para manter compatibilidade com a antiga chave de compilação. Documentação: AppServer Command Line - Compilação por linha de comando Referente ao chamado: DTAPPSRV-7264 |
Solicitação: conversões de imagens 24BPP Referente ao chamado: DTAPPSRV-7136 |
Solicitação: Classe SFTP (Secure File Transfer Protocol) Solução: implementação de classe para transferência de arquivos de forma segura, via protocolo SFTP. Disponível na linguagem TLpp Documentação: tSFTPClient Referente ao chamado: DTAPPSRV-7349 |