React-native: App Crash di Android OS 6 Samsung Galaxy S7 SM-G930FD (JSC Crash) 64 bit support A / libc: Fatal signal 11 (SIGSEGV)

Dibuat pada 2 Apr 2019  ·  190Komentar  ·  Sumber: facebook/react-native

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" }

Bug Android Ran Commands Locked

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 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?

Semua 190 komentar


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 referensiScreenshot 2019-04-03 at 5 38 07 PM

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:

  1. ~ Perbaikan untuk menghapus dukungan 64-bit berhasil ~ Ini hanya memperbaiki masalah untuk beberapa pengguna kami
  2. ~ Kami meminta pengguna memperbaiki sendiri masalah ini dengan _memulai ulang ponsel mereka_ (tidak perlu beralih ke aplikasi 32-bit) ~ Mereka tidak memiliki masalah yang sama.

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.

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:

  1. Instal pemulihan TWRP (menggunakan odin [membutuhkan windows] atau metode lain)
  2. Boot ke pemulihan
  3. pasang penyimpanan
  4. salin paket LineageOS rom & gapps
  5. instal flash LineageOS dan gambar gapps
  6. reboot.

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:
Bildschirmfoto 2019-05-22 um 09 53 12

0,59,5:
Bildschirmfoto 2019-05-22 um 09 52 05

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/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 Saya memiliki dua pengamatan di sini, seperti yang juga disebutkan dalam intisari Anda

  • Aplikasi hang dengan ketergantungan @kudo-ci/jsc-android@241213-no-dfg-jit , saat menggunakan salah satu aplikasi produksi kami selama beberapa menit.
  • Aplikasi berfungsi dengan baik dengan @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.

  1. 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 )
  2. 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.

Screen Shot 2019-05-31 at 16 11 49
Screen Shot 2019-05-31 at 16 11 32

@ 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.

25060

@dishantwalia @Kudo dinonaktifkan JIT bekerja untuk saya pada 64 bit & tidak melihat masalah kinerja apa pun sejauh ini.

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:

  1. unzip /path/to/app.apk
  2. strings jni / arm64-v8a / libjsc.so | grep -C 1 JavaScriptCore.Version

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:

  1. menjalankan adb logcat di konsol
  2. tunggu sampai spam konsol berhenti
  3. buka aplikasi mogok di perangkat Anda
  4. hentikan adb logcat dengan Ctrl + c
  5. gulir ke atas dan temukan kerusakan itu

Itu 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 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. 😅

+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

00 pc 0000000000c31dd8 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so

# 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)

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 dari jsc 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.

  1. Tambahkan 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

  1. Ubah 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"
+       }
    }
}
  1. Perbarui file 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
}
  1. Perbarui file 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'
+    }
}

JANGAN GUNAKAN null SEBAGAI source VARIABEL DARI Image , 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 dari jsc 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.

  1. Tambahkan 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

  1. Ubah 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"
+       }
    }
}
  1. Perbarui file 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
}
  1. Perbarui file 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'
+    }
}

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat