[Pembaruan 2: Memperbaiki] Wallpaper ini memicu bug langka yang menyebabkan perangkat Android melakukan bootloop

click fraud protection

Wallpaper ini memicu bug langka yang menyebabkan perangkat Android bootloop. Jangan mencoba wallaper di perangkat Anda atau Anda mungkin kehilangan semua data Anda.

Pembaruan 2 (03/08/2020 @ 15:03 ET): Dengan Patch Keamanan Android Agustus 2020, Google telah memperbarui Android untuk memperbaiki bug ini. Detail lebih lanjut dapat ditemukan di bagian bawah.

Pembaruan 1 (06/04/2020 @ 03:12 ET): Penjelasan baru telah muncul tentang apa yang menyebabkan "wallpaper terkutuk" tersebut membuat ponsel mogok, bersamaan dengan tanggapan dari Google. Gulir ke bawah untuk informasi lebih lanjut. Artikel yang diterbitkan pada 1 Juni 2020 disimpan di bawah ini.

Bayangkan Anda sedang menjelajahi internet wallpaper keren dan Anda menemukan pemandangan yang indah. Ia memiliki segalanya; hutan hijau subur, danau alami dengan pulau kecil, pegunungan berselimut salju sebagai latar belakang, dan awan tebal dengan sinar matahari masuk melalui celah-celahnya. Anda segera mendownload gambarnya, menjadikannya sebagai wallpaper ponsel Anda, dan boom! Ponsel Android Anda terjebak dalam bootloop. Kedengarannya tidak mungkin, bukan? Ya, memang benar untuk wallpaper khusus ini.

Wallpaper baru saja dibagikan Twitteroleh terkenal Samsung pembocor Ice Universe, yang mengklaim bahwa wallpaper tersebut "akan menyebabkan ponsel Anda mogok!" Meskipun sudah diperingatkan, beberapa diantaranya pengguna mengunduh wallpaper untuk memeriksa apakah itu benar-benar melakukan sesuatu di ponsel mereka dan mereka bertemu dengan yang berikut ini hasil:

Menurut Davide Bianco, pemimpin pengembang yang berbasis AOSP ROM khusus "POSP", wallpaper khusus ini menyebabkan beberapa perangkat Android mogok karena menggunakan ruang warna RGB, bukan ruang warna sRGB yang didukung secara asli di Android. Bianco punya mengirimkan tambalan kepada AOSP yang dilaporkan memperbaiki masalah tersebut dan deskripsi patch menyatakan bahwa "Masalah terjadi ketika pengguna mencoba menyetel gambar yang bukan sRGB sebagai wallpaper. Yang terjadi adalah nilai variabel y lebih tinggi dari batas histogram sehingga membuat SysUI crash. Salah satu perbaikan yang mungkin dilakukan adalah membatasi nilai y agar selalu kurang dari 256." Bersama Bianco, dua pengembang, Anggota Senior XDA Daemon Buruk dan Pengembang yang Diakui XDA luca020400, dari tim ROM kustom LineageOS yang populer juga telah memberikan solusi unik untuk masalah ini. Anda dapat melihat deskripsi patch di LineageOS Gerrit dengan mengikuti Link ini Dan Link ini.

Kami sangat menyarankan untuk tidak menggunakan gambar ini sebagai wallpaper Anda dalam keadaan apa pun. Jika Anda telah menggunakannya dan perangkat Anda terjebak dalam bootloop, silakan periksa petunjuk di bawah ini tentang bagaimana Anda dapat memulihkan perangkat Anda.

A laporan dari 9to5Google mengenai masalah ini lebih lanjut mengungkapkan bahwa masalah ini terbatas pada perangkat yang menjalankan Android 10 atau lebih lama dan tidak memengaruhi perangkat yang menjalankan Android 10 atau lebih lama. Android 11 Pratinjau Pengembang. Hal ini disebabkan pada Android 11, sistem akan mengonversi ruang warna jika tidak didukung, namun pada Android 10 tidak. Artinya, masalah ini bukan merupakan masalah pada gambar tertentu dan mungkin disebabkan oleh gambar lain yang menggunakan ruang warna RGB.

Perlu diperhatikan bahwa meskipun masalah ini tidak memengaruhi semua perangkat Android, kami sangat menyarankan agar Anda tidak mencoba wallpaper di ponsel Anda. Jika Anda tetap mencobanya, Anda mungkin dapat memulihkan perangkat Anda dengan menyetel ulang sepenuhnya atau dengan masuk ke mode aman dan mengubah wallpaper. Tapi karena beberapa pengguna sudah selesai Twitter tidak dapat memulihkan perangkatnya menggunakan metode yang disebutkan di atas, sebaiknya Anda tidak menggunakan gambar persisnya sebagai wallpaper. Jika Anda benar-benar menyukai wallpaper tersebut, cukup ambil tangkapan layar gambarnya dan gunakan itu sebagai wallpaper Anda.


Update 1: Penjelasan Baru, Respon dari Google

Memperluas penyebab bug seperti yang dijelaskan oleh Anggota Senior XDA Daemon Buruk dan Pengembang yang Diakui XDA luca020400, wallpaper "terkutuk" dikodekan dalam ruang warna khusus yang disebut "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (ini adalah nama lengkap ruang warna, dan Skia mengacu pada Pustaka grafis 2D buatan Google.) Sebaliknya, sebagian besar gambar wallpaper lainnya dikodekan dalam ruang warna yang disebut "sRGB".

Di Android versi 10 dan yang lebih lama, semua gambar dikonversi ke sRGB kecuali ditentukan lain oleh pengembang. Ada bug langka yang dapat terjadi saat mengonversi gambar ke sRGB, di mana kode yang menghitung nilai "luminansi" setiap piksel berhasil melampaui batas maksimum 255.

Luminansi dihitung menggunakan rumus berikut:

Pencahayaan = .2126f * r + .7152f * g + .0722f * b

Di sini "r", "g", dan "b" adalah nilai warna merah, hijau, dan biru yang direpresentasikan dalam nilai 8-bit dari 0 hingga 255.

Masalah dengan perhitungan ini adalah setiap bagian selalu dibulatkan sebelum penjumlahan akhir. Salah satu piksel di wallpaper "terkutuk", ketika dalam proses mengkonversi gambar dari sRGB dan kemudian ke skala abu-abu, memiliki nilai RGB sebagai berikut: 255, 255, 243, yang jika dicolokkan ke persamaan di atas terlihat menyukai:

r: .2126*255 = 54.213 => 55

g: .7152*255 = 182.376 => 183

b: .0722*255 = 18.411 => 19

Pencahayaan = r+ g + b = 257

Nilai ini menyebabkan SystemUI, dan pada dasarnya seluruh OS, crash karena melebihi nilai maksimum. Ini adalah bug yang sangat spesifik karena melibatkan kombinasi kesalahan pembulatan dan kesalahan konversi ruang warna.

Bug ini tidak memengaruhi Android 11 karena ruang warna gambar "Skia" tidak dikonversi ke sRGB secara default. Dengan demikian, kesalahan konversi ruang warna dan kesalahan pembulatan ini tidak terjadi di Android 11.

Namun, Romain Guy dari tim Android Toolkit di Google percaya bahwa akar penyebab masalah ini hanya dalam cara penghitungan pencahayaan dan bukan dalam masalah konversi ruang warna apa pun. Google sedang melakukan pengujian internalnya sendiri, jadi kita mungkin akan segera melihat apa yang mereka hasilkan.

Penjelasan ini diperbarui untuk memperjelas bahwa salah satu piksel pada wallpaper "terkutuk" adalah penyebab kesalahan penghitungan pembulatan pencahayaan khusus ini. Kami juga mengklarifikasi bahwa pembulatan terjadi pada setiap langkah penghitungan pencahayaan dan bukan pada akhir.


Pembaruan 2: Diperbaiki pada patch Agustus 2020

Patch keamanan Android untuk bulan Agustus baru saja ditayangkan, dan Pengembang yang Diakui XDA luca020400 melihat a komit di AOSP yang menggabungkan perbaikan untuk bug wallpaper ini.