Crash when opening plugins tab on all versions
anirudhbansal005 opened this issue · 9 comments
Vendetta doesn't work anymore on any build. It stopped working on all three of my devices, one by one. Lower builds were working fine until the storage was moved from MMKVManager to FS
I think the error occurred after this commit ( I'm not sure )
I noticed that the plugins tab stopped working when the app data went over 300MB.
Error - https://pastebin.com/ACALsjvG
Versions
-- Vendetta - 98cecb4
-- Discord - 211.2 (211202)
-- React - 18.2.0
-- React Native - 0.72.3-discord-23
-- Bytecode - 94
Versions
-- Vendetta - 98cecb4
-- Discord - 203.4 (203204)
-- React - 18.2.0
-- React Native - 0.72.3-discord-19
-- Bytecode - 94
Platform
-- Loader - VendettaXposed
-- Operating System - Android 10
-- SDK - 29
-- Manufacturer - Realme
-- Model - RMX1825
Versions
-- Vendetta - 98cecb4
-- Discord - 202.8 (202208)
-- React - 18.2.0
-- React Native - 0.72.3-discord-19
-- Bytecode - 94
Platform
-- Loader - VendettaXposed
-- Operating System - Android 13
-- SDK - 33
-- Manufacturer - Xiaomi
-- Model - 22101320l
Versions
-- Vendetta - 98cecb4
-- Discord - 211.8 (211208)
-- React - 18.2.0
-- React Native - 0.72.3-discord-23
-- Bytecode - 94
Platform
-- Loader - VendettaXposed
-- Operating System - Android 12
-- SDK - 31
-- Manufacturer - vivo
-- Model - vivo 1907
after this commit eed5355
Discord: 203204 ( Android )
Vendetta: eed5355
JSON Parse error: Unexpected end of input
at parse (native)
at ?anon_0_?anon_0_get (Vendetta:1:7951)
at next (native)
at anonymous (/tmp/tmp3dxsp38q/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5w36155w/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:610:30)
at step (/tmp/tmp3dxsp38q/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5w36155w/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:595:23)
at anonymous (/tmp/tmp3dxsp38q/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5w36155w/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:609:17)
at tryCallOne (/tmp/tmp3dxsp38q/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5w36155w/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)
at anonymous (/tmp/tmp3dxsp38q/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5w36155w/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)
at apply (native)
at anonymous (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:165:2034)
at _callTimer (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:165:575)
at _callReactNativeMicrotasksPass (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:165:1017)
at callReactNativeMicrotasks (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:165:3831)
at __callReactNativeMicrotasks (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:48:3309)
at anonymous (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:48:1164)
at __guard (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:48:2908)
at flushedQueue (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:48:1122)
at invokeCallbackAndReturnFlushedQueue (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:48:1044)
in at
in On
in RCTView
in Unknown
in Unknown
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in MaybeNestedStack
in RCTView
in Unknown
in RNSScreen
in Unknown
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in InnerScreen
in AnimatedComponent(InnerScreen)
in Unknown
in Unknown
in ReanimatedScreenWrapper
in Screen
in SceneView
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in RNSScreenStack
in ScreenStack
in NativeStackViewInner
in RCTView
in Unknown
in SafeAreaProviderCompat
in NativeStackView
in PreventRemoveProvider
in NavigationContent
in Unknown
in NativeStackNavigator
in RCTView
in Unknown
in SafeAreaPadding
in SafeAreaPaddingView
in Provider
in Unknown
in Unknown
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in MaybeNestedStack
in RCTView
in Unknown
in RNSScreen
in Unknown
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in InnerScreen
in AnimatedComponent(InnerScreen)
in Unknown
in Unknown
in ReanimatedScreenWrapper
in Screen
in SceneView
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in RNSScreenStack
in ScreenStack
in NativeStackViewInner
in RCTView
in Unknown
in SafeAreaProviderCompat
in NativeStackView
in PreventRemoveProvider
in NavigationContent
in Unknown
in NativeStackNavigator
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in MaybeNestedStack
in RCTView
in Unknown
in RNSScreen
in Unknown
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in InnerScreen
in AnimatedComponent(InnerScreen)
in Unknown
in Unknown
in ReanimatedScreenWrapper
in Screen
in SceneView
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in RNSScreenStack
in ScreenStack
in NativeStackViewInner
in RCTView
in Unknown
in SafeAreaProviderCompat
in NativeStackView
in PreventRemoveProvider
in NavigationContent
in Unknown
in NativeStackNavigator
in Profiler
in RCTView
in Unknown
in SafeAreaPadding
in SafeAreaPaddingView
in _default
in RCTView
in Unknown
in AnimatedComponent(View)
in Unknown
in RCTView
in Unknown
in Wrap
in AnimatedComponent(Wrap)
in Unknown
in GestureDetector
in LaunchPadContainer
in DCDVisualEffectViewTarget
in Profiler
in StackNavigator
in PanelsViewController
in RCTView
in Unknown
in SafeAreaPadding
in SafeAreaPaddingView
in SafeAreaWrapper
in RNCSafeAreaProvider
in SafeAreaProvider
in DCDSafeArea
in DCDSafeArea
in SafeAreaProvider
in KeyCommandsView
in KeyCommandsView
in ErrorBoundary
in RNGestureHandlerRootView
in GestureHandlerRootView
in GestureWrapper
in t
in WebViewContextProvider
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner
in AppNavigationContainer
in AppNavigationContainerOrEmpty
in RedesignIconContextProvider
in AccessibilityPreferencesContextProvider
in RootThemeContextProvider
in RootThemeContextProvider
in ReanimatedScreenProvider
in Profiler
in AppContainer
in Profiler
in profiler(AppContainer)
in Profiler
in App
in RCTView
in Unknown
in RCTView
in Unknown
in AppContainer
I see a slightly different error on higher build
Discord: 211202 ( Android )
Vendetta: eed5355
JSON Parse error: Unexpected character: a
SyntaxError: JSON Parse error: Unexpected character: a
at parse (native)
at ?anon_0_?anon_0_get (Vendetta:1:7951)
at next (native)
at anonymous (/tmp/tmptfj5ay7j/ReactAndroid/hermes-engine/.cxx/MinSizeRel/4f394w5o/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:610:30)
at step (/tmp/tmptfj5ay7j/ReactAndroid/hermes-engine/.cxx/MinSizeRel/4f394w5o/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:595:23)
at anonymous (/tmp/tmptfj5ay7j/ReactAndroid/hermes-engine/.cxx/MinSizeRel/4f394w5o/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:609:17)
at tryCallOne (/tmp/tmptfj5ay7j/ReactAndroid/hermes-engine/.cxx/MinSizeRel/4f394w5o/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)
at anonymous (/tmp/tmptfj5ay7j/ReactAndroid/hermes-engine/.cxx/MinSizeRel/4f394w5o/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)
at apply (native)
at anonymous (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:166:2034)
at _callTimer (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:166:575)
at _callReactNativeMicrotasksPass (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:166:1017)
at callReactNativeMicrotasks (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:166:3831)
at __callReactNativeMicrotasks (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:49:3309)
at anonymous (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:49:1164)
at __guard (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:49:2908)
at flushedQueue (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:49:1122)
at invokeCallbackAndReturnFlushedQueue (/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:49:1044)
in at
in On
in RCTView
in Unknown
in Unknown
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in MaybeNestedStack
in RCTView
in Unknown
in RNSScreen
in Unknown
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in InnerScreen
in AnimatedComponent(InnerScreen)
in Unknown
in Unknown
in ReanimatedScreenWrapper
in Screen
in SceneView
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in RNSScreenStack
in ScreenStack
in NativeStackViewInner
in RCTView
in Unknown
in SafeAreaProviderCompat
in NativeStackView
in PreventRemoveProvider
in NavigationContent
in Unknown
in NativeStackNavigator
in RCTView
in Unknown
in SafeAreaPadding
in SafeAreaPaddingView
in Provider
in Unknown
in Unknown
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in MaybeNestedStack
in RCTView
in Unknown
in RNSScreen
in Unknown
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in InnerScreen
in AnimatedComponent(InnerScreen)
in Unknown
in Unknown
in ReanimatedScreenWrapper
in Screen
in SceneView
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in RNSScreenStack
in ScreenStack
in NativeStackViewInner
in RCTView
in Unknown
in SafeAreaProviderCompat
in NativeStackView
in PreventRemoveProvider
in NavigationContent
in Unknown
in NativeStackNavigator
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in MaybeNestedStack
in RCTView
in Unknown
in RNSScreen
in Unknown
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in InnerScreen
in AnimatedComponent(InnerScreen)
in Unknown
in Unknown
in ReanimatedScreenWrapper
in Screen
in SceneView
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in RNSScreenStack
in ScreenStack
in NativeStackViewInner
in RCTView
in Unknown
in SafeAreaProviderCompat
in NativeStackView
in PreventRemoveProvider
in NavigationContent
in Unknown
in NativeStackNavigator
in Profiler
in RCTView
in Unknown
in SafeAreaPadding
in SafeAreaPaddingView
in Unknown
in RCTView
in Unknown
in AnimatedComponent(View)
in Unknown
in RCTView
in Unknown
in Wrap
in AnimatedComponent(Wrap)
in Unknown
in GestureDetector
in LaunchPadContainer
in DCDVisualEffectViewTarget
in Profiler
in StackNavigator
in PanelsViewController
in RCTView
in Unknown
in SafeAreaPadding
in SafeAreaPaddingView
in SafeAreaWrapper
in RNCSafeAreaProvider
in SafeAreaProvider
in DCDSafeArea
in DCDSafeArea
in SafeAreaProvider
in AssistantContextProvider
in KeyCommandsView
in KeyCommandsView
in ErrorBoundary
in PortalProviderComponent
in RNGestureHandlerRootView
in GestureHandlerRootView
in GestureWrapper
in t
in WebViewContextProvider
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner
in AppNavigationContainer
in AppNavigationContainerOrEmpty
in RedesignIconContextProvider
in AccessibilityPreferencesContextProvider
in RootThemeContextProvider
in RootThemeContextProvider
in ReanimatedScreenProvider
in Profiler
in AppContainer
in Profiler
in profiler(AppContainer)
in Profiler
in App
in RCTView
in Unknown
in RCTView
in Unknown
in AppContainer
I am not sure why nobody has said this yet, but at least for me, even uninstalling and reinstalling didn't work, but clearing the app's cache and data fixed this issue for me.
I believe it may be related to this comment made in another issue:
After some testing I concluded this:
Let's first start off with that I personally use the latest version of discord however anything I will discuss here has been tested on 207.7 aswell.
Firstly, to fix the issue clear your cache and the entire data of your app, you will lose as your plugins and themes but you won't need to reinstall discord all together + you'll have a working vendetta again.
Secondly, this seems to only happen when installing a lot of plugins using the plugin-browser plugin, after scrolling down a while it gets very laggy, downloads take way longer, pressing gets laggy etc.
When installing plugins using the discord plugins channel it seems to work fine and won't crash vendetta. Furthermore, it seems that if you search for a plugin in the plugin-browser instead of scrolling it also works fine and doesn't lag.
What I think is happening (this is not based an any evidence since I don't know how to test this effectively) is that when scrolling down in the plugin-browser (btw scrolling down too far makes it loop back which is also weird) it probably doesn't install the plugin you want correcly/fully turning it into an uncomplete file which crashes the plugins tab. Again, I don't have any evidence for this so this needs to be investigated futher.
For now, I suggest staying away from the plugin-browser all together (or atleast filter by search before installing), this should prevent the issue from accuring. However, this is just what I experienced and I could have just gotten lucky or smth.
(On a sidenote, I haven't had anything break (except this) with vendetta on the latest discord version (208.17) so if anyone could clarify what exactly should be broken that isn't in 207.7 that would be great.)
Originally posted by @sbot50 in #202 (comment)
I am not sure why nobody has said this yet, but at least for me, even uninstalling and reinstalling didn't work, but clearing the app's cache and data fixed this issue for me.
I believe it may be related to this comment made in another issue:
I've tried reinstalling and clearing data, but it only works for a little while before breaking again. I'm not going to keep doing that every few days. Like I said before, this problem started happening on older versions when the storage was moved from MMKVMANAGER to FS. After migrating to the new storage system, the issue was supposed to be resolved. Although it did get resolved, some users are still experiencing issue with older versions that were not affected before and as well as newer versions.
I can confirm that this is a different issue, and a result of the migration of the storage system. Unfortunately, none of us could reproduce the bug, hence we have no clue what's actually going on
Anyone who can reproduce this and happen to have access to the debug websocket, may evaluate the following:
nativeModuleProxy.RTNFileManager.readFile(`${nativeModuleProxy.RTNFileManager.getConstants().DocumentsDirPath}/vd_mmkv/VENDETTA_PLUGINS`, "utf8").then(console.log).catch(console.error)
The output possibly will be useful to us
[Debugger] Prompt history loaded
> nativeModuleProxy.RTNFileManager.readFile(`${nativeModuleProxy.RTNFileManager.getConstants().DocumentsDirPath}/vd_mmkv/VENDETTA_PLUGINS`, "utf8").then(console.log).catch(console.error)
> [Vendetta] { _40: 0, _65: 0, _55: null, _72: null }
>
[Vendetta]
>
Oh, so the file content is empty, which is never supposed to happen..
Can you also evaluate with the one with JSON Parse error: Unexpected character: a
?
The error message is too big. I can only see half of it.
https://mclo.gs/HaD1YFT
any updates?