После обновления до версии 0.59.4 я начал получать тысячи отчетов о сбоях Android с производства со стеком вызовов ниже:
/system/lib64/libc.so:137588abort
/data/app/com.myBundleId-b2cKFhadC5AiSYxOm6YRdg==/lib/arm64/libjscexecutor.so:147772facebook::jsc::JSCRuntime::isArray(facebook::jsi::Object const&) const
/data/app/com.myBundleId-b2cKFhadC5AiSYxOm6YRdg==/lib/arm64/libjscexecutor.so:162152facebook::jsi::dynamicFromValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)
/data/app/com.myBundleId-b2cKFhadC5AiSYxOm6YRdg==/lib/arm64/libjscexecutor.so:162776facebook::jsi::dynamicFromValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)
/data/app/com.myBundleId-b2cKFhadC5AiSYxOm6YRdg==/lib/arm64/libjscexecutor.so:162776facebook::jsi::dynamicFromValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)
/data/app/com.myBundleId-b2cKFhadC5AiSYxOm6YRdg==/lib/arm64/libjscexecutor.so:162776facebook::jsi::dynamicFromValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)
/data/app/com.myBundleId-b2cKFhadC5AiSYxOm6YRdg==/lib/arm64/libjscexecutor.so:162776facebook::jsi::dynamicFromValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)
/data/app/com.myBundleId-b2cKFhadC5AiSYxOm6YRdg==/lib/arm64/libjscexecutor.so:162776facebook::jsi::dynamicFromValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)
, а затем повторяется одна и та же строка dynamicFromValue.
Независимо от того, сколько я ищу, я не смог найти в Интернете ничего об этой проблеме. Из того, что я могу сказать, плохой объект json передается по мосту и вызывает бесконечную рекурсию, но, поскольку json не может быть круговым, я не знаю, как это может произойти.
Моя единственная идея состоит в том, чтобы разветвлять ответную нативную и помещать в цикл счетчик, который выдает исключение после 10 итераций с помощью value.toString (), так что, возможно, я смогу понять, какой объект вызывает это.
Ненавижу писать нечеткие вопросы, но есть ли у кого-нибудь больше информации о том, что может вызвать это? Может ли плохой объект JSON действительно быть передан по мосту?