fbpx
Можете да изберете дали да четете сайта в светла или тъмна тема

Защо един пиксел повече на този тапет срива телефоните с Android?

защо Android бъгва тапет bug wallpaper why explanation

Наскоро бе открита уязвимост в Android 10, след като една обикновена снимка на езерото Сейнт Мери в Националния парк Глетчер, Монтана, поставена като тапет, причиняваше непрекъснато рестартиране на смартфоните.

Телефони с изображението по-долу, използвано като тапет, принуди някои потребители да прибегнат до нулиране на устройствата си, за да се отърват от него. Защо се стига до непръeкаснати рестарти на някои устройства?

Докато повечето вярваха в злите сили, и смятаха, че това изображение е „прокълнато“, то се оказа, че проблемът произлиза от цветния профил на самото изображение, който надхвърля границите на това, с което Android може да се справи, само с 1 (един) пиксел.

КАКВО СЕ СЛУЧВА ?

Всичко започна с едно предупреждение в социалната мрежа Twitter, на небеизвестния лийкър @IceUniverse, който туитна това изображение с  предупреждението, че „задаването на картината като тапет на телефоните на Samsung ще доведе до срив“. Ние също предупредихме за това в Telegram канала си.

Предупреждението трябваше да накара потребителите да не инсталират изображението, но ние отдавна  живеем в ненормален свят, и доста потреботели го приеха като шега, включително в групата ни за дискусии към канала в Телеграм.

Задаването на изображението като тапет на телефона, доведе до срив и soft brick – състояние, когато устройството се опитва да се стартира, но не успява, и този процес продължава многократно. Процесът не може да бъде прекъснат, докато телефонът не се нулира, което означава, че данните се изтриват. Някои потребители обаче са успели да вкарат телефоните в безопасен режим (Safe mode), и да изтрият изображението от галерията.

Това безумие разкри, че тези проблеми не са съсредоточени само върху телефони Samsung. Други смартфони, включително Google Pixel с Android 10 и по-стари, също се сриват. Някои потребители съобщават и за някои модели на OnePlus, Nokia и Xiaomi.

Според теста на Android Authority,  Huawei Mate 20 не е имал проблем, както и Pixel 4 XL, работещ с Android 11, тестван от  9to5google.

“ПРОКЪЛНАТОТО” ИЗОБРАЖЕНИЕ

Android wallpaper bootloop

Заснета с камера Nokia през август 2019 г. от фотографа Гаурав Агравал, тази снимка е редактирана в Lightroom и след това записана във формат „ProPhoto RGB“ вместо стандартния  sRGB.

Агравал качва  снимката в профила си във Flicker с над 10 000 последователи, очаквайки, че тя ще стане „популярна по добра причина“. Съдбата обаче имала друго намерение.

Изображението попада във всички  заглавията за “сриващи се телефони”. В разговор с BBC, фотографа заявява: „Не съм направил нищо умишлено. Не знаех, че форматът ще причини това“. Интересното е, че снимката задейства грешката, когато е зададена като тапет и не създава проблеми на устройството, когато си стои в приложението Google Photos.

Може да се изкушавате да зададете  изображението като тапет на телефона, но не ви препоръчваме да го правите, въпреки, че има шанс да не се случи нищо. В нашите собствени тестове, някои телефони “оцеляха”!

Ако все пак много искате този тапет, направете екранна снимка на изображението и тогава го задайте като тапет(на собствен риск). Не го задавайте от галерията!!!!!

ОБЯСНЕНИЕТО

android-bootloop-wallpaper

Може да се предположи, че  изображението по някакъв начин влиза в “конфликт” с engin-a за тапети на Andrоid, и че то не е създадено целенасочено, за да се възползва от някаква уязвимост в операционната система, както се смяташе по-рано.

Телефоните Samsung и Google Pixel са със стандартния цветен engine на Android, който използва цветовото  пространство  sRGB,  вместо цветовото пространство RGB, което изображението използва. Когато потребителят се опита да зададе като тапет изображение, което е в RGB, а не sRGB формат, устройството влиза в режим bootloop.

Това изображение е кодирано в цветово пространство Google / Skia / E3CADAB7BD3DE5E3436874D2A9DEE126, вместо обичайния sRGB, което вероятно съдържа повече информация за цвета, отколкото някои устройства могат да “поемат”. Случва се това, че sRGB е ограничено цветово пространство – максималният индекс е 255. Когато променливата Y стойност надвишава границите на хистограмата, телефонът се срива.

Стойността на цвета / осветеността на пикселите, се изчислява по формулата: Luminance = .2126f * r + .7152f * g + .0722f * b. Стойностите на R, G и B обикновено варират, но в това изображение – за определен пиксел в облаците, сумата надвишава 255, създавайки изключение извън границите, което SystemUI третира фатално и поставя телефона в безкраен цикъл от сривове.

Този проблем се случва поради логиката на закръгляне в ОС, която дава по-високо цяло число. В този случай, числото е “само” 256, но крайният резултат от това е, че то не може да се обработи от Android.

Dylan Roussel от 9to5Google счита, че тази логика на закръгляне се отнася за телефони с операционна система Android 10 или по-стари версии. Неговите тестове с Pixel 4 XL, работещ  под Android 11, показват, че изображението не засяга устройства с Android 11. Това е така, защото за разлика от Android 10, при Android 11,  системата преобразува цветовото пространство, ако то не се поддържа.

Ясно е, че основната причина е начинът, по който се изчислява цветът / яркостта. Google вече извършваъ собствени тестове и скоро можем да видим пач за тази уязвимост (която може да се използва за коварни действия) в Android 10 или по-старите  версии.

Total
17
Shares
Вашият коментар

Вашият имейл адрес няма да бъде публикуван.

Предишна публикация
galaxy-tab-s7-s7-samsung

Samsung работят по два нови таблета - Galaxy Tab S7 и Galaxy Tab S7+

Следваща публикация
google_pixe_4a_-_all_sides_

Появата на Google Pixel 4a се отлага за октомври

Подобни публикации
Total
17
Share