Executando verificação de segurança...
4

[ Relato ] O bug que não era bug...

Hoje eu gostaria de compartilhar uma experiência que tive, que foi bem diferente do comum. Istou acostumado a lidar com vários tipos de erro. Já vi tanto erro nessa vida, desde coisas que sequer disparavam erro, até erros em linhas fantasmas...

A situação:

Eu estava indo atualizar meu portfolio que eu fiz utilizando Next.js e algumas outras tecnologias como tailwindcss. Após feito, testei, deu tudo certo, subi testei o deploy, e estava tudo certo.

Depois de 9 meses pensei em reconstruir de outra forma meu portfolio, com mais coisas e mais atualizado. Clonei o projeto numa pasta nova, tentei rodar o npm run dev, e me retornou:

Não foi possível acessar o diretório

A mensagem em si estava em inglês, e era literalmente apenas isso. Não entendi, nunca aconteceu. A princípio, pensei: "Deve ser alguma coisa relacionado a permissões". Executei como administrador, e novamente o mesmo erro... Também optei por não utilizar o turbopack, mesma coisa.

Nesta situação, eu já ativei o modo pesquisa, pois odeio não conseguir resolver algo. Nunca tinha respostas claras. Eu não entendia porquê este erro ocorria. Não havia nada que me respondesse essa questão na internet, apenas relacionados a permissões...

No meu último suspiro, eu tentei apagar a pasta node_modules, e para minha surpresa não me foi permitido apaga-la! O windows afirmava que ocorreu um erro, e não foi possível apagar os seguintes arquivos da pasta bin do node_modules: nanoid, e alguns arquivos do next.js cujo não me recordo mais o nome precisamente, mas tinha a extensão: .ps.

Pensei, é um bug do next! Vasculhei todas as issues. Procurei em IA, e nada. Eu tomei um banho, e nesse momento eu lembrei de um acontecimento de exatamente 7 meses atrás. Era um alerta do windows afirmado que a unidade externa D: não estava funcionando perfeitamente. Eu não me lembro do que fiz, devo ter ignorado por estar jogando ou algo do tipo.

O momento do "tarde demais":

Bom, na época que o windows avisou, provavelmente havia solução para o problema da unidade D: que é um HD Externo de 1TB que eu uso para armazenar meus projetos localmente pois meu SSD é apenas de 128GB.

Hoje, eu abri o crystalDisk, um app que mostra a saúde das unidades e outros metadas importantes. Havia um sinal de alerta para as seções: 05, C5 e C6. Eu não sei bem o que é pois não manjo tanto de hardware, mas pelo o nome tem algo haver com alocação de armazenamento.

Imediamente passei o seguinte comando no terminal:

chkdsk D: 

E me foi relatou algumas áreas orfãos, cujo eu não sei do que se trata. Utilizei algumas flags que fixavam esses problemas, acredito que foi chkdsk D: /scanow, não me recordo muito bem pois ainda estou na luta com este HD e já passou muito shell na minha mente.

Isto apagou os arquivos corrompidos, porém ao reinstalar as dependência, e rodar npm run dev, funcionou, crei até componentes inteiros na página principal...

Mais tarde fui abrir e afirmava que havia um erro na dependência socrase, que é algo relacionado ao tailwindcss. Novamente, achando que o problema da corrupção havia acabado, procurei issues, foi no google, IA e nada...

No fim, era corrupção novamente. E o pior, mais da metade dos meus projetos haviam sido afetados. Por algum motivo os jogos rodavam tranquilamente, mas meus projetos corrompiam toda hora!

Conclusão:

As vezes o problema não é um bug interno, é algo mais complicado. Estou passando por um resolução no HD mais potente dessa vez, caso não tenha jeito é somente uma substituição.

As mensagens de erros eram muito vagas, gostariam que fossem mais claras... Bom, espero que eu tenha ajudado alguém a entender que sempre existe a possibilidade do problema ser físico. Boa parte foi minha culpa por falta de atenção também.

Obrigado por ler até aqui!

Carregando publicação patrocinada...
1

Isso dai ta com cara de ser problema com o Windows, quando eu comecei a programar que usava windows sempre acontecia uns problemas desse tipo... tenta usar o wsl.

1

infelizmente minha maquina não é potente o suficiente para instalar o WSL sem dar gargalos. Apenas com o windows, da umas travadas.

Pensei em baixar o Linux, mas meu pai utiliza o PC também, e ele não vai conseguir aprender a mexer no Linux pela a complexidade de fazer quase tudo via terminal. O jeito é fazer upgrades aos poucos :(

1

Instala uma distro linux em dualboot vc só precisa ter espaço em disco pra isso, com o dualboot vc reinicia seu PC e ele pergunta se vc quer iniciar o windows ou o linux, quando seu pai for usar ele vai para o windows e vc usa o linux pra programar, recentemente eu comecei a ensinar minha filha a programar e passei pra ela um notebook de uns 10 anos atrás pra ela, isntalei o Linux Lite:
https://www.linuxliteos.com/index.html
É uma distro super leve focada em computadores com configurações menores. Roda super bem e está sendo mais que o suficiente pra ela criar o primeiro blog dela.

OBS: pode parecer complexo instalar dualboot mas não é, quando vc iniciar o instalador (geralmente instalado num pendriver), o instalador vai te dar as opções:

  • Instalar Linux Lite ao lado do Windows (dualboot)
  • Apagar HD inteiro e instalar Linux Lite no HD inteiro.

Quando você selecionar instalar ao lado, ele vai perguntar quantos GB do HD vc vai separar pro linux e quanto vai deixar pro windows, é tudo bem intuitivo.

Se for tentar e surgir alguma dúvida, posta aqui que tento ajudar.

2

É uma boa ideia! Parece aquele "boom", por que eu não pensei nisso antes?! Agradeço o apoio e a dica. Felizmente eu consigo me virar sozinho nessa etapa. Já vive uma parte da minha vida ganhando um extra formatando computares, e no processo aprendi isso.

Isto me faz pensar que eu deva tirar um descanso. Algo que eu estava acostumado a fazer, nem passou pela a minha mente!

Mais uma vez, muito obrigado!

1

Posso estar enganado mas isso pra mim tem cara de fim da vida útil do SSD.
Resumidamente, o node_modules é uma das pastas com maior escrita no disco. Sempre que você atualiza algo ou instala alguma lib existe um extenso trabalho de leitura/escrita.
SSD tem um limite de escrita, também conhecido como desgaste químico, algo semelhante com o que acontece com as baterias, não confundir com problema de escrita em memórias ROM, ou pen drives, pode ser parecido mas não é igual.
Diferentemente dos HDs(disco) que podem riscar, ocorrer perda de dados via (vibração, magnetismo, desligamento repentino, etc) SSDs não são mecânicos então não há problemas relacionados a problemas mecânicos.
Algo parecido pode acontecer com SSD Nvme (não me recordo a específicação correta) mas são muito mais rápidos porém mais caros e variáções de tensão e corrente afetam muito o desempenho/processo de armazenamento /escrita (meu note se tiver na bateria dá tela azul na primeir leitura/escrita)

Se quiser entender um pouco mais recomendo esse vídeo aqui..
Tudo que Você Queria Saber Sobre Dispositivos de Armazenamento - Fábio Akita

1

No caso foi o meu HD que deu problema. O SSD contém apenas as ferramentas como VSCode, NPM e o widows. Todas as operações pesadas são feitas no HD. Ele já tem 19932 horas de uso. Provavelmente é o tempo batendo também.

Gostei da recomendação. Entendo muito pouco disso, fico agradecido pela a recomendação!