evolution-api icon indicating copy to clipboard operation
evolution-api copied to clipboard

Versao 2.1.1 erro Invalid PreKey ID trava evolution

Open robinhodemorais opened this issue 1 year ago • 2 comments

[email protected] start:prod

node dist/main

2024/10/01 11:54PM 50 pid=171 hostname=68d6aea7bce1 key={"remoteJid":"5521992685661:[email protected]","fromMe":false,"id":"3EB0819AD20E8EA4566A36"} err={"type":"PreKeyError","message":"Invalid PreKey ID","stack":"PreKeyError: Invalid PreKey ID\n at SessionBuilder.initIncoming (/evolution/node_modules/libsignal/src/session_builder.js:66:19)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async 5521992685661.68 [as awaitable] (/evolution/node_modules/libsignal/src/session_cipher.js:205:30)\n at async _asyncQueueExecutor (/evolution/node_modules/libsignal/src/queue_job.js:20:29)","name":"PreKeyError"} msg=failed to decrypt message

2024/10/01 11:54PM 50 pid=171 hostname=68d6aea7bce1 key={"remoteJid":"5521992685661:[email protected]","fromMe":false,"id":"3EB0819AD20E8EA4566A36"} err={"type":"PreKeyError","message":"Invalid PreKey ID","stack":"PreKeyError: Invalid PreKey ID\n at SessionBuilder.initIncoming (/evolution/node_modules/libsignal/src/session_builder.js:66:19)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async 5521992685661.68 [as awaitable] (/evolution/node_modules/libsignal/src/session_cipher.js:205:30)\n at async _asyncQueueExecutor (/evolution/node_modules/libsignal/src/queue_job.js:20:29)","name":"PreKeyError"} msg=failed to decrypt message

2024/10/01 11:58PM 50 pid=171 hostname=68d6aea7bce1 trace=Error: Timed Out at /evolution/node_modules/baileys/lib/Utils/generics.js:145:32 msg=error in sending keep alive

2024/10/01 11:58PM 50 pid=171 hostname=68d6aea7bce1 trace=Error: Timed Out at /evolution/node_modules/baileys/lib/Utils/generics.js:145:32 msg=error in sending keep alive

2024/10/02 12:01AM 50 pid=171 hostname=68d6aea7bce1 trace=Error: Timed Out at /evolution/node_modules/baileys/lib/Utils/generics.js:145:32 msg=error in sending keep alive

2024/10/02 12:01AM 50 pid=171 hostname=68d6aea7bce1 trace=Error: Timed Out at /evolution/node_modules/baileys/lib/Utils/generics.js:145:32 msg=error in sending keep alive

2024/10/02 12:05AM 50 pid=171 hostname=68d6aea7bce1 trace=Error: Timed Out at /evolution/node_modules/baileys/lib/Utils/generics.js:145:32 msg=error in sending keep alive

2024/10/02 12:05AM 50 pid=171 hostname=68d6aea7bce1 trace=Error: Timed Out at /evolution/node_modules/baileys/lib/Utils/generics.js:145:32 msg=error in sending keep alive

2024/10/02 12:08AM 50 pid=171 hostname=68d6aea7bce1 trace=Error: Timed Out at /evolution/node_modules/baileys/lib/Utils/generics.js:145:32 msg=error in sending keep alive

robinhodemorais avatar Oct 02 '24 03:10 robinhodemorais

Mais explicação sobre o problema por favor

DavidsonGomes avatar Oct 03 '24 19:10 DavidsonGomes

O erro persiste na 2.1.2.

@DavidsonGomes Acredito ser esse erro aqui mencionado há alguns meses no Baileys.

Apenas depois que respondemos a pessoa pelo celular, o Evolution começa a pegar as mensagens (referencia). Como se gerasse/validasse essa tal PreKey ID.

marlonsena avatar Oct 10 '24 00:10 marlonsena

Estou sofrendo com o mesmo problema do Invalid PreKey ID

{"level":50,"time":1730234953609,"pid":185,"hostname":"035739d38afa","key":{"remoteJid":"[email protected]","fromMe":false,"id":"3AA6AC6346DF3D07A184"},"err":{"type":"PreKeyError","message":"Invalid PreKey ID","stack":"PreKeyError: Invalid PreKey ID\n at SessionBuilder.initIncoming (/evolution/node_modules/libsignal/src/session_builder.js:66:19)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async 554299613014.0 [as awaitable] (/evolution/node_modules/libsignal/src/session_cipher.js:205:30)\n at async _asyncQueueExecutor (/evolution/node_modules/libsignal/src/queue_job.js:20:29)","name":"PreKeyError"},"msg":"failed to decrypt message"}

robjean9 avatar Oct 29 '24 20:10 robjean9

Estou sofrendo com o mesmo problema do Invalid PreKey ID

{"level":50,"time":1730234953609,"pid":185,"hostname":"035739d38afa","key":{"remoteJid":"[email protected]","fromMe":false,"id":"3AA6AC6346DF3D07A184"},"err":{"type":"PreKeyError","message":"Invalid PreKey ID","stack":"PreKeyError: Invalid PreKey ID\n at SessionBuilder.initIncoming (/evolution/node_modules/libsignal/src/session_builder.js:66:19)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async 554299613014.0 [as awaitable] (/evolution/node_modules/libsignal/src/session_cipher.js:205:30)\n at async _asyncQueueExecutor (/evolution/node_modules/libsignal/src/queue_job.js:20:29)","name":"PreKeyError"},"msg":"failed to decrypt message"}

Mesma coisa aqui. Testei as versões 2.0.10, 2.1.0, 2.2.0 e esse erro persiste. Começando HOJE com a Evolution API.

guilhermelirio avatar Nov 06 '24 23:11 guilhermelirio

Pessoal, eu já tive esse problema algumas vezes e ainda não consegui achar a causa raiz do problema, entretanto tenho algumas pista que precisam ser validadas, seguem:

  1. Este erro está relacionado a troca de chaves de criptografia do Baileys (https://github.com/WhiskeySockets/Baileys) utilizada pelo Evolution API para fazer a comunicação do WhatsApp
  2. É possível verificar no repo do Baileys vários problemas relacionados, mas não achei qual seria o meu
  3. Notei que este problema ocorria comigo com frequência quando utilizada a versão 1.x, agora com a versão 2.x com REDIS o problema parou de ocorrer
  4. Vale notar que o Evolution armazena as chaves de criptografía no REDIS, que normalmente é utilizado para armazenar informações que podem ser perdidas como cache, mas neste caso ele utiliza para armazenar as Chaves, que se perdidas deixa de comunicar
  5. Nos meus erros a comunicação parava de funcionar, mas se o agente enviasse uma mensagem voltada (issue: https://github.com/EvolutionAPI/evolution-api/issues/727)
  6. Outro ponto importante é que mesmo deletando as chaves do REDIS demorava alguns dias para dar problema!

Hoje como solução eu adotei as seguintes estratégias:

  • usar o redis
  • fazer backup do redis para Disaster Recovery, pois as chaves de comunicação estão lá!

Estas foram as minhas experiências! Espero ajudar!

@guilhermelirio, vc está usando REDIS? Se sim, vc excluiu as Chaves?

Abaixo é possível ver a estrutura que o Evolution V2 armazena os dados, sendo que no evolution_v2 > instance estão as chaves de criptografia do Baileys entre outras coisas.

image

juliancesar avatar Nov 07 '24 00:11 juliancesar

Mesmo problema aqui.

  • Instância zerada
  • Versão 2.1.2
  • Usando reverse proxy no nginx
  • Enviar msg utilizando a API do Evolution funciona normalmente
  • Tentei enviar mensagems pelo celular para estabelecer uma comunicação prévia mas não adiantou
  • Teste i com o REDIS desativado e com ele ativado também - não houve diferença
  • O Chatwoot recebe as mensagens normalmente
  • O envio a partir do Chatwoot retorna o erro Invalid PreKey ID

erickne avatar Nov 09 '24 12:11 erickne

is that any update on these error ?

jay-kanani-19 avatar Nov 21 '24 05:11 jay-kanani-19

estou com redis ativado e tambem estou tendo esse problema

ernaneluis avatar Dec 10 '24 23:12 ernaneluis

evolution_api  | {"level":50,"time":1736440432714,"pid":163,"hostname":"99e1daff8d29","key":{"remoteJid":"55328xxxxxx:[email protected]","fromMe":false,"id":"3A361E511649168DFBA5"},"err":{"type":"PreKeyError","message":"Invalid PreKey ID","stack":"PreKeyError: Invalid PreKey ID\n    at SessionBuilder.initIncoming (/evolution/node_modules/libsignal/src/session_builder.js:66:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async 553288735683.33 [as awaitable] (/evolution/node_modules/libsignal/src/session_cipher.js:205:30)\n    at async _asyncQueueExecutor (/evolution/node_modules/libsignal/src/queue_job.js:20:29)","name":"PreKeyError"},"msg":"failed to decrypt message"}

Segue acontecendo nas versões atuais.

O Evolution "recebe" a mensagem, mas não consegue descriptografar, e com isso não passa pra frente (SQS/webhook/rabbit), e sendo assim não chega pro sistema.

Enviando uma mensagem pra pessoa (do Evolution para o contato em questão), voltou a funcionar.

TiagoGouvea avatar Jan 09 '25 16:01 TiagoGouvea

evolution_api  | {"level":50,"time":1736440432714,"pid":163,"hostname":"99e1daff8d29","key":{"remoteJid":"55328xxxxxx:[email protected]","fromMe":false,"id":"3A361E511649168DFBA5"},"err":{"type":"PreKeyError","message":"Invalid PreKey ID","stack":"PreKeyError: Invalid PreKey ID\n    at SessionBuilder.initIncoming (/evolution/node_modules/libsignal/src/session_builder.js:66:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async 553288735683.33 [as awaitable] (/evolution/node_modules/libsignal/src/session_cipher.js:205:30)\n    at async _asyncQueueExecutor (/evolution/node_modules/libsignal/src/queue_job.js:20:29)","name":"PreKeyError"},"msg":"failed to decrypt message"}

Segue acontecendo nas versões atuais.

O Evolution "recebe" uma mensagem, mas não consegue descriptografar, e com isso não passa pra frente (SQS/webhook/rabbit), e sendo assim não chega pro sistema.

Enviando uma mensagem pra pessoa (do Evolution para o contato em questão), voltou a funcionar.

Então, continua sendo um problema, como podemos nos ajudar a corrigir esse erro ? estou a disposição, podemos fazer um grupo para centralizarmos informações 5511963473093

GG3T avatar Jan 09 '25 17:01 GG3T

Penso que a gente saber via código que isso tá acontecendo, já seria um avanço.

O Evolution poderia ter um webhook pra enviar falhas deles, dai daria pra saber quando algo inesperado acontece.. sem precisar olhar o console do servidor.

Agora, esse bug em si, tem a ver mais a ver com o Baileys do que com o Evolution, então o buraco é mais embaixo.

TiagoGouvea avatar Jan 09 '25 18:01 TiagoGouvea

evolution_api  | {"level":50,"time":1736440432714,"pid":163,"hostname":"99e1daff8d29","key":{"remoteJid":"55328xxxxxx:[email protected]","fromMe":false,"id":"3A361E511649168DFBA5"},"err":{"type":"PreKeyError","message":"Invalid PreKey ID","stack":"PreKeyError: Invalid PreKey ID\n    at SessionBuilder.initIncoming (/evolution/node_modules/libsignal/src/session_builder.js:66:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async 553288735683.33 [as awaitable] (/evolution/node_modules/libsignal/src/session_cipher.js:205:30)\n    at async _asyncQueueExecutor (/evolution/node_modules/libsignal/src/queue_job.js:20:29)","name":"PreKeyError"},"msg":"failed to decrypt message"}

Segue acontecendo nas versões atuais.

O Evolution "recebe" a mensagem, mas não consegue descriptografar, e com isso não passa pra frente (SQS/webhook/rabbit), e sendo assim não chega pro sistema.

Enviando uma mensagem pra pessoa (do Evolution para o contato em questão), voltou a funcionar.

Tengo o mesmo problema, se eu puder ajudar em algo, me avisem.

lchavezpozo avatar Jan 09 '25 18:01 lchavezpozo

evolution_api  | {"level":50,"time":1736440432714,"pid":163,"hostname":"99e1daff8d29","key":{"remoteJid":"55328xxxxxx:[email protected]","fromMe":false,"id":"3A361E511649168DFBA5"},"err":{"type":"PreKeyError","message":"Invalid PreKey ID","stack":"PreKeyError: Invalid PreKey ID\n    at SessionBuilder.initIncoming (/evolution/node_modules/libsignal/src/session_builder.js:66:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async 553288735683.33 [as awaitable] (/evolution/node_modules/libsignal/src/session_cipher.js:205:30)\n    at async _asyncQueueExecutor (/evolution/node_modules/libsignal/src/queue_job.js:20:29)","name":"PreKeyError"},"msg":"failed to decrypt message"}

Segue acontecendo nas versões atuais.

O Evolution "recebe" a mensagem, mas não consegue descriptografar, e com isso não passa pra frente (SQS/webhook/rabbit), e sendo assim não chega pro sistema.

Enviando uma mensagem pra pessoa (do Evolution para o contato em questão), voltou a funcionar.

Realmente ao enviar a mensagem do evolution para o contato volta a funcionar!

paranatrack avatar Jan 21 '25 16:01 paranatrack

o mesmo para minha estrutura, o erro persiste.

rogeriosims avatar Jan 22 '25 02:01 rogeriosims

A suitable solution for the case until Evolution finds another one to definitively solve it is, as I did, to create a gateway to act between Evolution and your application, so that in the gateway you receive the messages, respond to the user with something like "Please wait a moment...", and thus you will already have a message being sent directly to the user, even before it reaches your application.

wmenezes2020 avatar Jan 29 '25 18:01 wmenezes2020

Na minha estrutura o erro também persiste. Já estou na v2.2.1 e nada :/

qualvalordex avatar Jan 30 '25 06:01 qualvalordex

Olá! Eu estava passando pelo mesmo problema, mas consegui "resolver". Verifiquem se a versão do whatsapp que está sendo utilizada no aparelho é a última. Eu fiz dois testes, em um Galaxy J8 com uma versão antiga do android e meu pixel 4a 5g com a versão mais recente. Ao utilizar o número na versão mais moderna do whatsapp eu consegui receber as mensagens corretamente.

Não sei se é a causa do problema, mas vocês podem tentar isso como uma possível solução.

joepreludian avatar Feb 01 '25 13:02 joepreludian

To pensando aqui, esse erro deveria ser enviado pelo webhook de erros do Evolution.. assim dá pra gente ficar sabendo "ativamente" quando acontecer e agir.

TiagoGouvea avatar Feb 26 '25 22:02 TiagoGouvea

Estou usando a Versão: 2.2.3 e com o mesmo problema

HELIOPOTELICKI avatar Apr 09 '25 19:04 HELIOPOTELICKI

Por que que essa issue foi fechada? Versão 2.2.3 aqui e acabou de começar a dar esse mesmo erro depois de usar o evolution por algumas semanas 😭

gilney-canaltelecom avatar Apr 24 '25 12:04 gilney-canaltelecom

@gilney-canaltelecom Já foi corrigido, só que ainda não lançou a 2.2.4, mas você pode clonar o repositório na branch develop, e faz o build do docker. Resolveu pra mim

HELIOPOTELICKI avatar Apr 24 '25 16:04 HELIOPOTELICKI

@HELIOPOTELICKI Ah, te dizer que nem tinha notado o branch develop antes. Valeu pela informação 👍

gilney-canaltelecom avatar Apr 24 '25 16:04 gilney-canaltelecom