totvs / advpl-vscode

Suporte para Advpl no VsCode
MIT License
161 stars 63 forks source link

Estouro de memória em Debug - Windows 10 #326

Open fdantas89 opened 5 years ago

fdantas89 commented 5 years ago

Olá,

Estou enfrentando um problema no VSCODE, onde ao iniciar o debug de um fonte (não ocorre para todos), o VSCODE trava a máquina.

Deixei o gerenciador aberto ao iniciar o debug e percebi que o plugin ADVPLDebugBridgeC está causando o estouro de memória. Segue anexo um print do gerenciador.

Alguém já passou por isso?

Desde já agradeço. Gerenciador_vscode

killerall commented 5 years ago

Ola, ja tivemos alguns report's mais ninguem conseguiu isolar como reproduzir isso. Se conseguir sempre reproduzir isso, consegue fazer um passo a passo para reproduzir?:

fdantas89 commented 5 years ago

Boa tarde,

Então, este problema sempre ocorre no início do debug. Os passos que eu faço são:

No momento que o debug vai ser inicializado, o consumo de memória vai a 100% e a máquina trava. Não consigo nem gravar um vídeo, porque a máquina trava e não consigo salvar. Rsss.

Tenho que forçar o desligamento direto no botão desligar.

killerall commented 5 years ago

Então, Mais qual fonte e procedimento do ERP?

fdantas89 commented 5 years ago

Não há um fonte especifico, acredito que seja um problema da máquina mesmo. Perguntei para outras pessoas que utilizam o VSCode e nunca tiveram este problema, mesmo após a ultima atualização.

killerall commented 5 years ago

A maioria das pessoas não usa essa versão no windows. Você esta usando a alpha (que é usada no Linux e MAC). Se vocÊ não ativou isso por nenhum motivo especifco, volte para versão atual, "advpl.alpha_compile": false

E regere o cipher, pois é diferente entre as versoes.

fdantas89 commented 5 years ago

Beleza, vou fazer e testar, depois retorno o resultado dos testes. Obrigado pelo apoio.

Evandroafv commented 5 years ago

Boa tarde. Tive esse problema no MAC. Deixei o "advpl.debug_showStatics": false Foi assim que resolvi.

fdantas89 commented 5 years ago

Evandro, obrigado pelo retorno. Fiz este procedimento, até o momento o problema não ocorreu.

Herbert2122 commented 4 years ago

Eu ainda enfrento o esse problema Já deixei todas as tags de show como false e o problema continua, ele para em trechos bem aleatórios, alguns de definição de variáveis e outros de TABELA->dbSetOrder No Log do APPServer não tem nada que ajude a identificar o erro. image

settings.zip

Herbert2122 commented 4 years ago

Pessoal na verdade dando uma analisada no Log, acredito que o problema esteja relacionado a possíveis erros não tratados pelo debug vs AppServer, olhando a fundo o log do appserver,

2020-07-16T10:44:32.682000-03:00 17848| [FATAL][SERVER] 27/05/2020 10:50:32[Thread 17848] [THROW] Invalid ReadMSChar at file d:\bamboo-agent-5.7.2\xml-data\build-dir\tp11-tecx17v3r1-tecxwin64\lib_base\memstream.hpp line 860

2020-07-16T10:46:47.617000-03:00 16752| [WARN ][SERVER] Cannot update a constant string 2020-07-16T10:46:49.467000-03:00 16752|------0--c:\totvs\35200647854831002057550020006719211082186783.pdf

Com esses erros q davam o debug não dava nenhuma resposta e o consumo de memória ia aumentando, aumentando até ele morrer.

AlencarGabriel commented 4 years ago

@killerall , isso acontece esporadicamente comigo.

Inclusive acabou de acontecer. Depurando linha a linha passei por um DbGoTop() e o PC travou totalmente por falta de memória.

killerall commented 4 years ago

Pelo o que da para perceber ocorreu algum problema na comunicação entre o debug e o server. O que preciso pra resolver isso é uma maneira de reproduzir isso.

Herbert2122 commented 4 years ago

@killerall acho que achei uma forma de vc consegui reproduzir, pega uma rotina que roda em Job, que tenha as declarações simples de ambiente como por ex:
Reset Environment RPCSetType(3) RpcSetEnv("01","01")

e no debug chama a rotina direto tipo U_JOB o Debug vai começar com um monte de comportamento estranho estouro de memória, fechamento repentino do debug e por ai vai, no meu PC o ADVPLBRIGDE chega a bater 4GB até desligando o computador, pelo uso de CPU e Memória, toda rotina em job que eu rodo direto pelo debug acontece isso.

Se eu abro via SIGACOM, SIGAADV, SIGAMDI etc.. funciona que é uma beleza com o debug beirando os 500MB.

killerall commented 4 years ago

Eu fiz um cara desse já, e não consegui reproduzir. @AlencarGabriel vê se consegue reproduzir com Bridge com log de memoria por favor. @Herbert2122 Se no seu ambiente reproduz sempre com esse cara, talvez seja o ideal você usar o cara com log.

Herbert2122 commented 4 years ago

@killerall pois , é muito estranho pois aqui na empresa tem outros analistas que rodam legal a extensão com 0 problemas, seja job ou normal, antes de comentar eu desinstalei completamente o visual code e as extensões, usei o Revo para tirar qualquer vestígio, passei um ccleaner, e dai instalei de novo e fiquei com o mesmo erro.

AlencarGabriel commented 4 years ago

Eu fiz um cara desse já, e não consegui reproduzir. @AlencarGabriel vê se consegue reproduzir com Bridge com log de memoria por favor. @Herbert2122 Se no seu ambiente reproduz sempre com esse cara, talvez seja o ideal você usar o cara com log.

@killerall , fiz o teste e não reproduzi o problema:

DEBUG

killerall commented 4 years ago

Eu nao consigo reproduzir no linux aqui, mais gerei um log de memória por fora da aplicação: image

Vou tentar ver se consigo limpar a memoria que esta crescendo.

AlencarGabriel commented 4 years ago

@killerall , seria uma boa mesmo. Como te falei aquele dia, a cada interação no debug a memória vai subindo e não é limpa.