Crash on latest React Native

Aberta
#4,809 8 comentários 8 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 3 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
react-native, typescript
Domínio
mobile

Direção de pesquisa

Comece reproduzindo o caso relatado de Portal e LoadingIndicator no Android com React Native 0.81.4, Expo 54.0.8 e react-native-paper 5.15.5 em um Pixel 7 ou dispositivo comparável. Rastreie os pontos de entrada de Portal e LoadingIndicator e as atualizações das views do Android; considera-se concluído quando o crash intermitente EdgeToEdgeReactViewGroup null-child não ocorrer mais.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug

It's uneasy to reproduce and best I have so far is noticing that this component occasionally crashes the app on Android.

<Portal>
  <LoadingIndicator />
</Portal>

The crash:

Process: com.snapdone, PID: 14949
java.lang.IllegalStateException: EdgeToEdgeReactViewGroup contains null child at index 1 when traversal in dispatchGetDisplayList, the view may have been removed.
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4524)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4529)
at android.view.View.updateDisplayListIfDirty(View.java:24084)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:694)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:700)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:798)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:5839)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5490)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4474)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3071)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10659)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1570)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1579)
at android.view.Choreographer.doCallbacks(Choreographer.java:1179)
at android.view.Choreographer.doFrame(Choreographer.java:1108)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1553)
at android.os.Handler.handleCallback(Handler.java:1041)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.dispatchMessage(Looper.java:315)
at android.os.Looper.loopOnce(Looper.java:251)
2025-09-17 16:52:49.272 14949-14949 AndroidRuntime          com.snapdone                         E  	at android.os.Looper.loop(Looper.java:349) (Ask Gemini)
at android.app.ActivityThread.main(ActivityThread.java:9041)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)

Deps:

  • "react-native": "0.81.4"
  • "expo": "54.0.8"
  • "react-native-paper": "5.15.5"

Device:

  • Google Pixel 7
Linguagem predominante
TypeScript
Estrelas
14.5k
Forks
2.3k
Merge médio
8d 7h
PRs com merge (30d)
5

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de callstack/react-native-paper

Todas as issues de callstack/react-native-paper

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.