Weaknesses of type CWE-1322
2 resultsCódigo bloqueante em contexto não-bloqueante single-thread
É quando código síncrono (que espera por I/O ou operação pesada) é executado numa thread única com arquitetura não-bloqueante (como Node.js, async/await ou event loops). Isso congela toda a aplicação, impedindo que outras requisições sejam processadas enquanto o código bloqueante roda, degradando performance ou causando timeout.
Um servidor Node.js que faz uma leitura síncrona de arquivo grande (fs.readFileSync) ou uma query síncrona de banco de dados dentro de uma rota HTTP. Enquanto isso executa, nenhuma outra requisição é atendida — a aplicação fica travada.
Use sempre operações assíncronas (fs.promises, async/await, callbacks). Offload tarefas pesadas para worker threads ou filas de processamento (Bull, RabbitMQ). Monitore e faça profiling para detectar gargalos bloqueantes em produção.