[განახლება 2: გამოსწორდა] ეს ფონი იწვევს იშვიათ შეცდომას, რომელიც იწვევს Android მოწყობილობების ჩატვირთვას

click fraud protection

ეს ფონი იწვევს იშვიათ შეცდომას, რომელიც იწვევს Android მოწყობილობების ჩატვირთვას. არ სცადოთ ფონი თქვენს მოწყობილობაზე, წინააღმდეგ შემთხვევაში შეიძლება დაკარგოთ ყველა თქვენი მონაცემები.

განახლება 2 (08/03/2020 @ 3:03 PM ET): 2020 წლის აგვისტოს Android უსაფრთხოების პატჩებით, Google-მა განაახლა Android ამ ხარვეზის გამოსასწორებლად. დამატებითი დეტალები შეგიძლიათ იხილოთ ბოლოში.

განახლება 1 (06/04/2020 @ 03:12 AM ET): გაჩნდა უფრო ახალი განმარტებები იმის შესახებ, თუ რა იწვევს ტელეფონების „დაწყევლილი ფონის“ ავარიას, Google-ის პასუხთან ერთად. დამატებითი ინფორმაციისთვის გადაახვიეთ ბოლოში. სტატია, როგორც გამოქვეყნებულია 2020 წლის 1 ივნისს, დაცულია ქვემოთ.

წარმოიდგინეთ, რომ ეძებთ ინტერნეტს მაგარი ფონები და თქვენ წააწყდებით თვალწარმტაცი პეიზაჟს. მას აქვს ყველაფერი; აყვავებულ მწვანე ტყე, ხელუხლებელი ტბა პაწაწინა კუნძულით, თოვლით დაფარული მთები უკანა პლანზე და სქელი ღრუბლის საფარი მზის შუქით, რომელიც უფსკრულიდან შემოდის. თქვენ დაუყოვნებლივ ჩამოტვირთავთ სურათს, დააყენებთ მას თქვენი ტელეფონის ფონად და ბუმი! თქვენი Android ტელეფონი ჩერდება ჩატვირთვის სისტემაში. ნაკლებად სავარაუდოა, არა? კარგად, ეს მართალია ამ კონკრეტულ ფონიზე.

ფონი ცოტა ხნის წინ გააზიარა Twitterცნობილი მიერ სამსუნგი გამჟღავნებული Ice Universe, რომელიც ამტკიცებდა, რომ ფონი "თქვენი ტელეფონის დაშლას გამოიწვევს!" მიუხედავად მათი გაფრთხილებისა, რამდენიმე მომხმარებლებმა ჩამოტვირთეს ფონი, რათა შეემოწმებინათ, რეალურად აკეთებდა თუ არა რაიმე მათ ტელეფონს და მათ შეხვდნენ შემდეგი შედეგები:

Davide Bianco-ს თქმით, AOSP-ზე დაფუძნებული წამყვანი დეველოპერი საბაჟო ROM "POSP", ეს კონკრეტული ფონი იწვევს ზოგიერთი Android მოწყობილობის ავარიას, რადგან ის იყენებს RGB ფერთა სივრცეს, ნაცვლად sRGB ფერთა სივრცისა, რომელიც მხარდაჭერილია ბუნებრივად Android-ზე. ბიანკოს აქვს წარადგინა პაჩი AOSP-ს, რომელიც, გავრცელებული ინფორმაციით, აფიქსირებს პრობლემას და პაჩის აღწერაში ნათქვამია, რომ „პრობლემა ჩნდება მაშინ, როდესაც მომხმარებელი ცდილობს ფონად დააყენოს სურათი, რომელიც არ არის sRGB. რაც ხდება, არის ის, რომ ცვლადის y მნიშვნელობა უფრო მაღალია, ვიდრე ჰისტოგრამის საზღვრები, რაც იწვევს SysUI ავარიას. ერთ-ერთი შესაძლო გამოსწორება არის y მნიშვნელობის შეზღუდვა, რომ ყოველთვის იყოს 256-ზე ნაკლები." Bianco-სთან ერთად, ორი დეველოპერი, XDA Senior წევრი ცუდი დემონი და XDA აღიარებული დეველოპერი luca020400, პოპულარული LineageOS საბაჟო ROM გუნდმა ასევე მოიფიქრა პრობლემის უნიკალური გადაწყვეტა. თქვენ შეგიძლიათ გაეცნოთ პატჩის აღწერილობას LineageOS Gerrit-ზე შემდეგით ეს ბმული და ეს ბმული.

ჩვენ კატეგორიულად გირჩევთ არ გამოიყენოთ ეს სურათი თქვენს ფონად არავითარ შემთხვევაში. იმ შემთხვევაში, თუ თქვენ უკვე იყენებდით მას და თქვენი მოწყობილობა ჩატვირთულია, გთხოვთ, შეამოწმოთ ქვემოთ მოცემული ინსტრუქციები იმის შესახებ, თუ როგორ შეძლებთ თქვენი მოწყობილობის აღდგენას.

ანგარიშიდან 9to5 Google ამ საკითხთან დაკავშირებით ასევე ცხადყოფს, რომ პრობლემა შემოიფარგლება მხოლოდ Android 10-ზე ან უფრო ძველი ოპერაციული სისტემის მქონე მოწყობილობებზე და ის არ იმოქმედებს მოწყობილობებზე, რომლებიც მუშაობენ Android 11 დეველოპერის გადახედვა. ეს გამოწვეულია იმით, რომ Android 11-ზე სისტემა გარდაქმნის ფერთა სივრცეს, თუ ის არ არის მხარდაჭერილი, მაგრამ Android 10-ზე არა. რაც ნიშნავს, რომ ეს არ არის პრობლემა ამ კონკრეტულ სურათთან და შეიძლება გამოწვეული იყოს სხვა სურათებით RGB ფერის სივრცის გამოყენებით.

გაითვალისწინეთ, რომ მიუხედავად იმისა, რომ პრობლემა არ ეხება ყველა Android მოწყობილობას, ჩვენ გირჩევთ არ სცადოთ ფონი თქვენს ტელეფონზე. თუ მაინც სცადეთ, შეგიძლიათ აღადგინოთ თქვენი მოწყობილობა მთლიანად გადატვირთვის ან უსაფრთხო რეჟიმში შესვლისა და ფონის შეცვლით. მაგრამ რადგან ზოგიერთი მომხმარებელი დასრულდა Twitter ვერ შეძლეს მათი მოწყობილობების აღდგენა ზემოაღნიშნული მეთოდების გამოყენებით, უკეთესი იქნება, თუ არ გამოიყენებთ ზუსტ სურათს თქვენს ფონიდ. თუ ნამდვილად მოგწონთ ფონი, უბრალოდ გადაიღეთ სურათის სკრინშოტი და გამოიყენეთ ის, როგორც თქვენი ფონი.


განახლება 1: ახალი ახსნა, პასუხი Google-ისგან

შეცდომის მიზეზების გაფართოება, როგორც განმარტა XDA-ს უფროსი წევრი ცუდი დემონი და XDA აღიარებული დეველოპერი luca020400, "დაწყევლილი" ფონი დაშიფრულია სპეციალურ ფერთა სივრცეში, რომელსაც ეწოდება "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (ეს არის ფერთა სივრცის სრული სახელი და Skia ეხება Google-ის მიერ შექმნილი 2D გრაფიკული ბიბლიოთეკა.) ამის საპირისპიროდ, სხვა ფონის სურათების უმეტესობა დაშიფრულია ფერთა სივრცეში, რომელსაც ეწოდება "sRGB".

Android-ის 10 და უფრო ძველ ვერსიებში, ყველა სურათი გარდაიქმნება sRGB-ში, თუ დეველოპერების მიერ სხვა რამ არ არის მითითებული. არის იშვიათი ხარვეზი, რომელიც შეიძლება მოხდეს სურათის sRGB-ად გადაქცევისას, სადაც კოდი, რომელიც ითვლის თითოეული პიქსელის "ნათობის" მნიშვნელობას, ახერხებს 255-ის მაქსიმალურ ლიმიტს გადააჭარბოს.

სიკაშკაშე გამოითვლება შემდეგი ფორმულით:

სიკაშკაშე = .2126f * r + .7152f * g + .0722f * b

აქ "r", "g" და "b" არის წითელი, მწვანე და ლურჯი ფერის მნიშვნელობები, რომლებიც წარმოდგენილია 8-ბიტიანი მნიშვნელობით 0-დან 255-მდე.

ამ გაანგარიშების პრობლემა ის არის, რომ თითოეული ნაწილი ყოველთვის მრგვალდება საბოლოო შეჯამებამდე. ერთ-ერთი პიქსელი "დაწყევლილ" ფონზე, სურათის sRGB-დან გადაყვანის პროცესში და შემდეგ ნაცრისფერში, აქვს შემდეგი RGB მნიშვნელობები: 255, 255, 243, რომელიც ზემოაღნიშნულ განტოლებაში ჩართვისას გამოიყურება მოსწონს:

r: .2126 * 255 = 54.213 => 55

გ: .7152 * 255 = 182.376 => 183

ბ: .0722 * 255 = 18.411 => 19

სიკაშკაშე = r+ g + b = 257

ეს მნიშვნელობა იწვევს SystemUI და ძირითადად მთელი OS-ის ავარიას, რადგან ის აღემატება მაქსიმალურ მნიშვნელობას. ეს არის შეცდომა, რომელიც წარმოუდგენლად სპეციფიკურია, რადგან ის მოიცავს დამრგვალების შეცდომისა და ფერის სივრცის კონვერტაციის შეცდომის კომბინაციას.

ეს შეცდომა არ მოქმედებს Android 11-ზე, რადგან გამოსახულების "Skia" ფერის სივრცე ნაგულისხმევად არ არის გადაყვანილი sRGB-ად. ამრიგად, ფერის სივრცის კონვერტაციის ეს შეცდომა და დამრგვალების შეცდომა არ ხდება Android 11-ზე.

თუმცა, რომენ გაი Google-ის Android Toolkit გუნდიდან თვლის, რომ ამ პრობლემის მთავარი მიზეზი მხოლოდ იმ გზით, რომლითაც გამოითვლება სიკაშკაშე და არა ფერის სივრცის კონვერტაციის საკითხებში. Google ატარებს საკუთარ შიდა ტესტირებას, ასე რომ, ჩვენ სავარაუდოდ ვნახავთ, რას მოიფიქრებენ ისინი მალე.

ეს ახსნა განახლდა იმის გასარკვევად, რომ "დაწყევლილი" ფონის ერთ-ერთი პიქსელი არის ამ კონკრეტული განათების დამრგვალების გამოთვლის შეცდომის მიზეზი. ჩვენ ასევე განვმარტეთ, რომ დამრგვალება ხდება განათების გაანგარიშების ყოველი ნაბიჯის დროს და არა ბოლოს.


განახლება 2: დაფიქსირდა 2020 წლის აგვისტოს პატჩებში

Android-ის უსაფრთხოების პატჩები აგვისტოს თვისთვის უბრალოდ პირდაპირ ეთერში გავიდადა XDA აღიარებული დეველოპერი luca020400 მყივანი ა ჩაიდინოს AOSP-ში რომელიც აერთიანებს ამ ფონის შეცდომის გამოსწორებას.