Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

React navigation stack has error with fabric #11165

Open
4 of 13 tasks
devoren opened this issue Jan 18, 2023 · 8 comments
Open
4 of 13 tasks

React navigation stack has error with fabric #11165

devoren opened this issue Jan 18, 2023 · 8 comments

Comments

@devoren
Copy link

devoren commented Jan 18, 2023

Current behavior

I tried to create native stack navigator with fabric enabled in RN 0.71 and and when I quickly navigate between the bottom tabs this error appears. And it doesn't matter if it's native stack or not. If i disable fabric and quickly navigate between the bottom tabs, there are no errors and works fine (default and native stack).

My Navigation Stack:
Bottom Tab: {
HomeStack,
ProfileStack
}

Screenshot_1674061892

Expected behavior

Fast navigation between tabs without errors, even with fps drops

Reproduction

https://snack.expo.dev/@devoren/bottom-tab-navigation

Platform

  • Android
  • iOS
  • Web
  • Windows
  • MacOS

Packages

  • @react-navigation/bottom-tabs
  • @react-navigation/drawer
  • @react-navigation/material-bottom-tabs
  • @react-navigation/material-top-tabs
  • @react-navigation/stack
  • @react-navigation/native-stack
  • react-native-tab-view
  • flipper-plugin-react-navigation

Environment

  • [] I've removed the packages that I don't use
package version
@react-navigation/native ^6.1.2
@react-navigation/bottom-tabs ^6.5.3
@react-navigation/stack ^6.3.11
@react-navigation/native-stack ^6.9.8
react-native-safe-area-context ^4.4.1
react-native-screens ^3.19.0
react-native-gesture-handler ^2.9.0
react-native-reanimated ^3.0.0-rc.10
react-native 0.71.0
node 18.12.0
npm or yarn yarn
@devoren devoren added the bug label Jan 18, 2023
@devoren devoren changed the title Fabric React navigation stack has error with fabric Jan 18, 2023
@sssajjad007
Copy link

i have same error in rn 71.2 with fabric

@devoren
Copy link
Author

devoren commented Feb 5, 2023

@sssajjad007 Yes, I was hoping it was a RN bug

@Bort-777
Copy link

Bort-777 commented Apr 21, 2023

Same issue, here stack trace. Issue may be related to react-native-screens.


java.lang.IllegalArgumentException: No view found for id 0x646 (unknown) for fragment ScreenFragment{34a3771} (f38da73b-6497-4306-a70a-402ae94cea5f id=0x646)

FATAL EXCEPTION: main
Process: com.app.qa, PID: 5488
java.lang.IllegalArgumentException: No view found for id 0x646 (unknown) for fragment ScreenFragment{34a3771} (f38da73b-6497-4306-a70a-402ae94cea5f id=0x646)
	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:513)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1840)
	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1764)
	at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1670)
	at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:323)
	**at com.swmansion.rnscreens.ScreenContainer.onUpdate(ScreenContainer.kt:366)**
	at com.swmansion.rnscreens.ScreenContainer.performUpdates(ScreenContainer.kt:311)
	at com.swmansion.rnscreens.ScreenContainer.performUpdatesNow(ScreenContainer.kt:303)
	at com.swmansion.rnscreens.ScreenContainer.setFragmentManager(ScreenContainer.kt:127)
	at com.swmansion.rnscreens.ScreenContainer.setupFragmentManager(ScreenContainer.kt:180)
	at com.swmansion.rnscreens.ScreenContainer.onAttachedToWindow(ScreenContainer.kt:217)
	at android.view.View.dispatchAttachedToWindow(View.java:20107)
	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3619)
	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3626)
	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3626)
	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3626)
	at android.view.ViewGroup.addViewInner(ViewGroup.java:5404)
	at android.view.ViewGroup.addView(ViewGroup.java:5190)
	at android.view.ViewGroup.addView(ViewGroup.java:5130)
	at androidx.fragment.app.FragmentStateManager.addViewToContainer(FragmentStateManager.java:839)
	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:528)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1840)
	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1764)
	at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1670)
	at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:323)
	at com.swmansion.rnscreens.ScreenContainer.onUpdate(ScreenContainer.kt:366)
	at com.swmansion.rnscreens.ScreenContainer.performUpdates(ScreenContainer.kt:311)
	at com.swmansion.rnscreens.ScreenContainer.performUpdatesNow(ScreenContainer.kt:303)
	at com.swmansion.rnscreens.ScreenContainer.notifyChildUpdate(ScreenContainer.kt:87)
	at com.swmansion.rnscreens.Screen.setActivityState(Screen.kt:132)
	at com.swmansion.rnscreens.ScreenViewManager.setActivityState(ScreenViewManager.kt:49)
	at com.swmansion.rnscreens.ScreenViewManager.setActivityState(ScreenViewManager.kt:34)
	at com.swmansion.rnscreens.ScreenViewManager.setActivityState(ScreenViewManager.kt:21)
	at com.facebook.react.viewmanagers.RNSScreenManagerDelegate.setProperty(RNSScreenManagerDelegate.java:81)
	at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps(ViewManagerPropertyUpdater.java:46)
	at com.facebook.react.uimanager.ViewManager.updateProperties(ViewManager.java:84)
	at com.facebook.react.views.view.ReactViewManagerWrapper$DefaultViewManager.updateProperties(ReactViewManagerWrapper.kt:59)
	at com.facebook.react.fabric.mounting.SurfaceMountingManager.updateProps(SurfaceMountingManager.java:872)
	at com.facebook.react.fabric.mounting.mountitems.IntBufferBatchMountItem.execute(IntBufferBatchMountItem.java:153)
	at com.facebook.react.fabric.mounting.MountItemDispatcher.executeOrEnqueue(MountItemDispatcher.java:351)
	at com.facebook.react.fabric.mounting.MountItemDispatcher.dispatchMountItems(MountItemDispatcher.java:274)
	at com.facebook.react.fabric.mounting.MountItemDispatcher.tryDispatchMountItems(MountItemDispatcher.java:120)
	at com.facebook.react.fabric.FabricUIManager$DispatchUIFrameCallback.doFrameGuarded(FabricUIManager.java:1245)
	at com.facebook.react.fabric.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:31)
	at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
	at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1278)
	at android.view.Choreographer.doCallbacks(Choreographer.java:1019)
	at android.view.Choreographer.lambda$new$0$Choreographer(Choreographer.java:235)
	at android.view.-$$Lambda$Choreographer$zXV0PrqwmpdPajenUBozqc6c8Hs.run(Unknown Source:2)
	at android.os.Handler.handleCallback(Handler.java:900)
	at android.os.Handler.dispatchMessage(Handler.java:103)
	at android.os.Looper.loop(Looper.java:219)
	at android.app.ActivityThread.main(ActivityThread.java:8668)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)```

@github-actions
Copy link

Hey! Thanks for opening the issue. Seems that this issue is related to react-native-screens library which is a dependency of React Navigation. Can you also post your issue in this repo so that it's notified to the maintainers of that library? This will help us fix the issue faster since it's upto the maintainers of that library to investigate it.

@ken0x0a
Copy link

ken0x0a commented Jun 22, 2023

I got the same error with RN 0.72.0

@JeanSilvany
Copy link

Same issue!

@JaosnHsieh
Copy link

sam here!

com.swmansion.rnscreens.ScreenFragment.<init>
java.lang.IllegalStateException

@gdaghero
Copy link

same

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants