totvs / tds-vscode

Totvs Developer Studio for vscode
Apache License 2.0
165 stars 101 forks source link

Erro ao abrir qualquer fonte: Linter / Language Server é derrubado #1245

Open EvaldoBatista opened 3 months ago

EvaldoBatista commented 3 months ago

17/06/2024 - 19h43

Após abrir um fonte qualquer, o Language Server está caindo, o que deixa quase que o TDS sem funcionalidades. Não tenho certeza mas ao que percebo, o erro é por causa do Linter ou da ferramenta que Estrutura o código. Este erro é muito estranho, passou a ocorrer 1 semana após atualizar para a 2.0.8 Já tentei o Downgrade de versão do Plugin e até a 2.0.5 e o erro continua

Versão do Plugin: 2.0.8 Ambiente: macOS (15.0) Versão do VsCode: 1.90.1 Máquina: MacBook Pro M2 Max

NO WINDOWS ESSE PROBLEMA NÃO OCORRE.

Para reproduzir, basta com as visões acima, entrar em um projeto e depois abrir um fonte qualquer, se o fonte já estiver aberto, já apresenta o erro na mesma hora e não é possível mais conectar a nenhum servidor.

Se não tiver nenhum fonte aberto, é possível conectar em ambientes e efetuar algumas operações, porém ao abrir qualquer fonte o erro abaixo é apresentado:

Primeiro erro apresentado:

ERRO ## Inicio

[Error - 20:01:01] Stopping server failed Message: Cannot call write after a stream was destroyed Code: -32099

ERRO ## Fim

Segundo Erro apresentado:

ERRO ## Inicio

---------------------------v--------------------------------------------------- ////// //// ////// | TOTVS Developer Studio for VS-Code // // // // | Version 2.0.8 // // // ////// | TOTVS Technology // // // // | // //// ////// | https://github.com/totvs/tds-vscode ---------------------------^---------------------------------------------------


SOBRE O USO DE CHAVES E TOKENS DE COMPILAÇÃO

As chaves de compilação ou tokens de compilação empregados na construção do
Protheus e suas funcionalidades, são de uso restrito dos desenvolvedores de
cada módulo.

Em caso de mau uso destas chaves ou tokens, por qualquer outra parte, que não
a referida acima, a mesma irá se responsabilizar, direta ou regressivamente,
única e exclusivamente, por todos os prejuízos, perdas, danos, indenizações,
multas, condenações judiciais, arbitrais e administrativas e quaisquer outras
despesas relacionadas ao mau uso, causados tanto à TOTVS quanto a terceiros,
eximindo a TOTVS de toda e qualquer responsabilidade.

[Info - 19:36:58] Initializing Language Server. Version: totvsls 2.0 (Rev.: Last Changed Rev: 41924) [Info - 19:36:58] Language Server initialized. [Info - 19:36:58] Developer Support Subsystem initialized. [Info - 19:36:58] Starting reconnection to the server 'Corinthians - MbpM2 - 6091' [Info - 19:36:58] Secure authenticating... [Info - 19:37:00] User authenticated successfully. [Info - 19:37:00] Reconnection to the server 'Corinthians - MbpM2 - 6091' finished.

Loguru caught a signal: SIGSEGV Stack trace: 12 0x7ff81487dbef thread_start + 15 11 0x7ff814882253 _pthread_start + 99 10 0x102511f7f void std::thread_proxy<std::tuple<std::unique_ptr<std::thread_struct, std::default_delete>, WorkThread::_StartThread(std::string const&, std::function<void ()>)::$_0>>(void) + 63 9 0x1024e4d17 std::function::func<QueueManager::LaunchLsThread(bool)::$_0, void ()>::operator()() + 759 8 0x1023c931e BaseMessageHandler<(anonymous namespace)::In_TextDocumentDidOpen>::Run(std::shared_ptr) + 366 7 0x1023c9b31 (anonymous namespace)::Handler_TextDocumentDidOpen::Run((anonymous namespace)::In_TextDocumentDidOpen) + 1553 6 0x102549da6 WorkspaceFile::doProcess(DBCodeAction, std::function<void (std::vector)>) + 3238 5 0x10250ad2d TotvsLinter::callAdvplC(CallAdvplCParams const) + 2477 4 0x10251fce1 tAdvplc::run() + 7601 3 0x1032ef9cf executeAppreDll(int, char, tString&, tString&, tString&, tString&, char, std::function<void (tAbstractParserInterface)>) + 655 2 0x1032e5264 Preprocessor(int, char*, tString&, tString&, tString&, bool, tString, char, std::function<void (tAbstractParserInterface)>) + 1012 1 0x1032e3d18 ParseCommandLine(int, char**, tAutoArray&, tString&, tAutoArray&, tString&, unsigned char&, unsigned char&, tString&, tString&, unsigned char&, unsigned char&, unsigned char&, tString&) + 2184 0 0x0 4 ??? 0x0000000000000000 0x0 + 0 ( 12.351s) [languageServer ] :0 | Signal: SIGSEGV /Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/node_modules/@totvs/tds-ls/bin/mac/advpls: line 17: 47799 Segmentation fault: 11 "$tmp/$prog" ${1+"$@"} [Info - 19:37:10] Connection to server got closed. Server will restart. true [Info - 19:37:14] Initializing Language Server. [Info - 19:37:14] Language Server initialized. [Info - 19:37:14] Developer Support Subsystem initialized.

Loguru caught a signal: SIGSEGV Stack trace: 12 0x7ff81487dbef thread_start + 15 11 0x7ff814882253 _pthread_start + 99 10 0x1025dbf7f void std::thread_proxy<std::tuple<std::unique_ptr<std::thread_struct, std::default_delete>, WorkThread::_StartThread(std::string const&, std::function<void ()>)::$_0>>(void) + 63 9 0x1025aed17 std::function::func<QueueManager::LaunchLsThread(bool)::$_0, void ()>::operator()() + 759 8 0x10249331e BaseMessageHandler<(anonymous namespace)::In_TextDocumentDidOpen>::Run(std::shared_ptr) + 366 7 0x102493b31 (anonymous namespace)::Handler_TextDocumentDidOpen::Run((anonymous namespace)::In_TextDocumentDidOpen) + 1553 6 0x102613da6 WorkspaceFile::doProcess(DBCodeAction, std::function<void (std::vector)>) + 3238 5 0x1025d4d2d TotvsLinter::callAdvplC(CallAdvplCParams const) + 2477 4 0x1025e9ce1 tAdvplc::run() + 7601 3 0x1033b99cf executeAppreDll(int, char, tString&, tString&, tString&, tString&, char, std::function<void (tAbstractParserInterface)>) + 655 2 0x1033af264 Preprocessor(int, char*, tString&, tString&, tString&, bool, tString, char, std::function<void (tAbstractParserInterface)>) + 1012 1 0x1033add18 ParseCommandLine(int, char**, tAutoArray&, tString&, tAutoArray&, tString&, unsigned char&, unsigned char&, tString&, tString&, unsigned char&, unsigned char&, unsigned char&, tString&) + 2184 0 0x0 4 ??? 0x0000000000000000 0x0 + 0 ( 0.054s) [languageServer ] :0 | Signal: SIGSEGV

ERRO ## Fim.

brodao2 commented 3 months ago

@EvaldoBatista

Favor adicionar as chaves de log e a chave --log-file-append.

    "totvsLanguageServer.launch.args": [
    ...
        "--log-file-append=totvsls2.log"
    ],

Feche qualquer arquivo em edição e reinicie o o VS-Code. Inicie os trabalhos e ao ocorrer o problema, feche o VS-Code. Localize os arquivos de log pelo navegador de arquivos (normalmente ficam na área de trabalho que estava aberta) e anexe-os a esse chamado. Caso perceba que ocorra com uma estrutura de código especifica, p.e. definição de classe, condicionais e outras, descreva-as.

No aguardo.

EvaldoBatista commented 3 months ago

Brodão, bom dia,

Habilitei a chave e o arquivo de LOG não está sendo gerado... Tem alguma outra coisa para fazer?

denistofoli commented 2 months ago

Bom dia.

Desde a versão 2.0.2 as coisas não funcionam direito aqui pra mim.

Então venho mantendo a 1.3.23

Talves você deva fazer o mesmo ai Evaldo.

brodao-zz commented 2 months ago

Olá Denis

Você tem essas ocorrências em Mac?

Em seg, 24 de jun de 2024 11:58, Denis Tofoli @.***> escreveu:

Bom dia.

Desde a versão 2.0.2 as coisas não funcionam direito aqui pra mim.

Então venho mantendo a 1.3.23

Talves você deva fazer o mesmo ai Evaldo.

— Reply to this email directly, view it on GitHub https://github.com/totvs/tds-vscode/issues/1245#issuecomment-2186782519, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHH5GT5W4VO364IVBN4ZIDZJAXYBAVCNFSM6AAAAABJO4B7SWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBWG44DENJRHE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- AVISO LEGAL: Esta mensagem, incluindo seus anexos, é destinada exclusivamente para a(s) pessoa(s) a quem é dirigida, podendo conter informação confidencial e/ou privilegiada. Se você não for destinatário desta mensagem, desde já fica notificado de abster-se de utilizar a informação contida nesta mensagem de qualquer forma, sujeitando o infrator às penas da lei; notificar o remetente e eliminar o seu conteúdo de forma definitiva. Informações transmitidas por e-mail podem ser alteradas por terceiros, não havendo garantia de que sua integridade foi mantida e que esteja livre de vírus, interceptação ou interferência, não podendo ser imputada qualquer responsabilidade à TOTVS com relação ao seu conteúdo;

LEGAL NOTICE: This message, including its attachments, is intended exclusively for the people to whom it is addressed, and may contain confidential and/or privileged information. If you are not a recipient of this message, you are hereby notified to refrain from using the information contained in this message, subjecting the infringer to the penalties of the law. Information transmitted by e-mail may be changed by third parties, and there is no guarantee that its integrity has been maintained and that it is free of viruses, interception or interference, and no responsibility will be attributed to TOTVS in relation to its content;

AVISO LEGAL: Este mensaje, incluyendo sus anexos, está destinado exclusivamente a las personas a quienes se dirige, y puede contener información confidencial y / o privilegiada. Si usted no es un destinatario de este mensaje, por la presente se le notifica que se abstenga de usar la información contenida en este mensaje, sometiendo al infractor a las penas de la ley. La información transmitida por correo electrónico puede ser modificada por terceros, y no hay garantía de que su integridad ha sido mantenida y que está libre de virus, interceptación o interferencia, y ninguna responsabilidad será atribuida a TOTVS en relación con su contenido.

-- AVISO LEGAL: Esta mensagem, incluindo seus anexos, é destinada exclusivamente para a(s) pessoa(s) a quem é dirigida, podendo conter informação confidencial e/ou privilegiada. Se você não for destinatário desta mensagem, desde já fica notificado de abster-se de utilizar a informação contida nesta mensagem de qualquer forma, sujeitando o infrator às penas da lei; notificar o remetente e eliminar o seu conteúdo de forma definitiva. Informações transmitidas por e-mail podem ser alteradas por terceiros, não havendo garantia de que sua integridade foi mantida e que esteja livre de vírus, interceptação ou interferência, não podendo ser imputada qualquer responsabilidade à TOTVS com relação ao seu conteúdo;

LEGAL NOTICE: This message, including its attachments, is intended exclusively for the people to whom it is addressed, and may contain confidential and/or privileged information. If you are not a recipient of this message, you are hereby notified to refrain from using the information contained in this message, subjecting the infringer to the penalties of the law. Information transmitted by e-mail may be changed by third parties, and there is no guarantee that its integrity has been maintained and that it is free of viruses, interception or interference, and no responsibility will be attributed to TOTVS in relation to its content;

AVISO LEGAL: Este mensaje, incluyendo sus anexos, está destinado exclusivamente a las personas a quienes se dirige, y puede contener información confidencial y / o privilegiada. Si usted no es un destinatario de este mensaje, por la presente se le notifica que se abstenga de usar la información contenida en este mensaje, sometiendo al infractor a las penas de la ley. La información transmitida por correo electrónico puede ser modificada por terceros, y no hay garantía de que su integridad ha sido mantenida y que está libre de virus, interceptación o interferencia, y ninguna responsabilidad será atribuida a TOTVS en relación con su contenido.

EvaldoBatista commented 2 months ago

Boa tarde, seguindo a dica o Denis, Fui efetuando Downgrade de versão da ferramenta, sendo que a versão 2.0.3 não apresenta a falha acima.

Segue abaixo o TOTVS LS.:

---------------------------v--------------------------------------------------- ////// //// ////// | TOTVS Developer Studio for VS-Code // // // // | Version 2.0.3 // // // ////// | TOTVS Technology // // // // | // //// ////// | https://github.com/totvs/tds-vscode ---------------------------^---------------------------------------------------

SOBRE O USO DE CHAVES E TOKENS DE COMPILAÇÃO

As chaves de compilação ou tokens de compilação empregados na construção do
Protheus e suas funcionalidades, são de uso restrito dos desenvolvedores de
cada módulo.

Em caso de mau uso destas chaves ou tokens, por qualquer outra parte, que não
a referida acima, a mesma irá se responsabilizar, direta ou regressivamente,
única e exclusivamente, por todos os prejuízos, perdas, danos, indenizações,
multas, condenações judiciais, arbitrais e administrativas e quaisquer outras
despesas relacionadas ao mau uso, causados tanto à TOTVS quanto a terceiros,
eximindo a TOTVS de toda e qualquer responsabilidade.

[Info - 16:27:52] Initializing Language Server. Version: totvsls 2.0 (Rev.: Last Changed Rev: 40792) [Info - 16:27:52] Language Server initialized. [Info - 16:27:52] Developer Support Subsystem initialized. [Info - 16:27:52] Starting reconnection to the server 'Corinthians - MbpM2 - 6091' [Info - 16:27:52] Indexed folder: Drastosa Oficial (730 files) in %l (avg. 0 ms)

denistofoli commented 2 months ago

@brodao-zz

Eu não uso Mac, no meu dia-a-dia uso uma distro Linux baseada em Debian, porém alguns cliente e parceiro usam o Windows e como relatam o mesmo problema, todos nós ficamos na mesma 1.3.23

Ontem mesmo eu atualizei para a 2.0.8, porem o Linter continua não funcionando como o esperado.

Se tiver como eu contribuir com algo, logs, prints.

Ficarei feliz em enviar.

brodao2 commented 2 months ago

Senhores,

Efetuei testes em MacOS e sem ocorrências. image

@EvaldoBatista

Veja que os log foi gerado.

@denistofoli

Favor atualizar seu ambiente (LINUX), proceda como Gerando informações sobre o problema., para gerar logs.

Após a configuração reinicie o VS-Code e refaça as operações. Caso tenha alguma ocorrência, anexo o log gerado.

E nos clientes que usam Windows, se puderem fazer o mesmo procedimento, agradeço.

Grato pela colaboração e no aguardo.

brodao2 commented 2 months ago

Senhores,

Caso tenham "crash", no momento da ocorrência selecione a aba Output, log Extension Host image

Selecionem todo o conteúdo, salvem em um arquivo TXT e anexo-o a este chamado.

Grato pela colaboração.

EvaldoBatista commented 2 months ago

Bom dia,

Log da versão 2.0.8

Arquivos de LOG HostExtension.txt (Extensão de Host) ptyHost.txt (Pty Host) Window.txt (janela) TOTVS_LS.txt (TOTVS LS)

Window.txt TOTVS_LS.txt ptyHost.txt HostExtension.txt

danielbolognani commented 2 months ago

Por aparentemente ser uma queda do linter, pode ser que algum arquivo específico esteja causando isso. Seria possível tentar isolar qual arquivo? Por exemplo, abrir um workspace/pasta sem nenhum arquivo e adicionar os arquivos aos poucos até acontecer o problema. Se conseguir chegar no arquivo (ou arquivos) que esse problema ocorre, por favor nos envie esse arquivo para podermos analisar. Muito obrigado!

brodao2 commented 2 months ago

@EvaldoBatista

Por uma acaso está abrindo arquivos que estão fora da área de trabalho?

No aguardo.

EvaldoBatista commented 2 months ago

Não, todos os arquivos fazem parte do WorkSpaceEnviado do meu iPhoneEm 28 de jun. de 2024, à(s) 09:42, Alan Candido @.***> escreveu: @EvaldoBatista Por uma acaso está abrindo arquivos que estão fora da área de trabalho? No aguardo.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

EvaldoBatista commented 2 months ago

Alan, todos os arquivos que estão no meu workspace geram o problema, até o momento não encontrei nenhum arquivo que não apresenta o problema!Enviado do meu iPhoneEm 28 de jun. de 2024, à(s) 09:00, Daniel Otto Bolognani @.***> escreveu: Por aparentemente ser uma queda do linter, pode ser que algum arquivo específico esteja causando isso. Seria possível tentar isolar qual arquivo? Por exemplo, abrir um workspace/pasta sem nenhum arquivo e adicionar os arquivos aos poucos até acontecer o problema. Se conseguir chegar no arquivo (ou arquivos) que esse problema ocorre, por favor nos envie esse arquivo para podermos analisar. Muito obrigado!

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

EvaldoBatista commented 2 months ago

Erro ao abrir um arquivo novo, sem gravar no disco e atribuir a Linguagem ADVPL (LOG do TOTVS LS)

[Error - 22:04:06] Stopping server failed Message: Cannot call write after a stream was destroyed Code: -32099 [Error - 22:04:06] Sending document notification textDocument/didOpen failed. Error: Cannot call write after a stream was destroyed at new NodeError (node:internal/errors:406:5) at _write (node:internal/streams/writable:380:11) at Writable.write (node:internal/streams/writable:393:10) at /Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:52:14111 at new Promise () at i9.write (/Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:52:14032) at Xg.doWrite (/Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:25:1639) at /Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:25:1538 at runNextTicks (node:internal/process/task_queues:60:5) at process.processImmediate (node:internal/timers:449:9) [Error - 22:04:06] Sending document notification textDocument/didOpen failed. Error: Cannot call write after a stream was destroyed at new NodeError (node:internal/errors:406:5) at _write (node:internal/streams/writable:380:11) at Writable.write (node:internal/streams/writable:393:10) at /Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:52:14111 at new Promise () at i9.write (/Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:52:14032) at Xg.doWrite (/Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:25:1639) at /Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:25:1538

HOST DE EXTENSÃO (LOG)

2024-07-03 22:03:49.320 [info] Extension host with pid 35593 started 2024-07-03 22:03:49.320 [info] Skipping acquiring lock for /Users/evaldo/Library/Application Support/Code/User/workspaceStorage/d2ff74a43b4522ade08d71763a19355a. 2024-07-03 22:03:49.448 [info] ExtensionService#_doActivateExtension vscode.git-base, startup: true, activationEvent: '', root cause: vscode.git 2024-07-03 22:03:49.449 [info] ExtensionService#_doActivateExtension mhutchie.git-graph, startup: true, activationEvent: '' 2024-07-03 22:03:49.514 [info] ExtensionService#_doActivateExtension TOTVS.tds-vscode, startup: true, activationEvent: 'workspaceContains:*/.pr[wgx],*/.tlpp' 2024-07-03 22:03:49.550 [warning] Using default string since no string found in i18n bundle that has the key: There are patches that cannot be applied and must be removed from the list. See log for details. 2024-07-03 22:03:49.581 [info] ExtensionService#_doActivateExtension vscode.git, startup: true, activationEvent: '' 2024-07-03 22:03:49.581 [info] ExtensionService#_doActivateExtension vscode.github, startup: true, activationEvent: '' 2024-07-03 22:03:49.607 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onLanguage' 2024-07-03 22:03:49.736 [info] ExtensionService#_doActivateExtension vscode.github-authentication, startup: false, activationEvent: 'onAuthenticationRequest:github' 2024-07-03 22:03:49.750 [info] Eager extensions activated 2024-07-03 22:03:49.811 [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch, startup: false, activationEvent: 'onStartupFinished' 2024-07-03 22:03:49.811 [info] ExtensionService#_doActivateExtension vscode.merge-conflict, startup: false, activationEvent: 'onStartupFinished' 2024-07-03 22:03:49.811 [info] ExtensionService#_doActivateExtension eamodio.gitlens, startup: false, activationEvent: 'onStartupFinished' 2024-07-03 22:03:49.828 [info] ExtensionService#_doActivateExtension PKief.material-icon-theme, startup: false, activationEvent: 'onStartupFinished' 2024-07-03 22:03:51.209 [info] ExtensionService#_doActivateExtension vscode.configuration-editing, startup: false, activationEvent: 'onLanguage:jsonc' 2024-07-03 22:03:51.209 [info] ExtensionService#_doActivateExtension vscode.json-language-features, startup: false, activationEvent: 'onLanguage:jsonc' 2024-07-03 22:03:51.209 [info] ExtensionService#_doActivateExtension vscode.typescript-language-features, startup: false, activationEvent: 'onLanguage:jsonc' 2024-07-03 22:03:52.376 [info] ExtensionService#_doActivateExtension mechatroner.rainbow-csv, startup: false, activationEvent: 'onLanguage:plaintext' 2024-07-03 22:04:05.374 [info] ExtensionService#_doActivateExtension AlencarGabriel.protheusdoc-vscode, startup: false, activationEvent: 'onLanguage:advpl' 2024-07-03 22:04:07.753 [error] Error: Cannot call write after a stream was destroyed at new NodeError (node:internal/errors:406:5) at _write (node:internal/streams/writable:380:11) at Writable.write (node:internal/streams/writable:393:10) at /Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:52:14111 at new Promise () at i9.write (/Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:52:14032) at Xg.doWrite (/Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:25:1639) at /Users/evaldo/.vscode/extensions/totvs.tds-vscode-2.0.8/out/extension.js:25:1538 at runNextTicks (node:internal/process/task_queues:60:5) at process.processImmediate (node:internal/timers:449:9)

brodao2 commented 1 month ago

@EvaldoBatista

Vendo outro chamado, me deu um estalo. No Mac, verifique se as configurações de include no arquivo de definição de server estão corretas e acessíveis. Também seria interessante pegar uma versão atual.