gpt4 book ai didi

react-native - 使用 Hermes 的 React native 应用程序崩溃并显示 "SIGSEGV: Segmentation violation (invalid memory reference) "

转载 作者:行者123 更新时间:2023-12-05 07:11:11 24 4
gpt4 key购买 nike

在我们的崩溃跟踪应用程序 bugsnag 中,我看到越来越多的崩溃与“SIGSEGV:分段违规(无效内存引用)”。它们似乎只发生在 Android 上,堆栈跟踪充满了 libhermes.so。

这个堆栈跟踪没有告诉我任何信息,而且我还没有发现任何存在相同问题的问题。有谁知道在哪里寻找根本原因? hermes 变成 SIGSEGV 是 javascript 错误吗?爱马仕的bug?我们使用的其中一个库发生崩溃?

其中一次崩溃的堆栈跟踪。

SIGSEGV Segmentation violation (invalid memory reference) 
/data/app/com.wolt.courierapp-poHmOlYLJ3-nWo0m_w4kVw==/lib/arm64/libhermes.so:116080 facebook::hermes::detail::hermesFatalErrorHandler(void*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, bool)
/data/app/.../lib/arm64/libhermes.so:1222852 0x701af048c4
/data/app/.../lib/arm64/libhermes.so:1222588 0x701af047bc
/data/app/.../lib/arm64/libhermes.so:1056428 0x701aedbeac
/data/app/.../lib/arm64/libhermes.so:182328 0x701ae06838
/data/app/.../lib/arm64/libhermes.so:523104 0x701ae59b60
/data/app/.../lib/arm64/libhermes.so:298092 0x701ae22c6c
/data/app/.../lib/arm64/libhermes.so:564832 0x701ae63e60
/data/app/.../lib/arm64/libhermes.so:216036 0x701ae0ebe4
/data/app/.../lib/arm64/libhermes.so:568480 0x701ae64ca0
/data/app/.../lib/arm64/libhermes.so:578128 0x701ae67250
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:539976 0x701ae5dd48
/data/app/.../lib/arm64/libhermes.so:662544 0x701ae7bc10
/data/app/.../lib/arm64/libhermes.so:723864 0x701ae8ab98
/data/app/.../lib/arm64/libhermes.so:724172 0x701ae8accc
/data/app/.../lib/arm64/libhermes.so:724136 0x701ae8aca8
/data/app/.../lib/arm64/libhermes.so:645300 0x701ae778b4
/data/app/.../lib/arm64/libhermes.so:543328 0x701ae5ea60
/data/app/.../lib/arm64/libhermes.so:581332 0x701ae67ed4
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:541776 0x701ae5e450
/data/app/.../lib/arm64/libhermes.so:581364 0x701ae67ef4
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:541776 0x701ae5e450
/data/app/.../lib/arm64/libhermes.so:581364 0x701ae67ef4
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:541776 0x701ae5e450
/data/app/.../lib/arm64/libhermes.so:581364 0x701ae67ef4
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:413044 0x701ae3ed74
/data/app/.../lib/arm64/libhermes.so:543328 0x701ae5ea60
/data/app/.../lib/arm64/libhermes.so:581332 0x701ae67ed4
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:413044 0x701ae3ed74
/data/app/.../lib/arm64/libhermes.so:543328 0x701ae5ea60
/data/app/.../lib/arm64/libhermes.so:581332 0x701ae67ed4
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:541776 0x701ae5e450
/data/app/.../lib/arm64/libhermes.so:581364 0x701ae67ef4
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:541776 0x701ae5e450
/data/app/.../lib/arm64/libhermes.so:581364 0x701ae67ef4
/data/app/.../lib/arm64/libhermes.so:544160 0x701ae5eda0
/data/app/.../lib/arm64/libhermes.so:541776 0x701ae5e450
/data/app/.../lib/arm64/libhermes.so:147152 facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)
/data/app/.../lib/arm64/libhermes-executor-release.so:173936 facebook::jsi::Value facebook::jsi::Function::call<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value>(facebook::jsi::Runtime&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value&&) const
/data/app/.../lib/arm64/libhermes-executor-release.so:173516 0x701a4765cc
/data/app/.../lib/arm64/libhermes-executor-release.so:154820 void std::__ndk1::__invoke_void_return_wrapper<void>::__call<void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()> >(void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>&&)
/data/app/.../lib/arm64/libhermes-executor-release.so:164992 facebook::react::JSIExecutor::callFunction(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, folly::dynamic const&)
/data/app/.../lib/arm64/libreactnativejni.so:683496 0x701a639de8
/data/app/.../lib/arm64/libreactnativejni.so:688656 0x701a63b210
/data/app/.../lib/arm64/libreactnativejni.so:439588 0x701a5fe524
/data/app/.../lib/arm64/libreactnativejni.so:372684 facebook::jni::detail::MethodWrapper<void (facebook::react::JNativeRunnable::*)(), &facebook::react::JNativeRunnable::run, facebook::react::JNativeRunnable, void>::dispatch(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<facebook::react::JNativeRunnable, facebook::react::Runnable>::JavaPart, facebook::react::Runnable, void>::_javaobject*>)
/data/app/.../lib/arm64/libreactnativejni.so:372552
unknown 0x3850766e45494e4a```

最佳答案

Hermes 是您“可以”使用的 ReactNative 的新 JavaScript 引擎。

如果你不想使用它,你必须像这里描述的那样做一些配置步骤:https://reactnative.dev/docs/hermes

如果您的应用程序中启用了 Hermes,您可以检查您的 android/app/build.gradle 文件。如果是,请注意,hermes 不支持“android-bundles”,而只支持 apk-Packages。

也许(我只是猜测)您之前还激活了 hermes,但现在从 APK 切换到 Android-Bundles。

顺便说一句:您是否使用 logcat 获取堆栈跟踪?如果没有,请试一试。大多数情况下,它会在设备屏幕的 App-Stacktraces 中显示您不会看到的错误消息。

关于react-native - 使用 Hermes 的 React native 应用程序崩溃并显示 "SIGSEGV: Segmentation violation (invalid memory reference) ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60886903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com