Laporan Bug
Hancur saat diluncurkan
Hancur hanya dengan log kesalahan ini yang dilacak pada logcat android A / libc: Sinyal fatal 11 (SIGSEGV), kode 1, kesalahan addr 0x0 pada tid 20217.
Untuk Mereproduksi
react-native run-android
dan navigasi ke layar kedua dari rute awal melalui navigator tumpukan. Saya menggunakan React-Navigation 3.6
Aplikasi macet segera setelah saya mulai masuk ke react-navigation
dan macet di perangkat Samsung S7 64 bit CPU
, berfungsi dengan baik di perangkat android lain yang saya gunakan.
Perilaku yang Diharapkan
hanya untuk bekerja secara stabil. seperti di react-native sebelumnya versi 0.58
Lingkungan Hidup
React Native Environment Info:
Sistem:
OS: Mac OS mojave 10.14
Binari:
npm: 6.4.1
Android Studio: Versi 3.2.1
Android 6.0.1 (perangkat nyata: Samsung S7 SM-G930FD)
React Native v0.59.3
Solusi Sementara:
Saat saya menghapus filter ndk 64 bit "arm64-v8a", "x86_64" dari ndk abiFilters di blok defaultConfig buidl.gradle dengan hanya memberikan dukungan 32 bit.
Ini bekerja dengan baik.
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" -> change to
abiFilters "armeabi-v7a", "x86"
}
Terima kasih telah mengirimkan masalah Anda. Dapatkah Anda melihat kembali deskripsi Anda dan memastikan template masalah telah diisi secara keseluruhan?
👉 Klik di sini jika Anda ingin melihat lagi template masalah Laporan Bug.
Terima kasih telah mengirimkan masalah Anda. Dapatkah Anda melihat kembali deskripsi Anda dan memastikan template masalah telah diisi secara keseluruhan?
👉 Klik di sini jika Anda ingin melihat lagi template masalah Laporan Bug.
Diperbarui
Tangkapan Layar Kesalahan Logcat untuk referensi
menerbitkan 64bit split build Saya juga mendapatkan error ini saat diluncurkan di Galaxy S7 & Galaxy S7 Edge dengan Android 7.0
android vitals menampilkan:
sinyal 11 (SIGSEGV), kode 1 (SEGV_MAPERR) WTFCrash
lacak balik:
# 00 pc 00000000007e048c /data/app/com.mosko.bus-1/lib/arm64/libjsc.so (WTFCrash + 16)
# 01 pc 00000000000be650 /data/app/com.mosko.bus-1/lib/arm64/libjsc.so (_Z16WTFCrashWithInfoiPKcS0_i + 24)
# 02 pc 0000000000489f2c /data/app/com.mosko.bus-1/lib/arm64/libjsc.so (operationLinkDirectCall + 1120)
# 03 buah 000000000019e27c
di Crashlytics untuk perangkat yang saya dapatkan:
Pengecualian Fatal: com.facebook.react.common.c
Pelanggaran Invarian: Melanjutkan pekerjaan belum diterapkan.
solusi hanya menyediakan build 32bit adalah menyelesaikan masalah ini untuk saat ini
Saya melihat kesalahan yang sama persis dengan @nadavmos di Galaxy S7 yang menjalankan Android 7.0. Aplikasi macet saat memulai
Saya melihat kesalahan yang sama persis dengan @nadavmos di Galaxy S7 yang menjalankan Android 7.0. Aplikasi macet saat memulai
@nsantacruz apakah Anda juga menggunakan navigasi-reaksi? tampaknya umum bagi semua reporter lainnya
@nadavmos , saya tidak menggunakan react-navigation
. Ini sangat mungkin masalah yang sama dengan # 24260 karena masalah itu juga memengaruhi 0,59 dengan Samsung S7 di Android 7.0
@nadavmos Kemacetan tidak terkait dengan react-navigation
, sebenarnya aplikasi macet pada Proyek RN baru yang dibuat melalui react-native init.
@hramos @mkonicek Sampai sekarang kami dapat menyimpulkan bahwa ini tampaknya menjadi masalah dengan rilis terbaru RN 0.59, yang mempengaruhi build android yang berjalan pada Samsung S7
, S7 Edge
setelah kami memberikan dukungan untuk arm64-v8a
, x86_64
, menghapusnya dari build.gradle
tidak merusak aplikasi, yang berpotensi mempengaruhi aplikasi yang akan ditayangkan setelah 1 August 2019
sesuai dengan kebijakan dukungan 64 bit Google Play. Kami ingin kalian menarik perhatiannya, tolong?
Juga terjadi pada 0,58,5. Galaxy S7. Android 6.0. Menyetelnya ke build 32 bit juga tidak berfungsi.
Kami mengamati kerusakan yang sama pada versi 64 bit RN 0.59.4 di Galaxy S7 yang menjalankan Android 7.0. Sayangnya kami tidak memiliki akses ke model perangkat itu. Ini bekerja dengan baik pada semua milik kita.
Memiliki masalah yang sama dengan perangkat Huawai P9 pada lingkungan berikut:
React Native Environment Info:
System:
OS: macOS 10.14.3
CPU: (12) x64 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
Memory: 63.57 MB / 32.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 11.3.0 - /usr/local/bin/node
Yarn: 1.12.3 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 23.0.1, 25.0.0, 26.0.3, 27.0.3, 28.0.1, 28.0.2, 28.0.3
System Images: android-24 | Google APIs Intel x86 Atom, android-27 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.2 AI-181.5540.7.32.5056338
Xcode: 10.2/10E125 - /usr/bin/xcodebuild
npmPackages:
react: ^16.8.3 => 16.8.3
react-native: ^0.59.4 => 0.59.4
npmGlobalPackages:
eslint-plugin-react-native: 3.5.0
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
Ini adalah pelacakan tumpukan Crashlytics yang kami dapatkan:
# Platform: android
# Issue ID: 5beec130f8b88c29632f185d
# Session ID: 5cb483b90037000127d26eeee3e996f5_DNE_0_v2
# Date: 2019-04-15T13:15:00Z
# OS Version: 7.0
# Device: PRA-LX1
# RAM Free: 1.3%
# Disk Free: 14.3%
#0. Crashed: Thread
0 (Missing) 0xc00d9b20 (Missing)
1 (Missing) 0x3ffffffd (Missing)
2 libc.so 0xeda60d64 (Missing)
3 (Missing) 0x3fdec95c (Missing)
4 libc.so 0xeda3223f (Missing)
5 libutils.so 0xee283df1 (Missing)
6 (Missing) 0xea6ac55a (Missing)
7 libart.so 0xebc85331 (Missing)
8 (Missing) 0x12dfd11e (Missing)
9 (Missing) 0x12da927e (Missing)
10 system@[email protected] 0x74d6de0d (Missing)
11 (Missing) 0x3fdec95c (Missing)
12 (Missing) 0x12f39976 (Missing)
13 (Missing) 0x12c2064e (Missing)
14 (Missing) 0x70e43ada (Missing)
15 (Missing) 0x12f43b8e (Missing)
16 libart.so 0xebc85331 (Missing)
17 (Missing) 0x70d268be (Missing)
18 system@[email protected] 0x716279db (Missing)
19 (Missing) 0x70837262 (Missing)
20 (Missing) 0x70190306 (Missing)
21 (Missing) 0x2cb6ab0c (Missing)
22 (Missing) 0x70d58d82 (Missing)
23 (Missing) 0x2cb6ab0c (Missing)
24 (Missing) 0x2cb6ab0c (Missing)
25 (Missing) 0x70c63cee (Missing)
26 (Missing) 0x12c2064e (Missing)
27 (Missing) 0x70e43ada (Missing)
28 (Missing) 0x12f43c1e (Missing)
29 libart.so 0xebca3526 (Missing)
30 (Missing) 0x3fdec95c (Missing)
31 (Missing) 0x70e43ada (Missing)
32 (Missing) 0x70e43ada (Missing)
33 (Missing) 0x12f39976 (Missing)
34 (Missing) 0x12f43b8e (Missing)
35 libart.so 0xebc85331 (Missing)
36 (Missing) 0x70d268e2 (Missing)
37 (Missing) 0x3fdec95c (Missing)
38 libutils.so 0xee283ced (Missing)
39 (Missing) 0x70abe4f6 (Missing)
40 (Missing) 0x70aadb2e (Missing)
41 libandroid_runtime.so 0xecdb23ff (Missing)
42 (Missing) 0x70abe4f6 (Missing)
43 (Missing) 0x12c2fa8e (Missing)
44 system@[email protected] 0x749d1865 (Missing)
45 (Missing) 0x12c2fa8e (Missing)
46 system@[email protected] 0x741f0347 (Missing)
47 (Missing) 0x70d3b9ca (Missing)
48 (Missing) 0x12c2fa8e (Missing)
49 (Missing) 0x12c2fa8e (Missing)
50 (Missing) 0x70abe4f6 (Missing)
51 (Missing) 0x70aadb2e (Missing)
--
#0. Crashed: Thread
0 (Missing) 0xc00d9b20 (Missing)
1 (Missing) 0x3ffffffd (Missing)
2 libc.so 0xeda60d64 (Missing)
3 (Missing) 0x3fdec95c (Missing)
4 libc.so 0xeda3223f (Missing)
5 libutils.so 0xee283df1 (Missing)
6 (Missing) 0xea6ac55a (Missing)
7 libart.so 0xebc85331 (Missing)
8 (Missing) 0x12dfd11e (Missing)
9 (Missing) 0x12da927e (Missing)
10 system@[email protected] 0x74d6de0d (Missing)
11 (Missing) 0x3fdec95c (Missing)
12 (Missing) 0x12f39976 (Missing)
13 (Missing) 0x12c2064e (Missing)
14 (Missing) 0x70e43ada (Missing)
15 (Missing) 0x12f43b8e (Missing)
16 libart.so 0xebc85331 (Missing)
17 (Missing) 0x70d268be (Missing)
18 system@[email protected] 0x716279db (Missing)
19 (Missing) 0x70837262 (Missing)
20 (Missing) 0x70190306 (Missing)
21 (Missing) 0x2cb6ab0c (Missing)
22 (Missing) 0x70d58d82 (Missing)
23 (Missing) 0x2cb6ab0c (Missing)
24 (Missing) 0x2cb6ab0c (Missing)
25 (Missing) 0x70c63cee (Missing)
26 (Missing) 0x12c2064e (Missing)
27 (Missing) 0x70e43ada (Missing)
28 (Missing) 0x12f43c1e (Missing)
29 libart.so 0xebca3526 (Missing)
30 (Missing) 0x3fdec95c (Missing)
31 (Missing) 0x70e43ada (Missing)
32 (Missing) 0x70e43ada (Missing)
33 (Missing) 0x12f39976 (Missing)
34 (Missing) 0x12f43b8e (Missing)
35 libart.so 0xebc85331 (Missing)
36 (Missing) 0x70d268e2 (Missing)
37 (Missing) 0x3fdec95c (Missing)
38 libutils.so 0xee283ced (Missing)
39 (Missing) 0x70abe4f6 (Missing)
40 (Missing) 0x70aadb2e (Missing)
41 libandroid_runtime.so 0xecdb23ff (Missing)
42 (Missing) 0x70abe4f6 (Missing)
43 (Missing) 0x12c2fa8e (Missing)
44 system@[email protected] 0x749d1865 (Missing)
45 (Missing) 0x12c2fa8e (Missing)
46 system@[email protected] 0x741f0347 (Missing)
47 (Missing) 0x70d3b9ca (Missing)
48 (Missing) 0x12c2fa8e (Missing)
49 (Missing) 0x12c2fa8e (Missing)
50 (Missing) 0x70abe4f6 (Missing)
51 (Missing) 0x70aadb2e (Missing)
Memiliki masalah yang sama dengan Samsung Galaxy S7, di Android 7
ASSERT|04-17 00:30:16.272|18763|18813||libc|Fatal signal 11 (SIGSEGV), code 1, fault addr 0xbbadbeef in tid 18813 (mqt_js)
ASSERT|04-17 00:30:16.402|18920|18920||DEBUG|Build fingerprint: 'samsung/heroltexx/herolte:7.0/NRD90M/G930FXXS1DQHF:user/release-keys'
ASSERT|04-17 00:30:16.402|18920|18920||DEBUG|*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
ASSERT|04-17 00:30:16.405|18920|18920||DEBUG|ABI: 'arm64'
ASSERT|04-17 00:30:16.405|18920|18920||DEBUG|Revision: '8'
ASSERT|04-17 00:30:16.406|18920|18920||DEBUG|pid: 18763, tid: 18813, name: mqt_js >>> com.profibackoffice.reactnative <<<
ASSERT|04-17 00:30:16.406|18920|18920||DEBUG|signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xbbadbeef
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x16 00000070110b1acc x17 000000700bc121a8 x18 0000000021ecfc88 x19 000000700fed7e80
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x20 00000070108cf560 x21 0000006ffd4c8070 x22 000000700bc00000 x23 0000006ff9616ca0
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x28 ffff000000000002 x29 00000070108cf560 x30 0000007011408484
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x24 0000000000000007 x25 0000000000000000 x26 0000000000000000 x27 ffff000000000000
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x8 00000000bbadbeef x9 00000070114b19d0 x10 0000000000000000 x11 0000006ffc4f0000
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x0 00000070108cf3c8 x1 00000070108cf3c8 x2 0000000000000000 x3 00000000000000a8
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| sp 00000070108cf400 pc 000000701140848c pstate 00000000a0000000
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x4 000000700bfaee80 x5 0000006ff62a4980 x6 0000006ffa6a6820 x7 0000000000000000
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x12 0000000000000000 x13 000000700b617c00 x14 0000000000000002 x15 00000000bd36143d
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG|backtrace:
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG| #03 pc 00000000001afe80 <anonymous:000000700bdff000>
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG| #02 pc 0000000000489f2c /data/app/com.profibackoffice.reactnative-1/lib/arm64/libjsc.so (operationLinkDirectCall+1120)
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG| #01 pc 00000000000be650 /data/app/com.profibackoffice.reactnative-1/lib/arm64/libjsc.so (_Z16WTFCrashWithInfoiPKcS0_i+24)
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG| #00 pc 00000000007e048c /data/app/com.profibackoffice.reactnative-1/lib/arm64/libjsc.so (WTFCrash+16)
~ Menambahkan ini ke android/app/build.gradle
~ Anda dapat memperbaikinya ~ (Tidak): ~
packagingOptions {
pickFirst '**/libjsc.so'
pickFirst '**/libc++_shared.so'
}
~ Lihat https://github.com/react-native-community/jsc-android-buildscripts/pull/95~
Terima kasih telah mencoba membantu tetapi solusinya tidak membantu kami.
16 jawaban. 2019 г., в 19:12, Andrew Jack [email protected] написал (а):
Menambahkan ini ke android / app / build.gradle Anda dapat memperbaikinya:
packagingOptions {
pickFirst ' /libjsc.so'pickFirst ' /libc++_shared.so'
}
Lihat react-native-community / jsc-android-buildscripts # 95 https://github.com/react-native-community/jsc-android-buildscripts/pull/95
Menguji ini sekarang.-
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://github.com/facebook/react-native/issues/24261#issuecomment-483728028 , atau nonaktifkan utas https://github.com/notifications/unsubscribe-auth/ AEO_1BMzddSncn2DtQeDcx_y1KIz0ZSGks5vhfaJgaJpZM4cX_xB .
Menambahkan ini ke
android/app/build.gradle
dapat memperbaikinya:packagingOptions { pickFirst '**/libjsc.so' pickFirst '**/libc++_shared.so' }
Lihat react-native-community / jsc-android-buildscripts # 95
Saya sedang menguji ini sekarang.
@AndrewJack apakah itu bekerja untuk Anda?
Menambahkan ini ke
android/app/build.gradle
dapat memperbaikinya:packagingOptions { pickFirst '**/libjsc.so' pickFirst '**/libc++_shared.so' }
Lihat react-native-community / jsc-android-buildscripts # 95
Saya sedang menguji ini sekarang.
Sayangnya kami sudah memiliki mereka di sana.
Kami telah menarik build 64-bit kami dari Play Store. Ini mungkin tidak terkait sama sekali dengan crash di build 64bit, tetapi perangkat Galaxy S7 yang menjalankan armeabi-v7a build sekarang sering mogok seperti di bawah ini. Segera setelah memulai.
Benar-benar bertanya-tanya apa yang begitu berbeda tentang S7 dibandingkan dengan perangkat lain.
Version Code: 10000036
Version Name: 2.3.4
Android: 8.0.0
Android Build: R16NW
Manufacturer: samsung
Model: SM-G930F
Date: undefined
com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type `double', but had type `null'
at com.facebook.react.bridge.ReadableNativeMap.getIntNative
at com.facebook.react.bridge.ReadableNativeMap.getInt
at com.facebook.react.g.a.a
at com.facebook.react.modules.core.ExceptionsManagerModule.reportSoftException
at java.lang.reflect.Method.invoke(Method.java:-2)
at com.facebook.react.bridge.JavaMethodWrapper.invoke
at com.facebook.react.bridge.JavaModuleWrapper.invoke
at com.facebook.react.bridge.queue.NativeRunnable.run
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage
at android.os.Looper.loop(Looper.java:164)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run
at java.lang.Thread.run(Thread.java:764)
@taschik Tidak berhasil, saya pikir mengoreksi konfigurasi jsc-android-buildscripts mungkin berhasil.
Saya mendapatkan pengecualian yang sama dan tidak dapat ditangkap oleh penangan pengecualian yang tidak tertangkap. Di aplikasi Android saya, saya sudah mencoba kode ini:
Thread.setDefaultUncaughtExceptionHandler(...);
dengan penangan, yang hanya menulis nama pengecualian ke konsol dan kemudian mengembalikan kontrol ke penangan default, tetapi kode itu belum dijalankan sebelum aplikasi mogok.
Saya mencoba untuk menyelidiki, mengapa Crashlytics tidak mencatat pengecualian ini. Mungkin itulah alasannya ... Saya ingat, bahwa sekali atau dua kali saya telah melihat kerusakan asli di konsol kain saya, jadi crashlytics dapat mencatat kerusakan asli, tetapi entah bagaimana tidak dalam kasus ini.
@SpertsyanKM Error terjadi di tingkat ndk. Anda tidak akan melihat error di konsol firebase, kecuali Anda menambahkan library Crashlytics NDK. https://docs.fabric.io/android/crashlytics/ndk.html
Karena Anda telah menemukan Thread.setDefaultUncaughtExceptionHandler
hanya akan menangkap pengecualian Java.
Saya meningkatkan ke RN 0,59.5 hari ini dan kerusakan masih terjadi. Masalah ini belum diperbaiki.
Hai, semuanya, saya memiliki masalah yang sama di 0.59.5, hapus android: screenOrientation = "portrait" di AndroidManifest.xml. Ini bekerja untuk saya.
@Jeijie Saya sudah tidak punya itu di sana, tapi tetap saja
Masalah yang sama pada REDMI NOTE 4X Android 7.0 dan huawei HRY AL00A Android 9
AutomaticThread
SIGSEGV(SEGV_MAPERR)
1 #00 pc 000000000042c064 /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
2 #01 pc 0000000000429638 /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
3 #02 pc 0000000000429d28 /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
4 #03 pc 000000000041664c /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
5 #04 pc 00000000007ea4cc /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
6 #05 pc 00000000007eabcc /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
7 #06 pc 00000000007e0fec /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
8 #07 pc 00000000007ee4fc /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
9 #08 pc 00000000007ffdb8 /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
10 #09 pc 0000000000083550 /system/lib64/libc.so (__pthread_start(void*)+36) [arm64-v8a]
11 #10 pc 00000000000241a0 /system/lib64/libc.so (__start_thread+68) [arm64-v8a]
12 java:
13 [Failed to get Java stack]
Masalah yang sama di Galaxy S7 Edge / Android 7.0 dan dengan tiga versi berbeda dari React-Native: 0.58.4, 0.58.5 dan 0.59.5.
Crash belum terdeteksi di perangkat Android lain.
Satu-satunya solusi untuk menghindari masalah ini saat ini adalah dengan membangun aplikasi hanya pada 32 bit. Tetapi masalah ini perlu diperbaiki untuk Agustus pertama karena Play Store tidak akan menerima lagi hanya aplikasi 32 bit.
Mengalami hal yang sama, terbatas pada Galaxy S7 dengan Android <= 7.0 (bukan 8.0). Terjadi sejak kami mengaktifkan dukungan 64 bit.
Pada konfigurasi default gradle kami, kami bahkan tidak mendukung 64bit dan crash tetap terjadi.
``
defaultConfig {
applicationId _applicationId
minSdkVersion 16
targetSdkVersion 27
versionCode _versionCode
versionName _versionName
ndk {
abiFilters "armeabi-v7a", "x86"
}
packagingOptions {
exclude "lib/arm64-v8a/libgnustl_shared.so"
}
renderscriptTargetApi 27
renderscriptSupportModeEnabled true
vectorDrawables.useSupportLibrary = true /
multiDexEnabled true
}```
Satu lagi di sini, saya perhatikan bahwa masalah juga terjadi dengan beberapa perangkat Mediatek
Alcatel A5 (ELSA6)
Alcatel 1x / TCL L9 (U5A_PLUS_4G)
Beberapa perangkat lain dengan MediaTek SoCs dengan dukungan x64
Hai. Kami telah menemukan bahwa:
Saya dapat mengonfirmasi bahwa menghapus dukungan 64bit mengurangi laporan kerusakan hingga ~ 90%
Ini masih terjadi dengan beberapa perangkat. Tapi "perbaikan" saat ini adalah yang terbaik yang bisa saya lakukan sekarang
Saya mengalami crash di OnePlus 3 juga, tetapi menghapus dukungan 64bit tidak membantu. Saya mengalami crash dengan proyek init react-native yang bersih (juga pada emulator saat membuka APK aplikasi).
masalah yang sama s7 edge android 7.0 crash dalam produksi dengan bundle split, yang lain sepertinya baik-baik saja
sinyal 11 (SIGSEGV), kode 1 (SEGV_MAPERR)
lacak balik:
# 00 pc 000000000009e144
# 01 pc 00000000000a4a70
Masalah ini sudah teridentifikasi di repo webkit. Saya telah memberi komentar di sana ketika saya menemukan masalah ini beberapa bulan yang lalu: https://github.com/WebPlatformForEmbedded/WPEWebKit/issues/327#issuecomment -436781890
Akan sangat bagus untuk mengoordinasikan upaya.
Catatan: di Youi kami menggunakan RN dengan cara yang tidak standar. Kami membangun JSC 64-bit kami sendiri, jadi kami mendapatkan masalah ini jauh lebih awal, sebelum 0,58.
Faktor umum tampaknya adalah perangkat Android 6.0 atau 7.0 (Level 23 & 24) dan ARM 64.
Perangkat paling umum dengan kombinasi ini adalah S7. Mengupgrade S7 ke Android 8 memperbaiki masalah.
Saya telah mereproduksi error di emulator Android ARM 64 bit, tetapi image emulator Android ARM terlalu tidak stabil & bermasalah untuk digunakan. Saya juga memiliki S7 untuk di-debug, yang saya coba turunkan ke Android 7, meskipun Samsung tidak membuatnya semudah ini.
@kmagiera & @kudo Anda baru saja merilis JSC versi baru. Apakah Anda mengharapkan rilis ini untuk memperbaiki masalah ini? Apakah menyelaraskan versi NDK membantu? https://github.com/react-native-community/jsc-android-buildscripts/pull/95
@AndrewJack Rilis baru hanya untuk patch keamanan WebKit & menghapus libc ++ _ shared.so untuk https://github.com/facebook/react-native/pull/24672. Saya tidak berpikir ini akan memperbaiki masalah crash.
AFAIK, ada berbagai jenis kerusakan JSC.
Beberapa dari operationLinkDirectCall karena masalah ini dilaporkan dan beberapa NPE sebagai https://github.com/react-native-community/jsc-android-buildscripts/issues/84.
Kebanyakan dari mereka terkait dengan JIT.
Jalur kerusakan JIT sulit untuk direproduksi secara internal dan sulit untuk dipecahkan juga.
Saya memiliki beberapa perbaikan potensial tetapi tidak begitu yakin apakah itu benar-benar akan menyelesaikan masalah crash.
Salah satu perbaikannya adalah menonaktifkan DFG_JIT .
Ada juga perbaikan dari operationLinkDirectCall terkait upstream
JSC yang lebih baru (WebKitGTK 2.24) menyertakan banyak perubahan JIT. Layak untuk dicoba jika peningkatan membantu.
IMO, jika reproduksi in-house tidak memungkinkan, alternatifnya adalah mengirimkan build eksperimental.
Rencana saya adalah membuat upgrade JSC lebih mudah, cukup dengan yarn add jsc-android@experiment
. Ini harus terjadi pada RN 0,60.
Dengan mekanisme ini, setidaknya kita bisa selangkah lebih maju untuk memperbaiki masalah crash.
Di sisi lain, akan membantu jika ada kode reproduksi & lingkungan yang andal.
Misalnya, ada repo dari react-native-navigation. Ini sangat membantu.
https://github.com/react-native-community/jsc-android-buildscripts/issues/84#issue -407898908
Kerusakan juga terjadi pada Pixel 2 dengan Android 9, jika itu membantu.
Apakah ada cara untuk mendapatkan log kerusakan saat menjalankan APK? Saya akan dengan senang hati membantu mendapatkan lebih banyak informasi tentang kerusakan ini, tetapi saya tidak tahu banyak tentang pengembangan Android.
@quietbits , sebagian besar log yang terkait dengan masalah ini tidak sangat membantu, tetapi untuk mengeluarkannya:
Cari saat kerusakan terjadi menggunakan adb logcat
—itu akan terlihat seperti ini (tidak persis seperti ini, karena saya baru saja mengekstrak ini dari atas log, tetapi ini menunjukkan kutipan, itulah sebabnya saya mengarahkannya di luar):
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/heroqltetmo/heroqltetmo:8.0.0/R16NW/G930TUVU4CRI2:user/release-keys'
Revision: '14'
ABI: 'arm'
pid: 32435, tid: 32482, name: mqt_js >>> com.YOURAPP <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xcd
Cause: null pointer dereference
Biasanya juga dikatakan bahwa log itu ditulis ke "batu nisan".
Untuk menghilangkan batu nisan, gunakan adb bugreport ./MySuperSpecialBugReport
dengan bagian terakhir jelas menjadi jalur yang Anda inginkan.
Ini akan menjadi zip, dan Anda dapat mengekstraknya, menavigasi (di sebagian besar perangkat) ke: ./MySuperSpecialBugReport/FS/data/tombstones
dan kemudian Anda dapat membuka batu nisan dengan editor teks Anda.
Sekali lagi, mengingat sifat crash ini, mereka tidak super informatif. Setidaknya dengan milik kita, mereka biasanya dengan mqt_js, dan dengan alamat pointer rendah. Mereka juga masih muncul (meskipun semakin tidak aneh / tidak terduga) dengan hanya apks 32-bit.
===
@ Kudo — sangat menantikan untuk dapat mencoba berbagai JSC dengan lebih mudah dan melihat apa fungsinya. Sejauh ini, ini telah menjadi titik sakit yang nyata dalam meningkatkan ke 0,59 dengan kerusakan super non-deterministik dan tidak dapat diprediksi (yang juga hanya terjadi pada perangkat tertentu ... kadang-kadang).
Untuk mendapatkan lacak balik yang disimbolkan, saya biasa menggabungkan adb logcat dan ndk-stack
Misalnya, menargetkan RN 059 stock JSC (yaitu [email protected]) dan arm64-v8a ABI.
wget https://registry.npmjs.org/jsc-android/-/jsc-android-236355.0.0.tgz
tar xf jsc-android-236355.0.0.tgz
unzip package/dist/org/webkit/android-jsc/r236355/android-jsc-r236355.aar
adb logcat | ndk-stack -sym jni/arm64-v8a/libjsc.so
Ada pembaruan tentang masalah ini?
Menghapus 64 bit bukanlah solusi per Google Play 64 bit support policy.
Ini berpotensi mempengaruhi aplikasi yang akan ditayangkan setelah 1 August 2019
. Kami ingin mendapatkan solusi yang tepat untuk masalah ini. @hramos ada pembaruan tentang ini? Tolong beri perhatian.
Hai, semuanya, saya memiliki masalah yang sama di 0.59.8,
Kami ingin mendapatkan solusi yang tepat untuk masalah ini.
Hai,
Saya membantu masalah kerusakan JSC dan juga kolaborator jsc-android-buildscripts.
RN 0,59 JSC sebenarnya dari jsc-android-buildscripts .
Untuk memecahkan masalah kemacetan, kami memerlukan pelacakan mundur.
Semoga silahkan ikuti langkah-langkah dibawah ini untuk mendapatkan backtrace dan posting disini.
Saya kemudian dapat menindaklanjuti untuk menemukan solusi potensial.
Instal ndk-build dan jalankan perintah:
wget https://registry.npmjs.org/jsc-android/-/jsc-android-236355.0.0.tgz
tar xf jsc-android-236355.0.0.tgz
unzip package/dist/org/webkit/android-jsc/r236355/android-jsc-r236355.aar
adb logcat -c
adb logcat | ndk-stack -sym jni/arm64-v8a/libjsc.so
Sepertinya banyak kerusakan berasal dari Samsung S7. Sayangnya, saya tidak memiliki S7.
Semoga mendapatkan beberapa informasi berguna untuk memecahkan masalah lebih lanjut.
@tokopedia
@Kudo Ini adalah log yang saya dapat menjalankan perintah-perintah itu pada proyek baru di RN 0.59.8
Saya mencoba membangun debug dan merilis build dan mengkompilasi jsc sendiri dengan log tampak sama di setiap kasus.
********** Crash dump: **********
Build fingerprint: ‘samsung/heroltexx/herolte:7.0/NRD90M/G930FXXU1DQEL:user/release-keys’
#00 0x00000000007e048c /data/app/com.testproj-2/lib/arm64/libjsc.so (WTFCrash+16)
WTFCrash
??:0:0
#01 0x00000000000be650 /data/app/com.testproj-2/lib/arm64/libjsc.so (_Z16WTFCrashWithInfoiPKcS0_i+24)
WTFCrashWithInfo(int, char const*, char const*, int)
??:0:0
#02 0x0000000000489f2c /data/app/com.testproj-2/lib/arm64/libjsc.so (operationLinkDirectCall+1120)
operationLinkDirectCall
??:0:0
#03 0x00000000001710f0 <anonymous:00000072adbff000>
Crash dump is completed
Saya memiliki S7 dan akan dengan senang hati mencoba menjalankan apa pun untuk mencoba dan mencari tahu.
Saran saya adalah mengkompilasi ulang JSC dengan JIT dinonaktifkan . Mungkin saja mekanisme keamanan di OS mengganggu JIT
operasi dalam beberapa cara yang tidak terduga.
Saya telah mereproduksi log kerusakan yang sama dengan @MalcolmScruggs. Di S7 - Android 7.1.2 - LineageOS 14.1.
Pada RN 0.59.8 & versi terbaru dari cabang master .
Tidak ada perubahan yang diperlukan untuk mereproduksi crash. Template RN default memicu crash setelah sedikit mengetuk layar.
Repo di sini - https://github.com/AndrewJack/jsc_crash/tree/rn_master_branch
Log kerusakan ada di
Langkah selanjutnya: buat versi JSC sendiri dengan JIT dinonaktifkan
Jika ada yang memiliki S7 pada versi Android yang lebih baru dan mereka ingin menurunkan versinya. Inilah yang saya lakukan:
Unduh perangkat lunak ini:
Dengan master native react terbaru dan menggunakan no_dfg_jit atau no-jit dari garpu @Kudo , saya tidak dapat mereproduksi crash.
https://github.com/AndrewJack/jsc_crash/tree/no_dfg_jit
https://github.com/AndrewJack/jsc_crash/tree/no_jit
@AndrewJack Luar biasa, Anda menemukan bangunan percobaan saya sangat cepat.
Terima kasih atas umpan balik Anda dan senang mengetahui versi ini telah memperbaiki kerusakan untuk Anda.
Sayang,
Saya memiliki dua versi JSC yang telah dicoba, coba jika ini dapat memperbaiki crash untuk Anda.
Langkah singkatnya di sini:
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
Satu versi percobaan adalah menonaktifkan satu jenis JIT.
Dan yang lainnya menonaktifkan JIT sepenuhnya dari @matthargett direkomendasikan.
Jika kedua versi tersebut akan memperbaiki kerusakan untuk Anda, harap berikan umpan balik kepada kami kinerja keseluruhan & TTI seperti yang disebutkan dalam inti saya.
@Kudo Terima kasih untuk itu! Apa yang Anda ketahui tentang GC konkuren di build tersebut? Saya melihat disebutkan di suatu tempat yang merupakan perbedaan lain dibandingkan dengan versi 32 bit, tetapi tentu saja saya tidak dapat menemukan komentar itu lagi. Mungkin hal lain yang layak untuk dimainkan jika crash terus berlanjut.
@wbercx Maksud Anda GC bersamaan atau JS bersamaan (JIT bersamaan)?
Secara default, GC serentak hanya diaktifkan untuk arm64 dan x64.
GC serentak mungkin tidak terkait dengan masalah error. Ini mungkin tentang manajemen heap dan tidak terkait JIT.
JS serentak dinonaktifkan untuk kedua build saya.
(Secara default, ini hanya akan diaktifkan untuk ENABLE(DFG_JIT) && USE(JSVALUE64)
)
BTW, JIT di JavaScriptCore rumit dan saya bukan ahli untuk ini.
Jangan ragu untuk menunjukkan jika saya salah.
@Kudo Saya mencoba no-jit
dan no-dfg-jit
versi eksperimental JSC dan tidak dapat mereproduksi crash. Ini sepertinya sejalan dengan apa yang dilaporkan @AndrewJack .
Saya mencoba ini pada proyek dasar jadi saya tidak dapat berkomentar tentang dampak kinerja apa pun.
Saya memiliki beberapa info lagi, saya melihat kerusakan ini juga pada:
Samsung Galaxy S7 (herolte), Android 7.0
Oppo F7 (CPH1819), Android 8.1
Juga terjadi pada 0,58,5. Galaxy S7. Android 6.0. Menyetelnya ke build 32 bit juga tidak berfungsi.
Kerusakan masih terjadi di sini juga setelah kembali ke 32 bit
@MalcolmScruggs Senang mendengar kedua versi percobaan memperbaiki
Saya berpikir untuk menonaktifkan DFG_JIT, setidaknya opsi JIT selaras dengan JSC lama.
@Kudo Berencana menargetkan perbaikan Anda dalam menonaktifkan DFG_JIT
hanya untuk perangkat / CPU yang terpengaruh?
Apakah seseorang mencoba dengan versi terakhir React Native (0.59.8) yang memperbaiki beberapa crash (disebutkan dalam catatan rilis)?
https://github.com/facebook/react-native/releases
Apakah seseorang mencoba dengan versi terakhir React Native (0.59.8) yang memperbaiki beberapa crash (disebutkan dalam catatan rilis)?
https://github.com/facebook/react-native/releases
Dalam kasus saya, saya menggunakan 0,59,8, sejak itu saya kembali ke 0,57,8 karena tidak ada lagi yang berhasil. Bug ini sangat buruk karena menyebabkan aplikasi langsung mogok saat dibuka. Aplikasi saya mengambil potongan rambut yang cukup dalam ulasan.
Perangkat ini mengalami gangguan sinyal 11 tetapi hanya menunjukkan lokasi memori.
General Mobile GM8 Go - Android 8.1
Motorola Moto E - Android 7.1.0
Samsung Galaxy A6 + - Android 8.0
Samsung Galaxy Grand Prime Pro - Android 8.0
Samsung Galaxy Tab S2 - Android 8.0
Samsung Galaxy J5 Prime - Android 8.0
Samsung Galaxy J6 - Android 8.0
Samsung Galaxy J7 Max - Android 8.1.0
Perangkat ini tampaknya muncul dengan kesalahan yang terlihat seperti == / lib / arm64 / libjsc.so . Saya tidak cukup tahu tentang cara kerja batin untuk mengetahui apa artinya, tapi semoga membantu.
Huawei Y9 - Android 8.1
Oppo RMX1811 - Android 8.1
Oppo R15 - Android 8.1
Motorola Moto X - Android 9.0
Nokia 3 - Android 8.1
Samsung Galaxy Note9 - Android 9.0
Samsung Galaxy S9 - Android 9.0
Xaomi Redmi Note 5 Pro - Android 8.1
Saya dapat menambahkan beberapa perangkat ke daftar @ harryt2.
Sinyal 11 crash dengan hanya satu lokasi memori:
Samsung Galaxy Note 9 - Android 9.0
Huawei Honor 8X - Android 9.0
Samsung Galaxy A7 (2018) - Android 9.0
Samsung Galaxy S9 - Android 9.0
Samsung Galaxy A6 + - Android 9.0
Nokia Nokia 8 - Android 9.0
Huawei Huawei P30 lite - Android 9.0
Samsung Galaxy Note8 - Android 9.0
Samsung Galaxy A9 - Android 8.0
Samsung Galaxy S7 - Android 8.0
...
daftar berlanjut dengan ~ 65 perangkat berbeda dan versi Android antara 7.0 dan 9.0.
Kesalahan tidak selalu terjadi pada perangkat ini. Tetapi ini benar-benar kekhawatiran, karena tingkat kerusakan aplikasi saya yang dilaporkan di google play berubah dari 0,16% menjadi 1,02% setelah pembaruan dari 0,57,8 menjadi 0,59,5.
0,57,8:
0,59,5:
Saya bukan ahli dalam pengembangan Android, saya juga tidak mengerti dari mana datangnya error ini. Saya dapat memberikan lebih banyak data jika itu membantu.
@ntorion di proyek kami, kami masih melihat kerusakan ini di Samsung s7 dengan react-native 0.59.8 saya khawatir.
Ada solusi untuk saat ini?
Saya telah menguji di dua galaxy note 9 yang berbeda, setiap ponsel langsung mogok
{"dependencies": {
"axios": "^0.18.0",
"prop-types": "^15.7.2",
"react": "16.8.3",
"react-native": "0.59.8",
"react-native-gesture-handler": "^1.2.1",
"react-native-iphone-x-helper": "^1.2.0",
"react-native-linear-gradient": "^2.5.4",
"react-native-vector-icons": "^6.4.2",
"react-navigation": "^3.11.0",
"react-redux": "^7.0.3",
"reactotron-react-native": "^3.5.2",
"reactotron-redux": "^3.1.0",
"reactotron-redux-saga": "^4.2.2",
"realm": "^2.27.0",
"redux": "^4.0.1",
"redux-saga": "^1.0.2",
"reduxsauce": "^1.1.0",
"seamless-immutable": "^7.1.4",
"styled-components": "^4.2.0"
},
"devDependencies": {
"@babel/core": "^7.4.5",
"@babel/runtime": "^7.4.5",
"babel-eslint": "^10.0.1",
"babel-jest": "^24.8.0",
"babel-plugin-root-import": "^6.2.0",
"eslint": "^5.16.0",
"eslint-config-airbnb": "^17.1.0",
"eslint-import-resolver-babel-plugin-root-import": "^1.1.1",
"eslint-plugin-import": "^2.17.2",
"eslint-plugin-jsx-a11y": "^6.2.1",
"eslint-plugin-react": "^7.13.0",
"eslint-plugin-react-native": "^3.7.0",
"jest": "^24.8.0",
"metro-react-native-babel-preset": "^0.54.1",
"react-test-renderer": "16.8.3"
}}
@dudusotero menggunakan instruksi @Kudo https://g.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
@ Matpaul @Kudo saya dapat mengonfirmasi bahwa build eksperimental js core ini tampaknya juga memperbaiki masalah untuk kami (diuji pada Samsung s7).
Kerusakan saya terkait dengan pelacakan ini hilang di Android ketika saya menurunkan versi ke 0.58.6
. Berencana harus menurunkan versi ke 57.6
, tetapi 58.6
tampaknya telah memperbaiki ini untuk saya (meskipun ada beberapa masalah Android lain yang harus saya atasi, di mana saya harus membangun secara manual untuk rilis)
@Kudo
Sayang,
Saya memiliki dua versi JSC yang telah dicoba, coba jika ini dapat memperbaiki crash untuk Anda.
Langkah singkatnya di sini:
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17Satu versi percobaan adalah menonaktifkan satu jenis JIT.
Dan yang lainnya menonaktifkan JIT sepenuhnya dari @matthargett direkomendasikan.
Jika kedua versi tersebut akan memperbaiki kerusakan untuk Anda, harap berikan umpan balik kepada kami kinerja keseluruhan & TTI seperti yang disebutkan dalam inti saya.
@Kudo Saya memiliki dua pengamatan di sini, seperti yang juga disebutkan dalam intisari Anda
@kudo-ci/jsc-android@241213-no-dfg-jit
, saat menggunakan salah satu aplikasi produksi kami selama beberapa menit.@kudo-ci/jsc-android@241213-no-jit
ketergantungan as of now
dan TTI tetap sama / tidak terlihat sehubungan dengan build sebelumnya.Kudo, akankah pull request Anda cukup untuk memperbaiki ini, karena saya melihat aplikasi hang saat diuji terhadap no_dfg_jit
Beberapa pembaruan lagi di sini:
Saya benar-benar ragu jika crash asli terjadi dengan mudah di tepi S7, harus ada aplikasi lain yang menghadapi masalah seperti itu.
Kena kau!
Layanan Google Play dengan API Teks mengalami masalah ini tetapi tidak ada perbaikan OSS
Mono menemukan masalah crash pada S7 Exynos arch bit.LITTLE dan berikut ini perbaikannya .
JavaScriptCore memang menggunakan __clear_cache
di ARM64Assembler.
Saya akan memiliki versi percobaan lain untuk menambal __clear_cache akhir minggu ini.
Bangunan percobaan yang menetapkan __clear_cache
telah siap.
Langkah-langkahnya sama seperti sebelumnya tetapi hanya menggunakan dependensi npm yang berbeda.
yarn add '@kudo-ci/jsc-android@241213-fix-clear-cache-dfg'
dan dikonfirmasi adb logcat dengan versi 241213.8000.0
( ref kode sumber di sini )yarn add '@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg'
dan dikonfirmasi adb logcat dengan versi 241213.9000.1
( ref kode sumber di sini )Maaf, saya tidak dapat memverifikasi masalah macet lagi tetapi hanya untuk memverifikasi fungsi dasar.
Tolong bantu untuk menguji dua JSC percobaan jika memungkinkan.
Terima kasih banyak dan semoga kami berhasil kali ini.
cc @AndrewJack @MalcolmScruggs @tijs @ishantsagar @timhatch
@Kudo Sekarang saya mendapat umpan balik tentang uji coba build menggunakan @kudo-ci/jsc-android@241213-fix-clear-cache-dfg
dan @kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
.
Kedua versi uji tampaknya sejauh ini bebas dari gangguan pada Samsung Galaxy S7 Edge / Android 7.0 (hingga sekarang kombinasi masalahnya)
@Kudo Saya mencoba @kudo-ci/jsc-android@241213-fix-clear-cache-dfg
dan @kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
pada proyek dasar yang menjalankan React-Native 0.59.8
dan pada kedua versi crash tidak terjadi. Saya menguji pada Samsung Galaxy S7 di android 7.0:
[ro.product.board]: [universal8890]
[ro.product.brand]: [samsung]
[ro.product.cpu.abi]: [arm64-v8a]
[ro.product.cpu.abilist]: [arm64-v8a,armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: [arm64-v8a]
[ro.product.device]: [herolte]
[ro.product.first_api_level]: [23]
[ro.product.locale]: [en-GB]
[ro.product.manufacturer]: [samsung]
[ro.product.model]: [SM-G930F]
[ro.product.name]: [heroltexx]
@Kudo Saya sudah mencoba @kudo-ci/jsc-android@241213-fix-clear-cache-dfg
tetapi saya mengalami crash pada Samsung Galaxy S5 (SM-G900F), mirip dengan yang kami miliki dengan JSC di React Native 0.59.8
Versi tanpa JIT bekerja dengan sempurna ( @kudo-ci/jsc-android@241213-no-jit
) dan tidak mengalami crash pada versi itu terlepas dari seberapa banyak saya telah mendorong aplikasi ke batas. Jadi saya pikir kita akan tetap menggunakan yang itu untuk saat ini.
Kami menggunakan ReactRootViews di viewpager, jadi kami cukup sering membuat dan menghancurkan instance react-native, dan itu tampaknya memicu error ini. Mungkin itulah sebabnya kami menghadapi masalah ini lebih sering daripada kebanyakan. Saat ini kami sedang mengunjungi kembali pendekatan viewpager, tetapi sementara itu, saya berharap log kerusakan ini dapat membantu. (ini untuk versi 241213.8000.0
, react-native 0.59.8)
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x66 in tid 16184 (mqt_js)
D/InputReader: Input event: value=1
I/InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.1239 ] when=8467503214000
I/InputDispatcher: Delivering touch to (1173): action: 0x4, toolType: 1
I/InputDispatcher: Delivering touch to (16117): action: 0x0, toolType: 1
I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG: Build fingerprint: 'samsung/kltexx/klte:5.0/LRX21T/G900FXXU1BOH4:user/release-keys'
I/DEBUG: Revision: '14'
I/DEBUG: ABI: 'arm'
I/DEBUG: pid: 16117, tid: 16184, name: mqt_js >>> uk.co.thetimes.debug <<<
I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x66
I/DEBUG: r0 00000036 r1 8cc43b20 r2 8e558040 r3 fffffffb
I/DEBUG: r4 00000000 r5 91800000 r6 8c752df0 r7 92efea88
I/DEBUG: r8 fffffffb r9 8cce0000 sl 91a08821 fp fffffffc
I/DEBUG: ip 8c752df0 sp 92efe8e0 lr 91d970a9 pc 91ea6502 cpsr 600b0030
I/DEBUG: backtrace:
I/DEBUG: #00 pc 004a7502 <unknown>
I/DEBUG: #01 pc 003980a7 <unknown>
Sayangnya kami sudah memiliki mereka di sana.
Kami telah menarik build 64-bit kami dari Play Store. Ini mungkin tidak terkait sama sekali dengan crash di build 64bit, tetapi perangkat Galaxy S7 yang menjalankan armeabi-v7a build sekarang sering mogok seperti di bawah ini. Segera setelah memulai.
Benar-benar bertanya-tanya apa yang begitu berbeda tentang S7 dibandingkan dengan perangkat lain.
Version Code: 10000036 Version Name: 2.3.4 Android: 8.0.0 Android Build: R16NW Manufacturer: samsung Model: SM-G930F Date: undefined com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type `double', but had type `null' at com.facebook.react.bridge.ReadableNativeMap.getIntNative at com.facebook.react.bridge.ReadableNativeMap.getInt at com.facebook.react.g.a.a at com.facebook.react.modules.core.ExceptionsManagerModule.reportSoftException at java.lang.reflect.Method.invoke(Method.java:-2) at com.facebook.react.bridge.JavaMethodWrapper.invoke at com.facebook.react.bridge.JavaModuleWrapper.invoke at com.facebook.react.bridge.queue.NativeRunnable.run at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage at android.os.Looper.loop(Looper.java:164) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run at java.lang.Thread.run(Thread.java:764)
Kami telah melihat ini secara internal dan memperhatikan bahwa beberapa properti gaya kami secara bersyarat mengembalikan null. Menghapusnya dan hanya menambahkan properti style secara bersyarat memperbaiki pengecualian serupa - mungkin ada sesuatu yang terjadi dengan tipe modul native untuk Anda?
@tuncaulubilge Terima kasih atas informasinya.
Hanya untuk memastikan bahwa Samsung S5 (SM-G900F) adalah arsitektur arm (bukan arm64), bukan?
Anda dapat memverifikasi dengan adb shell getprop ro.product.cpu.abi
Dari catatan kecelakaan Anda, sepertinya lengan.
Jika demikian, saya berasumsi bahwa akar masalahnya adalah cerita lain daripada di sini.
Apakah Anda pernah menguji versi no-dfg-jit, yaitu @kudo-ci/jsc-android@241213-no-dfg-jit
atau @kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
?
Kedua versi ini harus sama di arm32, Anda dapat menguji salah satunya.
UPATE @kudo
Pelacakan balik yang dilaporkan kembali melalui konsol pengembang untuk masalah asli (mogok yang berulang saat peluncuran aplikasi pada [secara eksklusif] Samsung S7 Edge + Android 7.0) terlihat seperti ini:
#00 pc 00000000007e048c /data/app/org.ifsc.boulder14-1/lib/arm64/libjsc.so (WTFCrash+16)
#01 pc 00000000000be650 /data/app/org.ifsc.boulder14-1/lib/arm64/libjsc.so (_Z16WTFCrashWithInfoiPKcS0_i+24)
#02 pc 0000000000489f2c /data/app/org.ifsc.boulder14-1/lib/arm64/libjsc.so (operationLinkDirectCall+1120)
#03 pc 00000000002149a8 <unknown>
Masalah asli tampaknya diperbaiki oleh masing-masing build berikut:
@kudo-ci/jsc-android@241213-no-jit
@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
@kudo-ci/jsc-android@241213-fix-clear-cache-dfg
Namun saya berhasil menstimulasi crash lain pada dua kesempatan untuk yang terakhir ini ( @kudo-ci/jsc-android@241213-fix-clear-cache-dfg
) pada perangkat yang berbeda dan dengan backtrace yang berbeda:
#00 pc 00000000004886ac /data/app/org.ifsc.boulder14-ECb5NhJUQgyp_UkWAZLdKg==/lib/arm64/libjsc.so (operationLinkDirectCall+176)
#01 pc 000000000043ad90 <anonymous>
Meskipun saya telah berhasil membuat crash aplikasi pengujian dua kali, setiap kali dengan tanda tangan yang sama, crash tersebut tidak dapat diulang secara sistematis dan terjadi selama navigasi antara layar yang berbeda di aplikasi pengujian dan bukan saat peluncuran. Karena perangkat yang relevan ada di tangan, saya dapat menarik jejak yang lebih lengkap dari perangkat yang berbunyi sebagai berikut:
05-29 15:39:06.132 9361 9361 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c
05-29 15:39:06.132 9361 9361 F DEBUG : Cause: null pointer dereference
05-29 15:39:06.132 9361 9361 F DEBUG : x0 0000007363fc4900 x1 000000735b75a000 x2 0000000000000004 x3 0000000000000000
05-29 15:39:06.132 9361 9361 F DEBUG : x4 000000736470caa0 x5 e805b658e92d4328 x6 0000007368dfc8f0 x7 0000000000000000
05-29 15:39:06.132 9361 9361 F DEBUG : x8 0000000000000007 x9 0000000000000000 x10 0000007364d39d80 x11 0000000000000040
05-29 15:39:06.132 9361 9361 F DEBUG : x12 0000007364d39d80 x13 000000000000b324 x14 00000000ffdaeb75 x15 00000073609a09c0
05-29 15:39:06.132 9361 9361 F DEBUG : x16 000000736a1515fc x17 00000073647121a8 x18 0000000000000002 x19 000000735b75a000
05-29 15:39:06.132 9361 9361 F DEBUG : x20 0000007368dfca10 x21 0000007363f0c070 x22 0000007364700000 x23 0000000000000004
05-29 15:39:06.132 9361 9361 F DEBUG : x24 0000000000000000 x25 0000000000000007 x26 0000000000000000 x27 ffff000000000000
05-29 15:39:06.132 9361 9361 F DEBUG : x28 ffff000000000002 x29 0000007368dfca10
05-29 15:39:06.132 9361 9361 F DEBUG : sp 0000007368dfc920 lr 000000736a1516ac pc 000000736a1516ac
05-29 15:39:06.154 9361 9361 F DEBUG :
05-29 15:39:06.154 9361 9361 F DEBUG : backtrace:
05-29 15:39:06.154 9361 9361 F DEBUG : #00 pc 00000000004886ac /data/app/org.ifsc.boulder14-ECb5NhJUQgyp_UkWAZLdKg==/lib/arm64/libjsc.so (operationLinkDirectCall+176)
05-29 15:39:06.154 9361 9361 F DEBUG : #01 pc 000000000043ad90 <anonymous:00000073648ff000>
dan
05-29 15:10:13.010 7853 7853 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1018
05-29 15:10:13.010 7853 7853 F DEBUG : x0 00000073642c6c40 x1 0000007359684500 x2 0000000000001000 x3 0000000000000000
05-29 15:10:13.010 7853 7853 F DEBUG : x4 00000073008a3030 x5 000000000000006d x6 00000000ffffffff x7 cb010063d1004021
05-29 15:10:13.010 7853 7853 F DEBUG : x8 0000000000000007 x9 0000000000000000 x10 00000073651159c0 x11 0000000000000040
05-29 15:10:13.010 7853 7853 F DEBUG : x12 00000073651159c0 x13 000000736a744558 x14 000000736249dc00 x15 000000736928a2e8
05-29 15:10:13.010 7853 7853 F DEBUG : x16 000000736a1575fc x17 0000007364a121a8 x18 0000000000000045 x19 0000007359684500
05-29 15:10:13.010 7853 7853 F DEBUG : x20 000000736928a2a0 x21 0000007362fb7700 x22 0000007364a00000 x23 0000000000001000
05-29 15:10:13.010 7853 7853 F DEBUG : x24 0000000000000000 x25 0000000000000007 x26 0000000000000000 x27 ffff000000000000
05-29 15:10:13.010 7853 7853 F DEBUG : x28 ffff000000000002 x29 000000736928a2a0
05-29 15:10:13.010 7853 7853 F DEBUG : sp 000000736928a110 lr 000000736a1576ac pc 000000736a1576ac
05-29 15:10:13.024 7853 7853 F DEBUG :
05-29 15:10:13.024 7853 7853 F DEBUG : backtrace:
05-29 15:10:13.024 7853 7853 F DEBUG : #00 pc 00000000004886ac /data/app/org.ifsc.boulder14-ECb5NhJUQgyp_UkWAZLdKg==/lib/arm64/libjsc.so (operationLinkDirectCall+176)
05-29 15:10:13.024 7853 7853 F DEBUG : #01 pc 00000000005169d8 <anonymous:0000007364bff000>
Tidak tahu apakah ini membantu, debugging dan interpretasi crash di Android bukanlah sesuatu yang saya lakukan sebelumnya
@Kudo Ini temuan saya:
Samsung S5 adalah armeabi-v7a
. Saya sudah mencoba semua 4 alternatif yang telah Anda berikan, dan yang tanpa jit tampaknya menjadi satu-satunya yang bebas gangguan. Menonaktifkan dfg cukup banyak mengurangi tingkat kerusakan tetapi saya masih bisa merusaknya.
Saya juga menguji pada Pixel XL ( arm64-v8a
) dan belum mengalami crash pada kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
tetapi crash sulit untuk direproduksi pada perangkat kelas atas karena akar masalahnya tampaknya menjadi tekanan memori rendah.
Untuk menyimpulkan:
@kudo-ci/jsc-android@241213-no-jit
: Ini bebas dari kerusakan pada kedua perangkat
@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
: Ini tidak bekerja pada perangkat kelas bawah, tidak dapat mereproduksi perangkat kelas atas
@kudo-ci/jsc-android@241213-fix-clear-cache-dfg
: Ini lebih sering crash daripada build lain pada perangkat kelas bawah. (masih lebih baik dari stok RN 59 jsc)
@kudo-ci/jsc-android@241213-no-dfg-jit
: Ini juga mogok di perangkat kelas bawah, saya belum menguji perangkat kelas atas.
Bahkan build tanpa jit jauh lebih cepat daripada JSC stok, jadi kami berencana untuk menggunakan @kudo-ci/jsc-android@241213-no-jit
dan kami akan mengujinya lebih banyak untuk memastikan produksinya siap.
Terima kasih banyak atas semua bantuannya. Beri tahu saya jika saya bisa membantu
@timhatch @tuncaulubilge Terima kasih atas masukan dan pengujian sistematis Anda yang luar biasa.
Saat ini saya benar-benar tidak punya ide untuk memperbaiki masalah.
Tidak menonaktifkan DFG atau memperbaiki __clear_cache membantu dengan itu.
Selain itu, crash juga terjadi pada arm32 (dan akar penyebabnya mungkin berbeda dari arm64)
Menurut pendapat pribadi saya, saya ingin menonaktifkan JIT sama sekali secara default, setidaknya untuk memastikan JSC bebas crash dulu.
BTW @tuncaulubilge bagaimana Anda mengukur bahwa @kudo-ci/jsc-android@241213-no-jit
lebih cepat daripada saham JSC?
Penasaran saja karena dari hasil benchmark, versi no-jit bekerja sedikit lebih lambat.
@Kudo Apakah Anda juga mengukur waktu mulai aplikasi dan penggunaan memori? Saya selalu berasumsi bahwa kedua metrik ini akan lebih baik tanpa JIT. Karena sebagian besar aplikasi memiliki UI yang berat, saya tidak yakin JIT akan banyak bermanfaat di aplikasi dunia nyata, jadi saya akan senang jika JIT dinonaktifkan jika itu meningkatkan penggunaan startup dan memori. Saya juga penasaran apakah JSC akan memiliki footprint disk yang lebih kecil tanpa JIT.
@Kudo
Memperbaiki __clear_cache seperti yang Anda lakukan di build pengujian ini pasti memperbaiki situasi, tetapi ada efek samping dari perbaikan atau interaksi yang lebih kompleks yang belum jelas. Meskipun demikian, saya belum dapat lagi merusak aplikasi pengujian -fix-clear-cache-dfg
. Mungkin seperti yang dikatakan @tuncaulubilge , perilakunya bergantung pada tekanan memori dan / atau faktor lain.
Menonaktifkan JIT sepenuhnya tampaknya menjadi opsi "bebas gangguan", saya belum melihat penurunan kinerja dengan opsi ini sehingga ini akan menjadi pilihan "aman".
@Kudo untuk mengklarifikasi, saya telah membandingkan Re-Native 0.58.6 (tanpa jsc kustom yang diinstal) vs 0.59.8 dengan @kudo-ci/jsc-android@241213-no-jit
.
Saya belum melakukan pengukuran apa pun tetapi peningkatan kinerja sangat terlihat. Saya berharap versi no jit
menjadi sedikit lebih lambat dari [email protected]
seperti yang Anda sebutkan, tetapi itu dapat diabaikan dalam perbandingan. Saya menyarankan untuk menggunakan versi no-jit
sebagai opsi default juga, karena peningkatan stabilitas jauh melebihi peningkatan kinerja kecil yang Anda dapatkan dari jit.
Kami menggunakan Expo v32 untuk membangun aplikasi kami dan kami melihat kesalahan ini di seluruh versi dan perangkat Android.
@ tido64 TTI tidak memiliki banyak perbedaan. Ukuran biner berkurang sekitar 1MB dari versi no_dfg. Memori berkurang sekitar 48%.
Saya sudah mengirim PR untuk menonaktifkan JIT secara total dan ada hasil pengukuran.
https://github.com/react-native-community/jsc-android-buildscripts/pull/108
@timhatch Senang mendengar perbaikan __clear_cache membantu sedikit.
Saya masih meragukan akar penyebabnya berasal dari big.LITTLE, tetapi saya belum menemukan kode JSC lain yang menyebabkan masalah.
Baik Samsung S5 dan S7 berukuran besar. LITTLE dan dua set CPU memiliki ukuran baris cache yang berbeda.
Itu mungkin alasan mengapa saya tidak dapat mereproduksi crash pada Samsung Note 5, karena dua ukuran baris cache set CPU keduanya 64B.
Tidak yakin apakah mungkin OS scheduler dan JSC untuk transisi antara CPU <-> LITTLE yang besar saat runtime.
Jika benar, masalahnya mungkin terjadi pada saat itu.
@tuncaulubilge Itu membuat saya penasaran.
Anda dapat memeriksa PR saya, versi no-jit lebih lambat dari stok RN058 JSC.
Itu juga yang saya rasakan selama pengukuran.
Mungkin tolok ukurnya adalah kasus ekstrim dan sangat tidak seperti aplikasi RN dulu.
BTW, saya memang melihat ukuran biner & ukuran memori berkurang dari versi no-jit.
Kedua manfaat dan bebas error ini lebih masuk akal bagi saya.
@RomanovYurii Saat kami menghapus filter ndk 64 bit "arm64-v8a", "x86_64" dari ndk abiFilters di blok defaultConfig build.gradle dengan hanya menyediakan dukungan 32 bit. Kerusakan telah hilang tetapi sesuai mandat dukungan 64 bit Google, hal ini perlu diperbaiki dengan dukungan ndk 64 bit.
@dishantwalia @Kudo dinonaktifkan JIT bekerja untuk saya pada 64 bit & tidak melihat masalah kinerja apa pun sejauh ini.
Inti ini bekerja untuk saya https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
Sayang,
Kami telah menerbitkan JSC no-JIT ke dalam jsc-android npm dan saya merevisi inti saya sebelumnya untuk menggunakan jsc-android@next
.
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
Semoga dapat memperbaiki semua masalah crash.
Jika tidak ada penurunan kinerja yang signifikan, kami akan mengusulkan versi no-JIT sebagai @ versi terbaru secara resmi dan mengirimkan PR untuk memilikinya di RN yang lebih baru.
Sayang,
Kami telah menerbitkan JSC no-JIT ke dalam jsc-android npm dan saya merevisi inti saya sebelumnya untuk menggunakan
jsc-android@next
.
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
Semoga dapat memperbaiki semua masalah crash.
Jika tidak ada penurunan kinerja yang signifikan, kami akan mengusulkan versi no-JIT sebagai @ versi terbaru secara resmi dan mengirimkan PR untuk memilikinya di RN yang lebih baru.
Terima kasih @Kudo disable-jit bekerja untuk kami seperti pesona !!!
Terima kasih @Kudo untuk semua kerja kerasnya! 241213.2.0 tampaknya telah menyelesaikan crash untuk kami. Sayangnya, dampak performanya cukup signifikan. Pada perangkat kelas bawah di beberapa layar kami yang lebih sibuk, kami telah melihat penurunan js fps sebesar 20-30%.
Saya juga dapat mengonfirmasi bahwa kerusakan telah hilang tetapi kami juga melihat kinerja yang cukup buruk di perangkat kelas bawah. Harus dikatakan ini sangat mengecewakan mengingat kami telah menunggu untuk meningkatkan ke RN58 / RN59 untuk JSC yang lebih modern.
@kudo skenario kasus terburuk jit seharusnya hanya dinonaktifkan untuk versi 64bit, hanya perangkat berkemampuan 64bit yang mogok
@yenda jika build itu menjadi perbaikan, alangkah baiknya memiliki opsi itu ya. Tidak yakin seberapa sulitnya. Mudah-mudahan itu tidak berarti mengirimkan dua versi JSC
@benoitdion @ItsNoHax Dapatkah Anda membuat daftar perangkat tertentu yang Anda amati kinerjanya buruk? Terima kasih!
Diuji pada Nexus 5 dan Samsung Tab E, antara lain.
Untuk setiap Googler yang mengupgrade proyek RN mereka ke 59.x, pastikan bahwa di android/app/build.gradle
-> android {defaultConfig {versionName}} tidak cocok dengan versi yang ditentukan react-native-code-push.
Saya berjuang sekitar tiga hari untuk masalah yang sama dan kemudian menemukan bahwa proyek React Native saya yang ditingkatkan di v59.3 telah diperbarui oleh code-push yang memiliki React Native v54.7
Ini tidak boleh terjadi pada 90% orang. Tapi untuk beberapa orang seperti saya, ini bisa menghemat waktu.
Setelah itu terima kasih kepada @Kudo. Memperbaiki masalah crash.
Huawei Honor 8X juga mengalami masalah ini
Saya juga dapat mengonfirmasi bahwa kerusakan telah hilang tetapi kami juga melihat kinerja yang cukup buruk di perangkat kelas bawah. Harus dikatakan ini sangat mengecewakan mengingat kami telah menunggu untuk meningkatkan ke RN58 / RN59 untuk JSC yang lebih modern.
Sama disini. RN lama di Android lambat dan rusak, RN baru cepat dan rusak dan dengan perbaikan ini RN baru stabil dan lambat. Sepertinya kita tidak bisa memiliki semuanya di Android. 🙈
Sayang,
Saya sangat menyesal bahwa kinerja bertindak buruk untuk versi no-JIT.
Dan maaf saya tidak punya solusi sekarang.
Sulit bagi saya untuk memecahkan masalah yang tidak dapat saya tiru ulang.
Semoga seseorang dari komunitas bisa membantu untuk menggali masalah tersebut.
JSC untuk RN adalah OSS di https://github.com/react-native-community/jsc-android-buildscripts.
Ini mendukung untuk mengaktifkan debug build dengan menghapus komentar baris di https://github.com/react-native-community/jsc-android-buildscripts/blob/master/scripts/start.sh#L10.
Memasang gdb atau lldb ke debug secara native, mungkin akan ada beberapa petunjuk.
Crash mungkin melanggar beberapa RELEASE_ASSERT di https://trac.webkit.org/browser/webkit/releases/WebKitGTK/webkit-2.22.6/Source/JavaScriptCore/jit/JITOperations.cpp#L1067 , tetapi tidak yakin bagaimana masalahnya ke negara bagian.
Terima kasih untuk semua pekerjaan Anda dalam hal ini dan jsc-android-buildscripts
@Kudo. Sungguh menakjubkan mengikuti kemajuan Anda! Adakah yang dapat kami (komunitas yang menonton masalah ini) dapat lakukan untuk membantu? Saya yakin @tuncaulubilge memiliki kasus repro yang sebagian besar stabil.
Mungkin tim internal facebook react-native memiliki ahli jsc?
Saya baru saja menghadapi masalah ini, hanya terjadi di REAL DEVICE, LENOVO A701a48, RUNNING ANDROID 6.
menghapus "arm64-v8a", "x86_64"
dari
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
berhasil menyelesaikannya tetapi merasa sedikit hack-y.
Semoga ada pembaruan dari tim RN segera :(
Sayang,
Ini mungkin percobaan terakhir saya - untuk menggunakan versi WebKit yang lebih baru.
@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
didasarkan pada WebKitGTK 2.24.2, dengan JIT dasar tetapi tidak ada DFG JIT.
Perubahan penting adalah WebKit yang lebih baru mengubah format bytecode JIT.
x86 JIT tidak didukung dan armeabi-v7a JIT dukungan dari komunitas (Terima kasih Igalia).
Karena crash hanya terjadi pada arm64, versi baru masih layak untuk dicoba.
Langkah-langkah mendetail untuk mengintegrasikan versi ini ada di https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17#file -steps_for_webkitgtk_2_24_2-md.
Perubahan penting adalah 241213 -> 245459
dari versi JSC sebelumnya dan pastikan untuk memiliki 245459.9000.0
di log adb.
Tolong bantu untuk memverifikasi JSC percobaan ini.
Semoga kita beruntung kali ini. 🤞
@benoitdion terima kasih atas dorongan Anda ❤️
@Kudo @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
berfungsi dengan baik!
Dapat mengonfirmasi bahwa kerusakan yang terjadi dengan RN v0.59, setelah menggunakan JSC di atas, telah menghilang. Diuji di Google Nexus 6, yang lainnya akan dikonfirmasi setelah diluncurkan.
Terima kasih!!
@Kudo Saya dapat mengonfirmasi @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
berfungsi untuk saya. Tidak ada kerusakan yang terjadi di Samsung Galaxy S7 SM-G930FD yang terjadi sebelumnya dengan RN v0.59 dan telah diperbaiki dengan no-jit
atau jsc-android v241213.2.0
.
Saya belum memiliki kesempatan untuk mengintegrasikan bangunan baru ini karena saya memiliki beberapa pencapaian proyek lain yang menghalangi tetapi berencana untuk melakukannya segera setelah ini selesai.
no-dfg
asli milik @Kudo memperbaiki 99% kerusakan yang telah saya lihat dan sementara saya dapat menstimulasi satu kerusakan, saya tidak dapat mengulanginya.
Saya yakin bahwa @tuncaulubilge dapat mereproduksi no-dfg
, jadi akan menarik untuk melihat apa yang dia buat dari build baru ini.
@rimzici @dishantwalia @timhatch Terima kasih atas bantuannya.
@tuncaulubilge Jika Anda memiliki waktu yang tersedia, dapatkah Anda membantu memverifikasi versi percobaan terbaru?
IIRC, hanya Anda dan @timhatch yang melaporkan kerusakan dari " 241213
-fix-clear-cache-no-dfg" terakhir kali.
Semoga kami bisa memperbaiki kerusakan dengan versi yang diperbarui.
Terima kasih.
@Kudo
Error when loading lib: dlopen failed: "/data/data/com.amiclient.qa/lib-main/librealmreact.so" is 32-bit instead of 64-bit lib hash: 28b81ed6ba5d3bb31c51509ac8150cd4 search path is /data/app/com.amiclient.qa-1/lib/arm64
Dapatkan masalah ini setelah mengintegrasikan @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
pada ZTE Blade, Samsung S8, OnePlus 6. Hanya di Motorola Z2 Android 7.1.1 mulai dibuat!
@Kudo
Error when loading lib: dlopen failed: "/data/data/com.amiclient.qa/lib-main/librealmreact.so" is 32-bit instead of 64-bit lib hash: 28b81ed6ba5d3bb31c51509ac8150cd4 search path is /data/app/com.amiclient.qa-1/lib/arm64
Dapatkan masalah ini setelah mengintegrasikan@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
pada ZTE Blade, Samsung S8, OnePlus 6. Hanya di Motorola Z2 Android 7.1.1 mulai dibuat!
Ini sepertinya terkait dengan realm
silakan periksa https://github.com/realm/realm-js/issues/2261#issuecomment -468691502
https://github.com/realm/realm-js/issues/2221
@Kudo Sekali lagi, terima kasih atas kerja
Kami mengalami crash terutama pada reactRootView.unmountReactApplication
, yang memicu pengumpulan sampah, yang terkadang menyebabkan crash. Anda mungkin dapat mereproduksinya dengan aplikasi sampel, membuat dan menghancurkan ReactRootViews.
@Kudo
Error when loading lib: dlopen failed: "/data/data/com.amiclient.qa/lib-main/librealmreact.so" is 32-bit instead of 64-bit lib hash: 28b81ed6ba5d3bb31c51509ac8150cd4 search path is /data/app/com.amiclient.qa-1/lib/arm64
Dapatkan masalah ini setelah mengintegrasikan@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
pada ZTE Blade, Samsung S8, OnePlus 6. Hanya di Motorola Z2 Android 7.1.1 mulai dibuat!Ini sepertinya terkait dengan
realm
silakan periksa realm / realm-js # 2261 (komentar)
realm / realm-js # 2221
Terima kasih banyak! Baru saja memperbarui ranah ke 2.28.
@Kudo terima kasih khusus. Aplikasi saya sudah berfungsi dengan benar!
@Kudo Saya telah membangun kembali versi dari aplikasi yang sebelumnya terpengaruh dengan konfigurasi build yang sama seperti pada pengujian sebelumnya tetapi menggunakan @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
.
Sejauh ini tidak ada crash atau hang - Saya akan melihat apakah saya dapat menekan aplikasi selama akhir pekan dan melaporkan kembali jika saya mengalami masalah.
@timhatch Terima kasih banyak dan luangkan waktu Anda selama akhir pekan.
Berhati-hati untuk mendengar kabar baik dari Anda lain kali.
Saya tidak bisa membangun dengan tambalan. Saya mendapatkan kesalahan berikut dari FBSDK:
`` ''
Tugas: react- native- fbsdk: compileReleaseJavaWithJavac GAGAL
/ Users / waltermonecke / Documents / Code / React-Native2 / moodPixel / node_modules / react-native-fbsdk / android / src / main / java / com / facebook / reactnative / androidsdk / FBAppEventsLoggerMod
ule. java: 209 : error: tidak dapat menemukan simbol
@ReactMethod (isBlockingSynchronousMethod = true)
^
simbol: metode isBlockingSynchronousMethod ()
lokasi: @interface ReactMethod
Catatan: Beberapa file masukan menggunakan atau mengganti API yang tidak digunakan lagi.
Catatan: Kompilasi ulang dengan - Xlint: deprecation for details.
Catatan: /Users/waltermonecke/Documents/Code/React-Native2/moodPixel/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java menggunakan operasi yang tidak dicentang atau tidak aman.
Catatan: Kompilasi ulang dengan - Xlint: tidak dicentang untuk detailnya.
1 kesalahan
KEGAGALAN: Build gagal dengan pengecualian.
`` ''
@wmonecke Masalahnya tampak aneh bagi saya. Saya tidak menyentuh kode java atau dependensi gradle di JSC AAR.
Bisakah Anda memeriksa masalahnya , atau menjelaskan secara singkat bagaimana Anda menerapkan tambalan?
Saya kira Anda tidak sengaja menggunakan dependensi RN lama dan
Anda dapat memverifikasi dengan ./gradlew :app:dependencies | grep 'com.facebook.react:react-native:'
(harap pastikan versi RN yang dikembalikan sesuai dengan yang Anda harapkan).
Saya tidak bisa membangun dengan tambalan. Saya mendapatkan kesalahan berikut dari FBSDK:
Task :react-native-fbsdk:compileReleaseJavaWithJavac FAILED /Users/waltermonecke/Documents/Code/React-Native2/moodPixel/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerMod ule.java:209: error: cannot find symbol @ReactMethod(isBlockingSynchronousMethod = true) ^ symbol: method isBlockingSynchronousMethod() location: <strong i="7">@interface</strong> ReactMethod Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: /Users/waltermonecke/Documents/Code/React-Native2/moodPixel/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error FAILURE: Build failed with an exception.
@wmonecke Anda harus menambahkan repositori maven (react-native dan kudo ci) maven untuk membuatnya dikompilasi
maven {
// Semua React Native (JS, sumber Obj-C, binari Android) diinstal dari npm
url "$ rootDir /../ node_modules / react-native / android"
}
maven {
// Repo Maven lokal yang berisi AAR dengan pustaka JSC yang dibuat untuk Android
url "$ rootDir /../ node_modules / @ kudo-ci / jsc-android / dist"
}
@Kudo Tidak ada masalah dengan @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
. Tidak ada aplikasi yang hang atau crash.
@Kudo Tidak ada masalah dengan
@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
. Tidak ada aplikasi yang hang atau crash.
@Kudo Silakan dorong perbaikan itu di jsc-android-buildscripts
dan terbitkan versi. Jadi kami dapat meluncurkan ini di aplikasi produksi kami https://github.com/react-native-community/jsc-android-buildscripts.
@timhatch Luar biasa! Terima kasih khusus untuk verfikasi Anda. Akan segera mendorong perubahan JSC ke RN.
@dishantwalia Ya, sedang berlangsung. Terima kasih.
Terima kasih @Kudo untuk semua pekerjaan Anda dalam hal ini. Dapatkah Anda (atau orang lain yang mengetahui apa yang sedang terjadi) tolong pandu saya ke arah yang benar untuk menerapkan perbaikan ini (saya menyadari ini sedang dalam proses).
Saya saat ini menggunakan RN 0,59,9. Dengan perubahan yang diluncurkan, akankah versi terbaru RN tersedia seperti 0.59.10 atau haruskah saya menginstal jsc-android-buildscripts
sebagai paket pihak ketiga, dan mengimplementasikan untuk 0.59x sesuai dokumentasi?
@Kudo Tidak ada masalah dengan versi terakhir Anda. Kerja bagus! 💪
Terima kasih @Kudo , saya memiliki pertanyaan yang sama @jacquesdev menanyakan 0.59.10 atau jsc-android-buildscripts
?
@Kudo @dishantwalia
Terima kasih! Saya hanya menyimpan:
maven {
// workaround for crash on 64 bit devices - remove once RN 59+ has resolved issue.
// issue: https://github.com/facebook/react-native/issues/24261
url "$rootDir/../node_modules/@kudo-ci/jsc-android/dist"
}
dengan build.gradle
@Kudo sayangnya masalahnya masih ada (Galaxy S7, Android7). Saya sudah mencoba @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
.
Saya juga mencoba versi no-JIT, yang tidak membantu. Saya tidak berhasil membuatnya sedemikian rupa sehingga versi "JavaScriptCore" dicetak di adb logcat menggunakan grep yang Anda berikan, saya juga tidak melihat penyebutan JavaScriptCore di log itu sendiri dengan melihat secara manual.
Saya dapat mereproduksi crash cukup sering. Itu tidak selalu crash di tempat yang sama.
Berikut adalah kesalahannya (245459-fix-clear-cache-no-dfg):
06-26 13:56:22.982 4374 4521 W google-breakpad: Chrome build fingerprint:
06-26 13:56:22.982 4374 4521 W google-breakpad: 3.0.70
06-26 13:56:22.982 4374 4521 W google-breakpad: 30070
06-26 13:56:22.982 4374 4521 W google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
06-26 13:56:22.984 4374 4521 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xafca in tid 4521 (mqt_js)
06-26 13:56:22.986 3075 3075 W : debuggerd: handling request: pid=4374 uid=10169 gid=10169 tid=4521
06-26 13:56:23.089 3769 5715 D SSRM:k : SIOP:: AP = 430, PST = 398 (W:6), CP = 318, CUR = -104, LCD = 99
06-26 13:56:23.154 4557 4557 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-26 13:56:23.156 4557 4557 F DEBUG : Build fingerprint: 'samsung/hero2ltexx/hero2lte:7.0/NRD90M/G935FXXU1ZPL3:user/release-keys'
06-26 13:56:23.156 4557 4557 F DEBUG : Revision: '8'
06-26 13:56:23.156 4557 4557 F DEBUG : ABI: 'arm64'
06-26 13:56:23.157 4557 4557 F DEBUG : pid: 4374, tid: 4521, name: mqt_js >>> com.myapp <<<
06-26 13:56:23.157 4557 4557 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xafca
06-26 13:56:23.157 4557 4557 F DEBUG : x0 000000000000a01a x1 0000000000000000 x2 00000079f6a30000 x3 0000007a05afe748
06-26 13:56:23.157 4557 4557 F DEBUG : x4 0000000000000000 x5 0000000000000010 x6 ffff000000000002 x7 0000000000009ab0
06-26 13:56:23.158 4557 4557 F DEBUG : x8 0000007a045acd6c x9 0000000000000002 x10 0000000000000001 x11 0000000000000000
06-26 13:56:23.158 4557 4557 F DEBUG : x12 0000000000000fff x13 00000079df7ed2b8 x14 00000079f6973890 x15 0000000000000001
06-26 13:56:23.158 4557 4557 F DEBUG : x16 00000079f6a59a30 x17 0000007a1ae56058 x18 000000000045b4fb x19 0000007a05afe7f0
06-26 13:56:23.158 4557 4557 F DEBUG : x20 0000007a05afe750 x21 00000079f6a3a6b8 x22 0000007a1ae4b000 x23 00000079f693cf50
06-26 13:56:23.158 4557 4557 F DEBUG : x24 0000000000000000 x25 00000079df415e10 x26 0000000000000001 x27 ffff000000000000
06-26 13:56:23.158 4557 4557 F DEBUG : x28 ffff000000000002 x29 0000007a05afe750 x30 0000007a045ac890
06-26 13:56:23.158 4557 4557 F DEBUG : sp 0000007a05afe640 pc 0000007a045a27e4 pstate 0000000040000000
06-26 13:56:23.173 4557 4557 F DEBUG :
06-26 13:56:23.173 4557 4557 F DEBUG : backtrace:
06-26 13:56:23.173 4557 4557 F DEBUG : #00 pc 00000000001647e4 /data/app/com.test.app-1/lib/arm64/libjsc.so
06-26 13:56:23.173 4557 4557 F DEBUG : #01 pc 000000000016e88c /data/app/com.test.app-1/lib/arm64/libjsc.so
06-26 13:56:23.173 4557 4557 F DEBUG : #02 pc 000000000016ebf0 /data/app/com.test.app-1/lib/arm64/libjsc.so
06-26 13:56:23.173 4557 4557 F DEBUG : #03 pc 000000000016ed8c /data/app/com.test.app-1/lib/arm64/libjsc.so
06-26 13:56:23.173 4557 4557 F DEBUG : #04 pc 0000000000005ecc <anonymous:00000079eb5f9000>
Backtrace tidak mengatakan sesuatu yang berarti.
Saya juga akan menyebutkan bahwa saya tidak memiliki Android7 resmi di Galaxy S7 saya karena tidak mungkin untuk menurunkan versi dari Android8 (tidak dapat menyebabkan masalah dengan Android8), jadi saya harus mencari rom khusus yang akan mendukung Android7.
Saya sedang menyelidiki untuk mencoba mengompilasi versi debug saya sendiri dari jsc-android menggunakan komit terakhir Anda pada jsc-android-buildscripts, tetapi ini akan memakan waktu cukup lama.
Saya yakin kami mengalami masalah yang sama.
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.groundspeak.react.adventures <<<
backtrace:
#00 pc 00000000007e048c /data/app/com.groundspeak.react.adventures-1/lib/arm64/libjsc.so
#01 pc 00000000000be650 /data/app/com.groundspeak.react.adventures-1/lib/arm64/libjsc.so
#02 pc 0000000000489f2c /data/app/com.groundspeak.react.adventures-1/lib/arm64/libjsc.so
#03 pc 000000000025fd98 <anonymous>
Menurut versi Android:
Versi | Nomor | Persen
- | - | -
Android 7.0 | 66 | 100,0%
Menurut Perangkat:
Perangkat | Nomor | Persen
- | - | -
hero2lte | 26 | 39,4%
herolte | 24 | 36,4%
heroltebmc | 16 | 24,2%
Saya juga mendapatkan Galaxy S7 crash setelah memperbarui RN dari 0,58,6 menjadi 0,59.9.
Versi npm saat ini dari jsc-android
masih membuat aplikasi macet, tetapi menggunakan @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
dan versi JSC 245459.9000.0
memperbaiki kemacetan untuk saya di S7.
@ChrisEelmaa Log "JavaScriptCore.Version" di adb logcat adalah cara mengonfirmasi untuk memilih versi JSC yang benar.
Karena RN 0.59 memiliki libjsc.so bawaan dan pickFirst '** / libjsc.so' menurut saya tidak dapat diandalkan.
Cara alternatif untuk mengonfirmasi versi JSC adalah dengan mengikuti langkah-langkah berikut:
Outputnya harus seperti ini:
$ strings jni/arm64-v8a/libjsc.so|grep -C 1 JavaScriptCore.Version
API Wrapper
JavaScriptCore.Version
245459.9000.0
@Kudo terima kasih atas perbaikan Anda, tampaknya mencegah neraka terjadi.
2 sen saya di sana: Saya tidak memiliki folder jni
tetapi sebagai gantinya lib
satu jadi gunakan perintah ini untuk memeriksa versi setelah membuka ritsleting:
$ strings lib/arm64-v8a/libjsc.so | grep -C 1 JavaScriptCore.Version
API Wrapper
JavaScriptCore.Version
245459.9000.0
Terima kasih @Kudo
Saya sebelumnya memiliki react-native 0.58.3, saya melihat orang-orang menyebutkan 0.59 sepanjang waktu, jadi saya memutuskan juga untuk mengupdate. Kombinasi memiliki 0.59.0 dan @ kudo-ci / jsc-android @ 245459-fix-clear-cache-no-dfg sepertinya berhasil bagi saya.
Saya tidak bisa lagi menghasilkan kecelakaan itu.
Adakah yang tahu jika perbaikan untuk masalah ini akan ada di rilis RN berikutnya?
Adakah yang tahu jika perbaikan untuk masalah ini akan ada di rilis RN berikutnya?
https://github.com/react-native-community/jsc-android-buildscripts#for -react-native-version-060-dan-lebih baru
@tokopedia
Hanya untuk mengonfirmasi langkah yang Anda ikuti.
Anda mengikuti petunjuk di sini, https://github.com/react-native-community/jsc-android-buildscripts#for -react-native-version-059
Tapi Anda menukar alih-alih menambahkan "jsc-android": "241213.x.x",
, Anda menambahkan @kudo-ci/jsc-android": "^245459.9000.0
ke package.json Anda? Apakah Anda membuat perubahan lain?
Misalnya saya melihat bahwa di build.grade, Anda harus menambahkan implementation "org.webkit:android-jsc:r241213"
, apakah baris itu juga harus diubah, dan jika ya, apa yang harus diubah?
Saya terus mendapatkan kesalahan pembuatan Could not find org.webkit:android-jsc:r241213.
atau Could not find org.webkit:android-jsc:r245459.9000.0.
Jadi saya menduga masalah saya menggunakan referensi yang salah di sana, tetapi tidak tahu apa yang seharusnya.
@jacquesdev ikuti langkah-langkah dalam panduan ini: https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17#file -steps_for_webkitgtk_2_24_2-md
Sayang,
Hanya untuk memperbaruinya dengan bantuan @kmagiera , tambalan saya telah diterbitkan sebagai ' [email protected] '.
Saya telah mengirim https://github.com/facebook/react-native/pull/25426 untuk memperbarui JSC menjadi RN.
Dan @kelset juga sudah masuk ke RN 0.60 RC.
Semoga kami akhirnya bisa memperbaiki dan menutup masalah ini.
Berteriak kepada orang-orang di sini terutama atas bantuan untuk memverifikasi versi percobaan saya bolak-balik.
Kami disebut komunitas RN!
Terima kasih @Kudo! Apakah Anda tahu apakah ini berpeluang membuat rilis 0.59.x, atau kemungkinan hanya di 0.60?
Sungguh luar biasa jika kita bisa mendapatkannya dalam 0.59.x
0,60 memiliki banyak perubahan yang merusak dengan AndroidX & libs eksternal.
+1 bagi kami, menjadikannya 0,59.x akan menyelesaikan banyak masalah bagi kami
aplikasi.
Tidak terlalu ingin menuju ke 0,60 karena dukungan Android X di
perpustakaan sejauh ini.
PickFirst untuk JSC tidak berfungsi untuk kita, harus menjadi salah satu lib asli kita
menyebabkan masalah tetapi tampaknya selalu memilih versi internal rn.
(Proyek bersih berhasil, jadi harus menjadi salah satu deps kami yang menyebabkannya)
Gereja
Pada Sab, 29 Jun 2019, 19:35 Anurag Dadheech, [email protected]
menulis:
Sungguh luar biasa jika kita bisa mendapatkannya dalam 0.59.x
0,60 memiliki banyak perubahan yang merusak dengan AndroidX & libs eksternal.-
Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/facebook/react-native/issues/24261?email_source=notifications&email_token=AABPHZ25TBIFBOI3QWMSPXLP46TN3A5CNFSM4HC77RA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY355CI#issuecomment-506977929 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AABPHZ2D5WUEM4S3242ZTYTP46TN3ANCNFSM4HC77RAQ
.
Hai, bisakah saya tahu di mana menambahkan "@ kudo-ci / jsc-android @ 245459-fix-clear-cache-no-dfg " ini?
Hai @Kudo, terima kasih atas pekerjaan Anda yang luar biasa!
Di WebKit lama tanpa DFG JIT, error masih terjadi tetapi WebKit 2.24.2 yang lebih baru tanpa DFG JIT tampaknya telah memperbaikinya. Saya bertanya-tanya apakah perlu mencoba WebKit baru ini dengan DFG JIT diaktifkan untuk memungkinkan kinerja setinggi mungkin jika berfungsi.
Saya setuju dengan beberapa komentar sebelum akan lebih baik memiliki 0.59.10 dengan perbaikan ini karena akan lebih sulit untuk meningkatkan ke 0.60 @Kudo @kelset @grabbou @trye
Punya masalah yang sama di sini,
Kami tidak dapat meningkatkan ke 0,60 karena react-native-maps belum mendukung AndroidX, tidak dapat mendorong pembaruan kami ke 0,59.X karena S7 & S7 plus macet.
Ini benar-benar masalah bagi bisnis yang bergantung pada react-native
Apakah ada solusi untuk ini?
Saya setuju dengan @adnkh , kami tidak dapat meningkatkan ke AndroidX sekarang, tetapi kami harus menyelesaikan 0,59 kerusakan.
Anda tidak perlu meningkatkan ke 0.60 untuk menggunakan perbaikan. Anda harus dapat mengikuti petunjuk di https://github.com/react-native-community/jsc-android-buildscripts/#for -react-native-version-059. Versi yang ingin Anda pasang adalah 245459.0.0
atau lebih tinggi.
Halo @beno .
Ya, dimungkinkan untuk mengkonsumsi meskipun tidak ada di perpustakaan utama, pada kenyataannya, saya mengikuti petunjuk ini https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17 . dan itu berhasil
Tetapi saya tidak berpikir ini adalah solusi permanen dan rapi karena banyak hal yang perlu Anda tambahkan ke proyek Android Anda, saya pikir perbaikan terbaru di RN utama akan lebih nyaman dari sudut pandang pengembang dan menyelesaikan banyak masalah mogok di aplikasi Android
Anda tidak perlu meningkatkan ke 0.60 untuk menggunakan perbaikan. Anda harus dapat mengikuti petunjuk di https://github.com/react-native-community/jsc-android-buildscripts/#for -react-native-version-059. Versi yang ingin Anda instal adalah 245459.0.0 atau lebih tinggi.
@benoitdion ya, tetapi ini adalah solusi, perbaikan resmi yang diterbitkan sebagai 0.59.10 akan lebih baik.
Terima kasih @Kudo
Gunakan @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
mengurangi sebagian besar kerusakan
Namun masih ada beberapa crash dalam produksi
xiaomi MIX 3 XiaoMi / MIUI Android 9, level 28 arm64-v8a
1 #00 pc 00000000000f7748 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::AccessCase::propagateTransitions(JSC::SlotVisitor&) const+16) [arm64-v8a]
2 #01 pc 0000000000143fe8 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::PolymorphicAccess::propagateTransitions(JSC::SlotVisitor&) const+48) [arm64-v8a]
3 #02 pc 000000000012f0a8 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::CodeBlock::propagateTransitions(JSC::ConcurrentJSLocker const&, JSC::SlotVisitor&)+556) [arm64-v8a]
4 #03 pc 0000000000139484 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::ExecutableToCodeBlockEdge::runConstraint(JSC::ConcurrentJSLocker const&, JSC::VM&, JSC::SlotVisitor&)+40) [arm64-v8a]
5 #04 pc 000000000013900c /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::ExecutableToCodeBlockEdge::visitChildren(JSC::JSCell*, JSC::SlotVisitor&)+1044) [arm64-v8a]
6 #05 pc 00000000001fb9c4 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (_ZZN3JSC11SlotVisitor5drainEN3WTF13MonotonicTimeEENK3$_3clERNS_14MarkStackArrayE+324) [arm64-v8a]
7 #06 pc 00000000001f8e90 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::SlotVisitor::drain(WTF::MonotonicTime)+132) [arm64-v8a]
8 #07 pc 00000000001f96bc /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode, WTF::MonotonicTime)+580) [arm64-v8a]
9 #08 pc 00000000001e41a0 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (_ZN3WTF17SharedTaskFunctorIFvvEZN3JSC4Heap13runBeginPhaseENS2_11GCConductorEE4$_17E3runEv+580) [arm64-v8a]
10 #09 pc 00000000006171ec /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask<void ()>, WTF::DumbPtrTraits<WTF::SharedTask<void ()> > > const&)+40) [arm64-v8a]
11 #10 pc 0000000000617950 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (WTF::ParallelHelperPool::Thread::work()+16) [arm64-v8a]
12 #11 pc 000000000060de7c /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (_ZN3WTF8FunctionIFvvEE15CallableWrapperIZNS_15AutomaticThread5startERKNS_14AbstractLockerEE3$_0E4callEv+376) [arm64-v8a]
13 #12 pc 000000000061b084 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)+212) [arm64-v8a]
14 #13 pc 0000000000646dc8 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (WTF::wtfThreadEntryPoint(void*)+4) [arm64-v8a]
15 #14 pc 0000000000081dac /system/lib64/libc.so (__pthread_start(void*)+36) [arm64-v8a]
16 #15 pc 0000000000023788 /system/lib64/libc.so (__start_thread+68) [arm64-v8a]
OPPO R9S Oppo / COLOROS Android 6.0.1, level 23 arm64-v8a
1 #00 pc 00000000000f7748 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::AccessCase::propagateTransitions(JSC::SlotVisitor&) const+16) [arm64-v8a]
2 #01 pc 0000000000143fe8 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::PolymorphicAccess::propagateTransitions(JSC::SlotVisitor&) const+48) [arm64-v8a]
3 #02 pc 000000000012f0a8 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::CodeBlock::propagateTransitions(JSC::ConcurrentJSLocker const&, JSC::SlotVisitor&)+556) [arm64-v8a]
4 #03 pc 0000000000139484 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::ExecutableToCodeBlockEdge::runConstraint(JSC::ConcurrentJSLocker const&, JSC::VM&, JSC::SlotVisitor&)+40) [arm64-v8a]
5 #04 pc 000000000013900c /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::ExecutableToCodeBlockEdge::visitChildren(JSC::JSCell*, JSC::SlotVisitor&)+1044) [arm64-v8a]
6 #05 pc 00000000001fb9c4 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (_ZZN3JSC11SlotVisitor5drainEN3WTF13MonotonicTimeEENK3$_3clERNS_14MarkStackArrayE+324) [arm64-v8a]
7 #06 pc 00000000001f8e90 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::SlotVisitor::drain(WTF::MonotonicTime)+132) [arm64-v8a]
8 #07 pc 00000000001f96bc /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode, WTF::MonotonicTime)+580) [arm64-v8a]
9 #08 pc 00000000001e41a0 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (_ZN3WTF17SharedTaskFunctorIFvvEZN3JSC4Heap13runBeginPhaseENS2_11GCConductorEE4$_17E3runEv+580) [arm64-v8a]
10 #09 pc 00000000006171ec /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask<void ()>, WTF::DumbPtrTraits<WTF::SharedTask<void ()> > > const&)+40) [arm64-v8a]
11 #10 pc 0000000000617950 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (WTF::ParallelHelperPool::Thread::work()+16) [arm64-v8a]
12 #11 pc 000000000060de7c /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (_ZN3WTF8FunctionIFvvEE15CallableWrapperIZNS_15AutomaticThread5startERKNS_14AbstractLockerEE3$_0E4callEv+376) [arm64-v8a]
13 #12 pc 000000000061b084 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)+212) [arm64-v8a]
14 #13 pc 0000000000646dc8 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (WTF::wtfThreadEntryPoint(void*)+4) [arm64-v8a]
15 #14 pc 00000000000664a4 /system/lib64/libc.so (__pthread_start(void*)+52) [arm64-v8a]
16 #15 pc 000000000001ebc4 /system/lib64/libc.so (__start_thread+16) [arm64-v8a]
RMX1901 Oppo / COLOROS Android 9, level 28 arm64-v8a
1 #00 pc 0000007772fbb2c0 <unknown>
2 #01 pc 00000000005519bc /data/app/com.gezbox.windmessage-vCMpnEKA509f1Di2EyrZ2w==/lib/arm64/libjsc.so (JSC::RegExp::match(JSC::VM&, WTF::String const&, unsigned int, WTF::Vector<int, 0ul, WTF::CrashOnOverflow, 16ul>&)+500) [arm64-v8a]
3 #02 pc 00000000005722e8 /data/app/com.gezbox.windmessage-vCMpnEKA509f1Di2EyrZ2w==/lib/arm64/libjsc.so (JSC::stringProtoFuncReplaceUsingRegExp(JSC::ExecState*)+3072) [arm64-v8a]
4 #03 pc 0000007772dff1ec <unknown>
👋 semuanya.
Kami mendengarkan Anda semua, dan karena masalah yang begitu banyak dari Anda alami, kami melakukan rilis patch 0.59.10 terakhir untuk memberi Anda versi baru JSC.
Terima kasih banyak kepada @Kudo untuk pekerjaannya dalam mem-porting ini ke 0,59.
Kami tidak akan melakukan rilis 0,59 lainnya di masa mendatang, karena ini adalah pekerjaan yang menantang dan bahkan lebih sulit karena kami juga mengerjakan 0,60 (yang akan memiliki JSC baru juga!).
Saya akan menutup ini karena masalah inti utama telah ditangani, tetapi saya menyarankan untuk membuka yang baru untuk kerusakan lain yang mungkin Anda alami setelah 0.59.10.
Berita bagus !!
Terima kasih semuanya, terutama @kudo !!
Pada Sel, 2 Jul 2019, 12:29 Lorenzo Sciandra, [email protected]
menulis:
👋 semuanya.
Kami mendengarkan Anda semua, dan karena masalah yang dihadapi begitu banyak dari Anda, kami
melakukan satu rilis patch 0.59.10 terakhir untuk memberi Anda versi baru
JSC.Terima kasih banyak kepada @Kudo https://github.com/Kudo untuk karyanya
mem-porting ini ke 0,59.Kami tidak akan membuat rilis 0,59 baru, karena ini adalah pekerjaan yang menantang dan bahkan
lebih keras karena kami juga sedang mengerjakan 0,60 (yang akan memiliki JSC baru
terlalu!).Saya akan menutup ini karena masalah inti utama telah ditangani, tetapi saya akan
sarankan untuk membuka yang baru untuk kerusakan lain yang mungkin Anda alami
setelah 0.59.10.-
Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/facebook/react-native/issues/24261?email_source=notifications&email_token=AABPHZZG2Z764HFNPJB7UVTP5M325A5CNFSM4HC77RA2YY3PNVWWK3TNUL52HS4DFVREXG43VLLO355S4DFVREXG43VMVB6S4DFVREXG43VMVB6S4
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AABPHZ5PYT4F7ZZGQXZKKKLP5M325ANCNFSM4HC77RAQ
.
Terima kasih banyak atas perbaikannya! Setelah memutakhirkan react-native ke versi 0.59.10
, apakah saya masih perlu menerapkan langkah-langkah yang disebutkan di sini ?
Kevin,
Setelah memutakhirkan ke RN 0.59.10 Anda tidak perlu mengikuti inti apa pun
instruksi lagi.
K
Pada Rabu, 3 Juli 2019, 15:42 Kevin Etore, [email protected] menulis:
Terima kasih banyak atas perbaikannya! Setelah meningkatkan react-native ke versi 0.59.10,
apakah saya masih perlu menerapkan langkah-langkah yang disebutkan di sini
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17 ?-
Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/facebook/react-native/issues/24261?email_source=notifications&email_token=AABPHZ6H66HMI6CFMXMR4Y3P5S3DVA5CNFSM4HC77RA2YY3PNVWWK3TULMVD152HS4DFVREXG43VMVBVW2HS4DFVREXG43VMVBW5S4DFVREXG43VMVBW5S3
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AABPHZ6UMO5NS4F4OZ7RWPTP5S3DVANCNFSM4HC77RAQ
.
Aplikasi saya masih mogok di Meizu M5s M612H Android OS 6 dengan RN-0.59.10. Saya telah membuat terbitan baru seperti yang disarankan @kelset .
Masih mogok di Caterpillar S41 (Android 8.0). Perbaikan menyelesaikan masalah di semua perangkat lain. Juga menciptakan masalah baru . Beri tahu saya jika ini bukan cara yang tepat untuk melakukannya.
Hai kawan
Aplikasi saya juga macet di beberapa perangkat android saat dikompilasi dalam 64bits
Apakah Anda menggunakan paket react-native-elements versi 1.1.0 ??
Karena Header komponen merusak aplikasi saya dan juga komponen Avatar ketika saya meletakkan ikon atau judul prop
Bisakah orang lain memeriksa apakah hal yang sama terjadi pada mereka?
apakah pemilik s7 memiliki kesempatan untuk menguji masalah ini dengan Hermes?
jika saya menggunakan aplikasi di bawah ini crash dan diterima oleh google play store
ndk {abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"}
jika saya menggunakan aplikasi di bawah ini berfungsi tetapi tidak diterima oleh google play store
ndk {abiFilters "armeabi-v7a", "x86"}
tolong ada yang membantu saya memecahkan
Masih macet di Moto G7 dan Pixel 2 (keduanya Android 9.0) dengan APK 64 bit arm. Ini berfungsi dengan baik dengan APK lengan 32 bit.
@ afras21 - ini karena bug tersebut ada di versi 64 bit, yang diwajibkan oleh Google Play Store.
@jacquesdev Terima kasih jacq, sekarang mereka menghapus wajib dan sekarang bekerja
@ afras21 maksud Anda google telah mencabut pembatasan 64bit dari playstore?
Saya memiliki masalah yang sama. Jika saya memperbarui proyek saya dari 0.59.9 menjadi 0.60.4, apakah saya harus memperbaiki masalahnya?
Saya memiliki masalah yang sama. Saya saat ini menggunakan 0.59.9. Jika saya meningkatkan ke 0.60.x, apakah masalah akan teratasi?
Harap coba dulu jika 0.59.10 memang menyelesaikan masalah untuk Anda.
Jika tidak, mungkin ada baiknya untuk meningkatkan RN 0.60.4 dan menyalakan Hermes sebagai gantinya.
Mengulangi apa yang Kudo katakan, hanya lebih memberikan konteks dan meringkas konten sebelumnya dari masalah ini (karena mungkin sulit untuk memilah-milah begitu banyak komentar pada saat ini):
Jika Anda memiliki 0.59.9 atau lebih rendah, ini adalah masalah yang diverifikasi dengan JSC lama. Ini menjadi subjek dari ratusan komentar di atas (dan dalam masalah lain). Masalahnya tidak eksklusif untuk 64-bit, tetapi paling sering terjadi pada 64-bit.
0.60+ memiliki berbagai perubahan yang dapat merusak, terutama di Android.
Jika Anda tidak ingin melakukannya, coba 0.59.10 karena perbaikan (seperti dijelaskan di atas) terintegrasi langsung dalam versi / build — dan tampaknya memperbaiki masalah untuk sebagian besar kasus.
Masih ada kasus di mana ada masalah untuk telepon tertentu (yang saya temui juga), lihat # 25494 — jika Anda mengalami ini, saya sarankan untuk memposting stacktraces Anda ke masalah terbuka tersebut di sana. Namun, jika Anda mengatakan Anda memiliki 0.59.9, Anda dapat _mungkin_ memperbaiki masalah Anda dengan membuka 0.59.10.
@MalcolmScruggs @ntorion @ harryt2
Sudahkah Anda menyelesaikannya? Bagaimana mengatasi? Terima kasih
0.59.10 tidak menyelesaikannya untuk saya. Saya akan mencoba melakukan peningkatan 0.60.x.
@MalcolmScruggs @ntorion @ harryt2
Sudahkah Anda menyelesaikannya? Bagaimana mengatasi? Terima kasih
0.59.10 juga tidak menyelesaikannya untuk saya. Saya tidak dapat mengupgrade ke 0.60.x karena beberapa dependensi saya tidak berfungsi. Berhasil dikompilasi di Hermes tetapi melihat lonjakan besar dalam ANR (Alhamdulillah untuk peluncuran bertahap). Masih duduk di Play Store dengan RN versi 0.57.8 tetapi saya tidak dapat memperbarui aplikasi saya lagi karena persyaratan 64 bit. Cukup frustrasi dan mencoba memutuskan apakah akan membangun kembali seluruh aplikasi dengan kerangka kerja lain.
@ harryt2 @rogererse Terima kasih.
Situasi saya bahkan lebih buruk. Versi rilis memiliki bug, jadi saya harus mengupgrade 64 aplikasi. Saya tidak bisa menyelesaikan masalah ini saat ini. Saya juga mencoba mengepakkan sayap, tetapi tidak secepat penggantian lengkap.
Saya benar-benar mengalami kesulitan untuk menabrak React-Native ke 0.60.5 dan mengaktifkan Hermes + 64-bit (yang menyebalkan, karena selalu mengupgrade react-native) dan saya masih mengalami masalah ini di beberapa ponsel Android (termasuk HUAWEI MYA-L41).
Saya telah mencoba hampir semua yang saya temukan di utas lain tanpa banyak keberuntungan, jadi saya dapat memberi tahu Anda menabrak react-native dan menggunakan Hermes tidak memperbaiki semua masalah ini.
React-native + Hermes dan 64-bit yang diperbarui luar biasa di perangkat Android lain tempat saya menjalankannya dan aplikasi kami tidak pernah terasa lebih mulus.
Namun, setiap kali saya menguji pada perangkat tertentu yang saya sebutkan (Huawei) itu macet seketika atau setelah aplikasi terbuka selama 1-2 detik tanpa pesan kerusakan tertentu, saya tidak memiliki perangkat lain selain yang satu itu dan Huawei yang lebih baru ( yang berfungsi dengan sempurna) jadi saya tidak dapat memberikan info selengkapnya tentang ponsel lain.
Jika ada yang telah membuat kemajuan dengan masalah ini atau memiliki ide untuk lebih spesifik mencatat masalah saya, saran selalu diterima dan saya bersedia untuk berbagi informasi apapun mengenai masalah ini.
Terima kasih kepada orang-orang di utas ini untuk menawarkan solusi, tetapi sejauh ini tidak berhasil. 🙂
@YoranRoels Sudahkah Anda mencoba menjalankan aplikasi bersih yang dibuat oleh react-native init? Saya bertanya-tanya apakah crash itu disebabkan oleh RN itu sendiri atau beberapa pustaka atau kode yang Anda tulis.
@armenbadalyan Terima kasih atas tanggapan yang cepat.
Saya baru saja menyiapkan proyek baru dan mencoba menjalankannya di perangkat dan semuanya tampak baik-baik saja, jadi pada akhirnya sepertinya ada sesuatu dengan pengaturan saya. Apakah ada cara yang efisien untuk men-debug ini karena logcat saya tidak mengeluarkan sesuatu yang berguna selain com.<our_app_id>
telah dimatikan?
React Native 59.10 juga tidak menyelesaikannya untuk kita. Aplikasi masih mogok saat peluncuran pertama.
@GreanBeetle Lihat https://github.com/facebook/react-native/issues/25494. 0.59.10, sayangnya, diketahui saat ini untuk tidak memperbaiki masalah ini di semua kasus.
Jalur paling mutakhir adalah dengan menggunakan (seperti di utas ini), 0,60+, dan Hermes.
@YoranRoels Dapatkan batu nisan dari perangkat. Lihat: https://github.com/facebook/react-native/issues/24261#issuecomment -490239902
@GreanBeetle Anda dapat menggunakan mesin V8 di 0.59.10 untuk mengatasi masalah ini
https://github.com/Kudo/react-native-v8
Terima kasih @ j-wang. @manuhook akan mencoba solusi Anda.
@GreanBeetle Anda dapat menggunakan mesin V8 di 0.59.10 untuk mengatasi masalah ini
https://github.com/Kudo/react-native-v8
Dapat mengonfirmasi bahwa ini menyelesaikan masalah bagi kami. Versi 64 bit dengan react-native-v8
pada 0.59.10
tidak lagi mogok dan akhirnya kami dapat mendorong pembaruan lagi di Google Play. Terima kasih!
Saya mencoba penebangan batu nisan @ j-wang yang disebutkan tetapi saya tidak pernah benar-benar menggunakannya dan itu adalah file yang sangat besar yang sulit dibaca, setelah mencari beberapa saat saya sepertinya tidak benar-benar menemukan akar penyebab yang dapat dibaca.
Setelah mengikuti saran dari @armenbadalyan , saya mulai bertanya-tanya apakah itu bukan sesuatu yang konyol pada awal aplikasi kita dan cukup yakin saat menghapus UI komponen pertama, saya perhatikan bahwa aplikasi tersebut berjalan kembali, stabil. Jadi setelah lebih banyak menggali, saya melihat bahwa komponen tertentu diberi masalah di mana Gambar dirender.
Dalam komponen itu ada kemungkinan kita melewatkan null
sebagai variabel source
pada react-native
Image
. Butuh beberapa saat bagi saya untuk mencari ini kesalahan yang tidak jelas tetapi ini akhirnya memperbaiki semuanya untuk saya dan itu berjalan di semua perangkat uji kami. Masih tidak ada petunjuk mengapa itu tidak gagal di perangkat uji kami yang lain ...
Dapat membantu orang lain untuk menyederhanakan komponen pertama aplikasi mereka untuk memastikan tidak ada yang mogok pada kode itu.
TL; DR : Ini mungkin benar-benar di luar topik sekarang, tetapi kepada siapa yang berkepentingan: JANGAN GUNAKAN null
SEBAGAI source
VARIABEL DARI Image
, tidak ' t berfungsi di semua perangkat. 😅
@ harryt2 ya, saya juga. Saya mendapat lonjakan besar dalam ANR setelah meningkatkan ke RN 0,60 +
Sedikit bantuan untuk mereka yang masih mencoba mengatasi kerusakan startup:
adb logcat
di konsolItu tidak menyelesaikan masalah tetapi membiarkan Anda menemukan sesuatu yang lebih. Saya memiliki 2 aplikasi, satu bekerja dengan baik dengan 64 bit, masih kesulitan pada yang lain meskipun memiliki konfigurasi yang sama. Perangkat saya yang mogok adalah One Plus 5t (64 bit)
Saya baru saja melihat ini di rilis baru Aplikasi kami, dibuat dengan RN 59.10, khususnya pada Samsung Galaxy Note9 di Android 9. Adakah orang lain yang melihat masalah serupa?
@msspshaw Seperti disebutkan di atas dan di edisi lainnya, ya. JSC baru macet / mogok secara acak pada perangkat Android tertentu karena sampah dikumpulkan secara non-deterministik — lalu seluruh aplikasi mogok.
Solusinya adalah dengan meningkatkan ke 0.60+ dan menggunakan Hermes, atau mengganti JSC untuk v8.
Saya mencoba penebangan batu nisan @ j-wang yang disebutkan tetapi saya tidak pernah benar-benar menggunakannya dan itu adalah file yang sangat besar yang sulit dibaca, setelah mencari beberapa saat saya sepertinya tidak benar-benar menemukan akar penyebab yang dapat dibaca.
Setelah mengikuti saran dari @armenbadalyan , saya mulai bertanya-tanya apakah itu bukan sesuatu yang konyol pada awal aplikasi kita dan cukup yakin saat menghapus UI komponen pertama, saya perhatikan bahwa aplikasi tersebut berjalan kembali, stabil. Jadi setelah lebih banyak menggali, saya melihat bahwa komponen tertentu diberi masalah di mana Gambar dirender.
Dalam komponen itu ada kemungkinan kita melewatkan
null
sebagai variabelsource
padareact-native
Image
. Butuh beberapa saat bagi saya untuk mencari ini kesalahan yang tidak jelas tetapi ini akhirnya memperbaiki semuanya untuk saya dan itu berjalan di semua perangkat uji kami. Masih tidak ada petunjuk mengapa itu tidak gagal di perangkat uji kami yang lain ...Dapat membantu orang lain untuk menyederhanakan komponen pertama aplikasi mereka untuk memastikan tidak ada yang mogok pada kode itu.
TL; DR : Ini mungkin benar-benar di luar topik sekarang, tetapi kepada siapa yang berkepentingan: JANGAN GUNAKAN
null
SEBAGAIsource
VARIABEL DARIImage
, tidak ' t berfungsi di semua perangkat. 😅
+1 Bekerja untuk saya. Saya memiliki masalah yang sama. Terima kasih!
Juga lihat itu terjadi pada Samsung Galaxy S7 IO-IL 086 di Android 7.0 RN 0.59.10
@BracketMan Apakah Anda menggunakan V8, bukan JSC?
@EmilScherdin ahhh tidak, saya tidak. Akan mencobanya dan melaporkan kembali terima kasih.
@EmilScherdin Saya dapat mengonfirmasi bahwa menjalankan V8 pada RN 0.59.10 berfungsi untuk saya, tidak ada lagi crash.
Terima kasih!
Kami mengalami masalah yang sama di RN 0.59.10 dengan v8. Saya melihat bahwa JIT tidak dinonaktifkan untuk arm64-v8a dan pada perangkat dengan arsitektur ini kami mengalami crash.
@mmamoyco Apakah Anda memiliki stacktrace crash dari V8?
@Kudo Ya, saya memiliki log kecelakaan. Kami telah beralih ke v8 dari jsc karena kami mengalami banyak kerusakan. Tetapi hal yang sama terjadi menggunakan v8. di bawah ini adalah log
# 01 pc 0000000000c3437c /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so
# 02 pc 0000000000c30554 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so
# 03 pc 0000000000c33070 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so
# 04 pc 0000000000bf2e94 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so (v8 :: internal :: ItemParallelJob :: Task :: RunInternal () + 24)
# 05 pc 0000000000a4d660 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so (v8 :: platform :: DefaultWorkerThreadsTaskRunner :: WorkerThread :: Run () + 56)
# 06 pc 0000000000a4a074 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so
# 07 buah 0000000000067ec4 /system/lib64/libc.so (__pthread_start (void *) + 36)
# 08 pc 000000000001f2f4 /system/lib64/libc.so (__start_thread + 68)
⛄️ Petunjuk ini tidak sama dengan di jsc-android README . Kami telah mengubah nomor versi dan beberapa penanda. Versi
canary
darijsc
tidak memperbaiki masalah. Ini adalah versi setelah jsc-android @ canary yang diperlukan, lihat: Patch ini untuk perbaikan asli yang digabungkan ke dalam repo react-native. Terima kasih kepada @ ravali121 untuk membantu menyelesaikan ini.
jsc-android
ke bagian "ketergantungan" di package.json
:dependencies {
...
+ "jsc-android": "^245459.0.0",
...
}
kemudian jalankan npm install
atau yarn
(tergantung klien npm mana yang Anda gunakan) agar ketergantungan baru diinstal di node_modules
android/build.gradle
file untuk menambahkan repositori maven lokal baru yang dikemas dalam paket jsc-android
ke jalur pencarian:allprojects {
repositories {
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
+ maven {
+ // Local Maven repo containing AARs with JSC library built for Android
+ url "$rootDir/../node_modules/jsc-android/dist"
+ }
}
}
build.gradle
aplikasi Anda yang terletak di android/app/build.gradle
untuk menambahkan ketergantungan JSC. Harap pastikan ketergantungannya sebelum ketergantungan React Native.
dependencies {
+ // Make sure to put android-jsc at the top
+ implementation 'org.webkit:android-jsc:+'
compile fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
}
build.gradle
aplikasi Anda yang terletak di android/app/build.gradle
untuk menggunakan pustaka JSC pertama yang cocok.android {
// ...
+ packagingOptions {
+ pickFirst '**/armeabi-v7a/libc++_shared.so'
+ pickFirst '**/x86/libc++_shared.so'
+ pickFirst '**/x86_64/libc++_shared.so'
+ pickFirst '**/arm64-v8a/libc++_shared.so'
+ pickFirst '**/libjsc.so'
+ }
}
ada yang bisa membantu menjawab pertanyaan ini?
https://github.com/react-native-community/jsc-android-buildscripts/issues/127
JANGAN GUNAKAN
null
SEBAGAIsource
VARIABEL DARIImage
, ini tidak berfungsi pada semua perangkat. 😅
Saya benci hanya mengutip Anda tetapi saya hampir melewatkan solusi Anda dalam kebisingan utas ini. Terima kasih banyak @YoranRoels !! Ini menyelamatkan hari itu!
Saya menemukan situs web pengujian mesin nyata Online , Di sana saya memilih GALAXY S7 Edge dan android 7.0 os, Sayangnya tidak terjadi crash, dan saya mencoba menggunakan metode @YoranRoels set source
variabel Image
menjadi {null}
dan {{ uri: null }}
tetapi masih belum crash, Mengerikan saya bahkan tidak tahu bagaimana hal itu terjadi, Adakah yang bisa membantu saya.
Kami mengalami masalah persis ini di 0.59.1 dan dapat memperbaikinya dengan melakukan hal berikut:
⛄️ Petunjuk ini tidak sama dengan di jsc-android README . Kami telah mengubah nomor versi dan beberapa penanda. Versi
canary
darijsc
tidak memperbaiki masalah. Ini adalah versi setelah jsc-android @ canary yang diperlukan, lihat: Patch ini untuk perbaikan asli yang digabungkan ke dalam repo react-native. Terima kasih kepada @ ravali121 untuk membantu menyelesaikan ini.
- Tambahkan
jsc-android
ke bagian "ketergantungan" dipackage.json
:dependencies { ... + "jsc-android": "^245459.0.0", ... }
kemudian jalankan
npm install
atauyarn
(tergantung klien npm mana yang Anda gunakan) agar ketergantungan baru diinstal dinode_modules
- Ubah
android/build.gradle
file untuk menambahkan repositori maven lokal baru yang dikemas dalam paketjsc-android
ke jalur pencarian:allprojects { repositories { mavenLocal() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" } + maven { + // Local Maven repo containing AARs with JSC library built for Android + url "$rootDir/../node_modules/jsc-android/dist" + } } }
- Perbarui file
build.gradle
aplikasi Anda yang terletak diandroid/app/build.gradle
untuk menambahkan ketergantungan JSC. Harap pastikan ketergantungannya sebelum ketergantungan React Native.dependencies { + // Make sure to put android-jsc at the top + implementation 'org.webkit:android-jsc:+' compile fileTree(dir: "libs", include: ["*.jar"]) implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation "com.facebook.react:react-native:+" // From node_modules }
- Perbarui file
build.gradle
aplikasi Anda yang terletak diandroid/app/build.gradle
untuk menggunakan pustaka JSC pertama yang cocok.android { // ... + packagingOptions { + pickFirst '**/armeabi-v7a/libc++_shared.so' + pickFirst '**/x86/libc++_shared.so' + pickFirst '**/x86_64/libc++_shared.so' + pickFirst '**/arm64-v8a/libc++_shared.so' + pickFirst '**/libjsc.so' + } }
Anda adalah penyelamat hidup! ❤️ Saya telah mencari jawaban Anda selama tiga hari untuk menempelkan kode itu dan untuk mengubah versi jsc-android persis seperti yang Anda sebutkan. Dan sekarang berhasil! Terjadi kesalahan saat saya meningkatkan versi RN dari 0,59 menjadi 0,60. Aplikasi rusak hanya untuk android, ios baik-baik saja. Hal yang paling aneh adalah aplikasi tersebut berhasil dikompilasi sehingga semuanya tampak hebat, tetapi ketika diluncurkan, aplikasi itu langsung mogok.
Komentar yang paling membantu
@hramos @mkonicek Sampai sekarang kami dapat menyimpulkan bahwa ini tampaknya menjadi masalah dengan rilis terbaru RN 0.59, yang mempengaruhi build android yang berjalan pada
Samsung S7
,S7 Edge
setelah kami memberikan dukungan untukarm64-v8a
,x86_64
, menghapusnya daribuild.gradle
tidak merusak aplikasi, yang berpotensi mempengaruhi aplikasi yang akan ditayangkan setelah1 August 2019
sesuai dengan kebijakan dukungan 64 bit Google Play. Kami ingin kalian menarik perhatiannya, tolong?