Skip to content

Commit 1870f04

Browse files
authored
docs: add info about MutexLockWithTimeout exception (#691)
## 📜 Description Added info about `MutexLockWithTimeout` exception and the way to resolve it. ## 💡 Motivation and Context This is the best thing I can do at the moment - just mention that the problem exist and recommend to enable feature flag. Closes #687 #683 #640 ## 📢 Changelog <!-- High level overview of important changes --> <!-- For example: fixed status bar manipulation; added new types declarations; --> <!-- If your changes don't affect one of platform/language below - then remove this platform/language --> ### Docs - added new section in troubleshoot page; ## 🤔 How Has This Been Tested? Tested via preview. ## 📸 Screenshots (if appropriate): <img width="996" alt="image" src="https://github.com/user-attachments/assets/2fb05243-d14a-4941-8ec7-2350069af3ae"> ## 📝 Checklist - [x] CI successfully passed - [x] I added new mocks and corresponding unit-tests if library API was changed
1 parent 1ed61ee commit 1870f04

File tree

3 files changed

+40
-1
lines changed

3 files changed

+40
-1
lines changed

cspell.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@
125125
"autoresizing",
126126
"focusable",
127127
"iphonesimulator",
128-
"suspendable"
128+
"suspendable",
129+
"libc"
129130
],
130131
"ignorePaths": [
131132
"node_modules",

docs/docs/troubleshooting.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,22 @@ Since part of this library is written using `swift` language - your project need
6666
Sometimes you may see that animation performance is poor. If you are using `sentry@5` make sure `enableStallTracking` is disabled (i. e. `enableStallTracking: false`) or upgrade to `sentry@6`,
6767

6868
See [this issue](https://github.com/kirillzyusko/react-native-keyboard-controller/issues/641) for more details.
69+
70+
## `MutexLockWithTimeout` C++ exception
71+
72+
This exception is thrown when you are trying to use `KeyboardProvider` or `KeyboardAwareScrollView` on Android with the new architecture enabled. A top of stacktrace will look like this:
73+
74+
```bash
75+
NonPI::MutexLockWithTimeout at line 384 within libc
76+
offset 726000) (std::__ndk1::mutex::lock at line 12 within split_config.arm64_v8a.apk
77+
offset c01000) (facebook::react::Binding::schedulerDidFinishTransaction at line 84 within split_config.arm64_v8a.apk
78+
offset c01000) (facebook::react::Scheduler::uiManagerDidFinishTransaction at line 68 within split_config.arm64_v8a.apk
79+
offset c01000) (facebook::react::UIManager::shadowTreeDidFinishTransaction const at line 64 within split_config.arm64_v8a.apk
80+
offset c01000) (facebook::react::ShadowTree::mount const at line 348 within split_config.arm64_v8a.apk
81+
offset c01000) (facebook::react::ShadowTree::tryCommit const at line 2612 within split_config.arm64_v8a.apk
82+
```
83+
84+
You have two ways to fix this problem:
85+
86+
- enable `allowRecursiveCommitsWithSynchronousMountOnAndroid` feature flag (see [react-native-reanimated#6418](https://github.com/software-mansion/react-native-reanimated/issues/6418#issuecomment-2296107100) and [react-native-keyboard-controller](https://github.com/kirillzyusko/react-native-keyboard-controller/issues/687))
87+
- upgrade to `[email protected]+` (starting from this version this flag is enabled by default).

docs/versioned_docs/version-1.14.0/troubleshooting.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,22 @@ Since part of this library is written using `swift` language - your project need
6666
Sometimes you may see that animation performance is poor. If you are using `sentry@5` make sure `enableStallTracking` is disabled (i. e. `enableStallTracking: false`) or upgrade to `sentry@6`,
6767

6868
See [this issue](https://github.com/kirillzyusko/react-native-keyboard-controller/issues/641) for more details.
69+
70+
## `MutexLockWithTimeout` C++ exception
71+
72+
This exception is thrown when you are trying to use `KeyboardProvider` or `KeyboardAwareScrollView` on Android with the new architecture enabled. A top of stacktrace will look like this:
73+
74+
```bash
75+
NonPI::MutexLockWithTimeout at line 384 within libc
76+
offset 726000) (std::__ndk1::mutex::lock at line 12 within split_config.arm64_v8a.apk
77+
offset c01000) (facebook::react::Binding::schedulerDidFinishTransaction at line 84 within split_config.arm64_v8a.apk
78+
offset c01000) (facebook::react::Scheduler::uiManagerDidFinishTransaction at line 68 within split_config.arm64_v8a.apk
79+
offset c01000) (facebook::react::UIManager::shadowTreeDidFinishTransaction const at line 64 within split_config.arm64_v8a.apk
80+
offset c01000) (facebook::react::ShadowTree::mount const at line 348 within split_config.arm64_v8a.apk
81+
offset c01000) (facebook::react::ShadowTree::tryCommit const at line 2612 within split_config.arm64_v8a.apk
82+
```
83+
84+
You have two ways to fix this problem:
85+
86+
- enable `allowRecursiveCommitsWithSynchronousMountOnAndroid` feature flag (see [react-native-reanimated#6418](https://github.com/software-mansion/react-native-reanimated/issues/6418#issuecomment-2296107100) and [react-native-keyboard-controller](https://github.com/kirillzyusko/react-native-keyboard-controller/issues/687))
87+
- upgrade to `[email protected]+` (starting from this version this flag is enabled by default).

0 commit comments

Comments
 (0)