-
Notifications
You must be signed in to change notification settings - Fork 23
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
Unhandled error on iOS native side: viewNotFoundForReactTag #94
Comments
I've noticed this issue too after upgrading to 0.73 (expo 50). I've also noticed a memory leak issue (the number of views in the performance monitoring wouldn't stop going up after multiple mount unmounts). I believe that the preview isn't being unmounted correctly (i tried all the props related to garbage collection) . Additionally, I noticed that the Auxiliary preview crashes when dismissed. |
@valentinchelle I haven't been able to consistently reproduce it locally, but previously I found that it was quite vulnerable to remounts of the parent component / tree and fiddling with the cleanup may have helped somewhat. |
sorry for the late response, i'll take a look and start debugging - progress log for issue #94 Progress Log
Simulator.Screen.Recording.-.iPhone.11.-.iOS.17.-.2024-02-08.at.15.36.59.mp4
Simulator.Screen.Recording.-.iPhone.11.-.iOS.17.-.2024-02-08.at.15.40.31.mp4
Simulator.Screen.Recording.-.iPhone.11.-.iOS.17.-.2024-02-21.at.01.08.55.mp4
Simulator.Screen.Recording.-.iPhone.11.-.iOS.17.-.2024-02-27.at.19.03.57.mp4Explanationhello, it looks like the recent patches i've made has caused a bunch of crashes; i apologize if you were affected by this. i'll write a short explanation on why the "clean up" function is needed (hopefully, with the help of he community, we can find a solution that's reliable):
|
I encountered this issue before, and it was fixed by |
I updated but this is still occurring for me, but I might have a better clue about what is happening: I am using react-navigation, and if I click a menu item which triggers a screen change, it might cause this error. I believe this is because the menu has not closed by the time the view is removed. I have no idea if this will fix it, but I am putting in a setTimeout after receiving an event - will see if that helps. |
@danielrhodes hi, i need some sort of small repro/code snippet so i can debug this further (i'll add it as a test case in the example app for future reference). i'm having some trouble trying to recreate the issues you're describing. if possible, can you please provide some screenshots/video of the performance monitor while re-creating the issue/bug? (you can crop the video via the photos app to redact the contents of your app) (i've added some screen recordings in my previous reply) |
@dominicstop I haven't been able to replicate it locally, but I am seeing it quite often from exception logs in production. Here is an example project that isn't much different from my own to give you something to work with. https://github.com/danielrhodes/ios-context-menu-bug-example |
yeah, we only found this error log in the production log. but so far I have discovered that this error has not caused the app to crash yet. so it's kind of weird... |
@danielrhodes it looks like the view count in the performance monitor is not up to date somehow (there is no memory leak) |
If that's using the project I shared above, this could be because FlashList does view recycling. I'm not too familiar with how this all works under the hood, but one thing I've wondered is if this error happens while a re-render is happens and the context menu is still displaying. |
@danielrhodes hello, i've done some more research... i look at the code for after that, i started debugging again...
EDIT: I think i might finally fixed this in the latest prerelease version. Simulator.Screen.Recording.-.iPhone.11.-.iOS.17.-.2024-02-27.at.04.21.57.mp4 |
Interestingly, I don't think I've had this issue since upgrading to 2.4.2 and ios-utilities 4.3.1 |
Nice! When the release comes out, I can cut new release to try it. |
hello @danielrhodes for now you would have to use: i'm still testing all of the example + test items in the example app; i just wanna be sure first that the changes i've made recently won't cause a crash somehow (i haven't found any issues so far...) it would be great if you could try it out, and see if there are any bugs + give feedback ahsdjhkdsldfkdj if you decide to install the pre-release version, i recommend adding the code snippet below in you import { setSharedEnvForRNICleanableViewRegistry, setSharedEnvForRNIUtilitiesModule } from 'react-native-ios-utilities';
setSharedEnvForRNIUtilitiesModule({
debugShouldLogViewRegistryEntryRemoval: true,
overrideEnableLogStackTrace: true,
overrideShouldLogFileMetadata: true,
overrideShouldLogFilePath: true
});
setSharedEnvForRNICleanableViewRegistry({
debugShouldLogCleanup: true,
debugShouldLogRegister: true,
shouldGloballyDisableCleanup: false,
}); |
I am seeing these come up as unhandled errors in my exception tracker in production. I am on v 2.3 of this library and v 4.2.3 of react-native-ios-utilities. It seems to happen regardless of iOS version or device or React Native version (recently upgraded to 0.73 from 0.72).
I suspect what is happening is some sort of re-render is happening and the context menu loses its underlying reference to the root view.
which references https://github.com/dominicstop/react-native-ios-utilities/blob/master/ios/Sources/Helpers/RNIModuleHelpers.swift#L38-L50
Is there anything I can do to mitigate this?
The text was updated successfully, but these errors were encountered: