Sentry-javascript: Bug do SDK no iOS Firefox

Criado em 1 ago. 2019  ·  22Comentários  ·  Fonte: getsentry/sentry-javascript

https://sentry.io/share/issue/52e170dbb4b84d16a8e92ece8d4978e9/

Pacote + Versão

  • [x] @sentry/browser
  • [] @sentry/node
  • [] raven-js
  • [] raven-node _ (raven para o nó) _
  • [ ] de outros:

Versão:

5.5.0

Descrição

Por favor, veja o link em anexo. Não tenho um repositório reproduzível. Mas estou recebendo um erro

null is not an object (evaluating 'a.title')

que se origina do próprio SDK, e não do meu próprio código. Eu tenho alguns lugares em meu código onde state.title é usado, mas nenhum na página afetada mostrada no erro.

In Progress

Comentários muito úteis

Houve alguma atualização sobre isso? Também enfrentando o mesmo problema.

Desde já, obrigado!

Todos 22 comentários

Vejo que o link compartilhável mostra uma quantidade limitada de informações. Por favor, veja o despejo abaixo para mais informações.

Agente de usuário

Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) FxiOS/14.0b12646 Mobile/14G60 Safari/603.3.8
--
Firefox iOS 14.0
browser.name
Firefox iOS
device
iPhone
device.family
iPhone
environment
production
handled
yes
level
error
mechanism
instrument
os
iOS 10.3.3
os.name
iOS

@DaddyWarbucks você pode postar um link direto para o evento

Presumi que você não seria capaz de vê-lo por motivos de autenticação, mas aqui está https://sentry.io/organizations/straightline-ct/issues/1135547765/?project=1500106

Esqueci de mover uma nota de execução após adicionar o bloco handleEvent . Corrigido: https://github.com/getsentry/sentry-javascript/commit/3bada5d80d267c8da5a34235caf16a966d374811

Esse erro só é mostrado como Sentrys por causa de como envolvemos APIs de temporização interna, consulte:
image

Você deve ser capaz de se aprofundar na causa principal procurando por setTimeout instâncias em seu código que tenham title acesso.

@kamilogorek , enfrentamos o mesmo problema com @DaddyWarbucks, então isso significa que foi corrigido e que só precisamos atualizar para a versão 5.6.3?

@kamilogorek Eu não tenho setTimeout para acessar * .title a nenhum dos meus códigos. Você pode, por favor, esclarecer mais sobre isso?

@chocnut mesma pergunta da edição anterior, você pode postar um link para o evento para que eu possa ver o que está acontecendo lá?

@kamilogorek podemos confirmar o problema de @chocnut : temos esse problema no Firefox iOS com a versão 5.7.0 também.
Não temos um setTimeout com acesso a uma propriedade title em nosso código.

No entanto, o evento Sentry indica que é manipulado e que a função é setTimeout ..
(Veja https://sentry.io/organizations/2rivers-nv/issues/1263831869/events/7f024c4b94ab44ab9b870d6558d27149/)

Só queria confirmar que estamos vendo este erro também de usuários do Firefox iOS: TypeError: null is not an object (evaluating 'a.title')

O único .title usado em qualquer lugar em nossa base de código é dos Módulos Sass, e eles já foram compilados no momento em que o código chega à produção.

Nosso projeto do Sentry é privado, então infelizmente não posso fornecer nenhum link, mas todos os problemas foram do iOS 13, com Firefox 19 e 20. É fácil de reproduzir, no entanto - basta carregar o site com o script do Sentry nele, e isso aciona o erro.

Fico feliz em fornecer qualquer informação adicional, então sinta-se à vontade para me enviar um ping se eu puder ajudar de alguma forma. 👍

image

Esta é uma captura de tela do mesmo problema. Só acontece no iOS Firefox.

Começamos a enfrentar esse problema também. Alguma atualização ou solução alternativa? Exatamente os mesmos logs mostrados acima, exclusivamente para usuários FF iOS.

Também estamos vendo esse problema, também exclusivamente com Firefox no iOS (e Apple Mail, por incrível que pareça). Recebo o rastreamento de pilha que é apoiado por um mapa de origem. Parece um pouco diferente do que vejo acima.

image

Considerando que existem tantos relatórios independentes sobre isso, em torno do iOS, parece que o problema pode estar no SDK do sentry?

@chrishoage você está usando raven-js que está obsoleto, eu acho

Ah, obrigado, vamos olhar para a atualização.

Ainda acho curioso que nosso projeto esteja vendo o mesmo erro na mesma plataforma (iOS Firefox)

Houve alguma atualização sobre isso? Também enfrentando o mesmo problema.

Desde já, obrigado!

Também experimentando a mesma exceção exata TypeError: null is not an object (evaluating 'a.title') quando os usuários estão acessando nosso site via Firefox no iOS

Não estamos fazendo referência a title em nenhum lugar em nossa base de código, portanto, é do SDK ou de uma biblioteca conflitante.

Mesma coisa.
Firefox no iOS.

Por acaso, você está usando a caixa de diálogo de relatório?
Nosso SDK internamente não faz nada com um atributo de título, então meu primeiro palpite é que é um bug na caixa de diálogo de relatório do usuário.

Estou tendo o mesmo problema, mas, estranhamente, apenas em uma única página. Eu verifiquei e não há nenhum lugar em nosso título de referência de código, a menos que seja uma biblioteca externa fazendo isso. As bibliotecas que estamos usando são:

O problema está ocorrendo ao usar o Firefox 21.0 (16918) em um iPhone 13 Pro, executando o iOS 13.3.1 Developer Beta (17D5044a). Também testei com o Chrome (versão 79.0.3945.73) e Safari no mesmo dispositivo, mas não consegui reproduzir o problema. Também não consigo reproduzir o problema no Firefox 72.0.2 no Windows 10 Pro, versão 1903 (compilação 18362.592).

Estranhamente, também não consigo reproduzi-lo no Firefox Focus 8.1.3. É possível, entretanto, que isso seja apenas porque o Sentry está sendo bloqueado pelo Focus - ele é projetado para bloquear rastreadores, então pode apenas estar impedindo o Sentry de carregar, ao invés de não ter o problema.

Estamos usando o diálogo de relatório em diferentes partes do site, como @HazAT sugeriu que pode ser o problema, mas não o usamos na página afetada, então não acho que seja isso.

Link para o evento Sentry: https://sentry.io/organizations/ocjc-v1/issues/1447541972/events/5506f883daa742a19d002af4898996c1/

Entre em contato se houver mais informações que eu possa fornecer que possam ajudar.

Desculpe, temos algum upload disso? Estou tendo o mesmo problema e estou muito frustrado, não tenho nenhuma resposta ou resolução.

Outro +1.
Parece que o Sentry SDK tem alguns problemas de compatibilidade com o Firefox no iOS 13.3.1.

Screenshot 2020-03-30 at 11 31 03 AM

@kamilogorek @dcramer O suficiente de pessoas enfrentando esse problema aqui para justificar um mergulho profundo? Se este for apenas um problema interno * e não afetar o JS real na página, a maioria das pessoas aqui ficaria feliz em ignorar este evento. Você (ou outra pessoa aqui) pode confirmar se é esse o caso? (desculpe, não tenho um dispositivo iOS com essa versão para testá-lo sozinho).

problema interno * = Pode ser um problema do Sentry SDK com iOS + Firefox. Ou pode ser simplesmente um problema do Firefox no iOS

Nosso SDK, nem ReportDialog tocou title atributo de qualquer objeto de qualquer forma.
Existem, no entanto, dois problemas em aberto no repositório da Mozilla que descrevem exatamente esse problema:

https://github.com/mozilla/fxa/issues/572
https://github.com/mozilla/fxa/issues/2342

Minha melhor recomendação para todos que encontraram esse problema em um volume maior é filtrá-lo no lado do cliente. Veja: https://docs.sentry.io/platforms/javascript/#filter -events - custom-logic

Como sabemos o formato / mensagem do erro final, isso pode ser feito usando a opção ignoreErrors config diretamente.

Saúde!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mattkrick picture mattkrick  ·  3Comentários

dwelle picture dwelle  ·  3Comentários

grigored picture grigored  ·  3Comentários

THPubs picture THPubs  ·  3Comentários

nicolezhu picture nicolezhu  ·  3Comentários