Бесконечная рекурсия в facebook :: jsi :: dynamicFromValue под управлением React Native 0.59.4 на Android - PullRequest
0 голосов
/ 28 апреля 2019

После обновления до версии 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 действительно быть передан по мосту?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...