Erros 404 aleatórios ao editar posts

Estou recebendo erros 404 aleatórios ao editar respostas no meu fórum.

Quando as edições funcionam, elas enviam uma requisição PUT para o endpoint /posts/:post_id com uma resposta 200.

Mas quando não funcionam, consigo ver nas ferramentas de desenvolvedor uma requisição PUT para /post_replies/:post_id que retorna um 404. Quando atualizo a página, os erros desaparecem e consigo salvar a edição corretamente (via /posts/:post_id, o :post_id não muda).

Não tenho certeza se há alguma condição especial que possa fazer /posts se transformar em /post_replies por engano ou se é um problema diferente. Recentemente quadrupliquei a RAM do meu servidor e não vi nada estranho nos logs.

Qualquer ajuda é apreciada.

2 curtidas

Continuo recebendo esses erros aleatórios ao tentar salvar uma edição em posts de outras pessoas. Isso acontece tanto com posts antigos quanto novos, mas sempre de forma aleatória:

E o erro desaparece quando eu atualizo a página e salvo a edição:

Estou na versão mais recente e posso confirmar que isso ainda está acontecendo: ao tentar salvar uma edição em uma postagem de outro usuário, aciona aleatoriamente uma caixa de diálogo com a mensagem not_found:

A URL ou recurso solicitado não pôde ser encontrado.

Se eu recarregar a página e clicar novamente no botão “Salvar Edição”, o erro desaparece e a edição é salva.

Essas duas solicitações estão fazendo PUT para URLs diferentes.

Certo. Mas por quê? Estou pressionando o mesmo botão “Salvar Edição” no mesmo post. A única diferença é uma atualização da página.

Talvez tente verificar o backtrace do navegador na próxima vez que isso acontecer? Como ele está acessando diferentes endpoints, pode estar passando por métodos diferentes na aplicação EmberJS.

1 curtida

@Falco Acabou de acontecer novamente. Isso é tudo o que vejo quando abro o console após receber o erro:

image

E se tentar salvar novamente com o console aberto:

Então, atualizo a página e ele me permite editar:

image

Este é o caminho do iniciador (VM73:1 Script):

1 curtida

Acabei de atualizar para a versão 2.7.0.beta2 e o problema persiste:

  • Tentei editar a resposta do post 47994
  • PUT https://mydomain.com/post_replies/47994 => 404 A URL ou recurso solicitado não pôde ser encontrado. No console: Falha ao carregar recurso: o servidor respondeu com status 404 () /post_replies/47994:1
  • Recarreguei a página
  • Tentei editar a resposta do post 47994
  • PUT https://mydomain.com/posts/47994 => 200 sucesso

Se houver alguma outra informação que ajude a depurar, ficarei feliz em fornecê-la.

Isso aconteceu 3 vezes hoje em menos de uma hora :sweat_smile:

Há algo mais que eu possa fazer para ajudar a rastrear esse bug?

@Falco, finalmente descobri como reproduzir consistentemente esse bug:

  1. Desative a opção enable filtered replies view (habilitar visualização de respostas filtradas)
  2. Clique na seta de uma resposta:
  3. Clique na seta para pular para a mensagem original: image
  4. Clique no ícone de editar:
  5. Faça uma alteração e clique em “Salvar alterações”. Você receberá uma caixa de diálogo informando que a URL ou o recurso não foi encontrado (404).
4 curtidas

Obrigado, @Nacho_Caballero, os passos específicos foram muito úteis. Tenho um PR com uma correção: FIX: 404 error when editing an expanded reply by pmusaraj · Pull Request #12504 · discourse/discourse · GitHub

7 curtidas

Sem problemas! Uma correção tão fácil :sweat_smile:

3 curtidas

Como de costume, obrigado pela sua paciência conosco, Nacho. Quando você fornece relatórios de reprodução muito detalhados, quase sempre conseguimos criar uma correção!

4 curtidas