Снапдрагон Самсунг Галаки С9 има грешку стабилности ГПУ-а која се може искористити за покретање даљинског поновног покретања

Самсунг Галаки С9 и Галаки С9+ су лансирани на неколико тржишта, укључујући САД, Хонг Конг и делове Латинске Америке са Куалцомм Снапдрагон 845 системом на чипу. Британска фирма ГрапхицсФузз открила је грешку у стабилности ГПУ-а која се може искористити за покретање даљинског поновног покретања/рушења телефона.

Нови Самсунг Галаки С9 укључује најновији Куалцомм Снапдрагон 845 систем на чипу за неколико тржишта, укључујући Хонг Конг, Сједињене Државе, Канаду и делове Латинске Америке. Самсунг је често бирао најновији водећи Куалцомм Снапдрагон СоЦ у односу на свој Екинос СоЦ на неким тржиштима. То је обично случај у Сједињеним Државама, са изузетком Самсунг Галаки С6. За просечног потрошача, постоји мала разлика између варијанти Екинос 9810 и Снапдрагон 845. Међутим, испод хаубе, разлика у чипсетима може довести до веома различитих искустава.

АнандтецхРецензија Снапдрагон Галаки С9 и Екинос Галаки С9 открила је велике разлике у перформансама и трајање батерије између два модела, при чему модел Снапдрагон лако надмашује Екинос модел. Са ова два потпуно различита чипсета, чини се да разлика у перформансама овог пута није једина брига, према компанији са седиштем у УК под називом 

ГрапхицсФузз. ГрапхицсФузз је старт-уп фирма која је специјализована за тестирање поузданости ГПУ-а на уређајима. Они развијају тестове за тражење грешака у графичким драјверима и нуде помоћ у дијагностицирању основних узрока проблема које открију. На пример, тим је открио безбедносни проблем утиче на АРМ драјвер за Самсунг Галаки С6, за шта су од Гоогле-а награђени наградом за грешке. Током тестирања Снапдрагон Самсунг Галаки С9, ГрапхицсФузз пронашли грешку у графичком драјверу Адрено 630 која им то омогућава покренути поновно покретање целог телефона преко важеће ВебГЛ Интернет странице када претражујете помоћу стандардног Самсунг Интернет претраживача.

Конкретно, постоји грешка у Адрено 630 приказивању сложеног, али важећег схадера који се може искористити да би се уређај замрзнуо, а затим поново покренуо. Схадер је једноставно програм који омогућава ГПУ-у да прикаже слику. ГрапхицсФузз нису дизајнирали ВебГЛ страницу са злонамерном намером да покрену ову грешку, већ су рекли да је случајно откривена током њиховог стандардног тестирања ГПУ стабилности уређаја. Када су открили да је овај даљински пад поновљив, компанија се обратила КСДА-Девелоперс како би се олакшао процес откривања података и са Куалцомм-ом и са Самсунг-ом.

Репродукција пада ВебГЛ-а на Снапдрагон Самсунг Галаки С9

Пре него што смо ступили у контакт са представницима било које компаније, потврдили смо ГрапхицсФуззналази на нашем сопственом уређају. ГрапхицсФузз поставили специјалну веб страницу на којој ћемо се тестирати, а ми смо изабрали 5 најпопуларнијих интернет претраживача у Гоогле Плаи продавници да видимо шта ће се десити. Табела испод приказује ефекте приказивања сложеног схадера на 5 различитих веб претраживача.

Уређај тестиран: Куалцомм Снапдрагон 845 Самсунг Галаки С9+ (СМ-Г965У)

Оперативни систем: Андроид 8.0.0 Орео СМ-Г965У

Интернет претраживач

Резултат

Гоогле Цхроме в65.0.3325.109

Замрзава се само на ~2 секунде

Самсунг Интернет в7.0.10.46

Замрзавање онда на крају покреће потпуно поновно покретање

Опера в45.1.2246.125351

Замрзава телефон

Мицрософт Едге в1.0.0.1726

Замрзава се само на ~3 секунде

Фирефок в59.0.2

Прегледач се руши

И Гоогле Цхроме и Мицрософт Едге ће замрзнути телефон на неколико секунди и генерисати ВебГЛ грешку, али ће уређај на крају бити у реду. ГрапхицсФузз пријавили су нам да већ неко време разговарају са тимом Гоогле Цхроме-а и да су научили да Цхроме имплементира механизам који завршава ГПУ процес након одређеног временског периода како би спречио пун телефон црасх. Опера замрзава телефон, али не покреће поновно покретање. Сама апликација Фирефок се руши, али телефон је у реду. На крају, приступ страници преко Самсунг Интернета доводи до успоравања телефона до пузања пре него што покрене потпуно поновно покретање телефона.

Ево видео демонстрације пада:

Детаљно објашњење грешке

ГрапхицсФузз извршио детаљнију истрагу која указује да је проблем који је проузроковао поновно покретање телефона у ГПУ драјверу за Куалцомм Адрено 630 који је део Куалцомм Снапдрагон 845 систем на чипу. ГрапхицсФузз прикупили евиденцију о паду, коју смо уградили испод. Да дамо кратак резиме онога што се дешава, када телефон приказује сложени схадер, ГПУ поставља нешто што се зове "ограда". Ограда се користи за оркестрирање приступа заједничкој меморији између ЦПУ-а и ГПУ. Мобилни ГПУ, за разлику од десктопа, има приступ истој РАМ меморији као и ЦПУ, тако да када се игра игра или се нешто друго рендерује, користи ограду за приступ тој заједничкој меморији. На уређају који има дискретну графику, сам ГПУ има своју меморију. Сви тренутни мобилни телефони деле видео меморију и меморију са случајним приступом са РАМ меморијом. Проблем је у томе што ограда није у стању да се заврши, што изазива панику кернела и доводи до поновног покретања телефона.

Завршите панику кернела пре поновног покретања

[12681.035590] [2:crtc_commit: 117: 433] kgsl kgsl-3d0: |a6xx_snapshot_gmu| set FENCE toALLOWmode:0
[12681.035839] [2:crtc_commit: 117: 433] kgsl kgsl-3d0: |kgsl_device_snapshot| snapshot created at pa 0x000000016e500000 size 927400
[12681.035993] [0: kworker/u16:5:27740] kgsl kgsl-3d0: |kgsl_snapshot_save_frozen_<wbr />objs| kgsl_snapshot_save_frozen_objs start
[12681.036085][2:crtc_commit: 117: 433]Kernelpanic-notsyncing: !!!FENCETIMEOUT
[12681.036156][2:crtc_commit: 117: 433]CPU: 2 PID: 433 Comm: crtc_commit:117Tainted: GW 4.9.65-13087505#1
[12681.036248][2:crtc_commit: 117: 433]Hardwarename: SamsungSTARQLTEPROJECTRev14 (DT)
[12681.036319][2:crtc_commit: 117: 433]Calltrace:
[12681.036368] [2:crtc_commit: 117: 433] [] dump_backtrace+0x0/0x248
[12681.036438] [2:crtc_commit: 117: 433] [] show_stack+0x18/0x28
[12681.036509] [2:crtc_commit: 117: 433] [] dump_stack+0x98/0xc0
[12681.036578] [2:crtc_commit: 117: 433] [] panic+0x1e0/0x44c
[12681.036646] [2:crtc_commit:117: 433] [] sde_plane_wait_input_fence+<wbr />0x174/0x28c
[12681.036727] [2:crtc_commit:117: 433] [] sde_crtc_atomic_flush+0x1c4/<wbr />0x5e8
[12681.036807] [2:crtc_commit: 117: 433] [] drm_atomic_helper_commit_<wbr />planes+0x19c/0x1fc
[12681.036891] [2:crtc_commit: 117: 433] [] complete_commit+0x74/0x6a4
[12681.036960] [2:crtc_commit:117: 433] [] _msm_drm_commit_work_cb+0x48/<wbr />0x1c4
[12681.037038] [2:crtc_commit: 117: 433] [] kthread_worker_fn+0x78/0x194
[12681.037108] [2:crtc_commit: 117: 433] [] kthread+0xd8/0xf0
[12681.037172] [2:crtc_commit: 117: 433] [] ret_from_fork+0x10/0x20
[12681.037239][2:crtc_commit: 117: 433]Kernelloadedat: 0x800a0000, offsetfromcompile-timeaddress 20000
[12681.037331][2:crtc_commit: 117: 433]SMP: stoppingsecondaryCPUs

Опширније

ГрапхицсФузз верује да је разлог зашто се овај проблем дешава само на Самсунг Интернет претраживачу због ГПУ чувара. Понекад ГПУ може да виси на дуготрајним шејдерима, у ком случају претраживач или ОС обично имају ГПУ чувар који принудно поново покреће графички драјвер који не реагује. Тхе ГрапхицсФузз тестни шејдер има неколико фор петљи због којих ће можда бити потребно дуже да се рендерује, али је и даље важећи схадер. Неколико других уређаја, укључујући Екинос 9810 Самсунг Галаки С9 са Мали-Г72 ГПУ-ом, успевају да рендерују овај схадер. Дакле, тим на ГрапхицсФузз дошао до закључка да се ова грешка дешава због неисправног ГПУ драјвера за Адрено 630.

Гоогле Пикел 2 КСЛ са Куалцомм Снапдрагон 835 Адрено 540 ГПУ-ом који користи исту верзију Самсунг Интернет претраживача успорава до пузања као па—то значи да би ова грешка могла бити проблем са Куалцомм ГПУ драјвером који приказује схадер и надзором Самсунг претраживача који не завршава услуга.

Надамо се да Куалцомм може да дијагностикује основни проблем у свом ГПУ драјверу који узрокује поновно покретање и ускоро обезбеди фиксни драјвер за Самсунг. Наравно, могло би проћи неко време пре него што се ово ажурирање прошири на крајње кориснике. У међувремену, очекујемо да ће Самсунг покренути ажурирање Самсунговог интернет претраживача како би ублажио последице проблем (барем спречавање његовог искоришћавања преко веб странице), који одговара понашању Гоогле-а Хром. Иако је познато да овај проблем утиче на Куалцомм Снапдрагон 845 Самсунг Галаки С9/С9+, могао би утицати и на више уређаја са Снапдрагон 845.

Ако сте заинтересовани да тестирате ГПУ поузданост вашег сопственог мобилног или десктоп уређаја, тим на ГрапхицсФузз је саставио демонстрацију веб апликације која вам омогућава да покренете неке од њихових важећих шејдера на свом уређају. Можете приступити тој веб страници путем пратећи ову везу.

Временска линија обелодањивања

  • 28. марта 2018: ГрапхицсФузз посегнуо за КСДА-Девелоперс обавештавајући нас о проблему. КСДА-Девелоперс репродуковао проблем на нашем Самсунг Галаки С9+ (СМ-Г965У).
  • 29. марта 2018: ГрапхицсФузз пружио више детаља и поставио посебне веб странице за Куалцомм и Самсунг запослене да репродукују грешку
  • 30. март 2018: КСДА-Девелоперс обратио се и Самсунг-у и Куалцомм-у са свим детаљима извештаја. Наш Куалцомм контакт нам се јавио и потврдио да је наша порука примљена.
  • 2. априла 2018: Наш Самсунг контакт нам се јавио и потврдио да је наша порука примљена.
  • 4. априла 2018: Наш Самсунг контакт је препоручио да поднесемо извештај код Самсунга Безбедносно извештавање страна. КСДА-Девелоперс поднео извештај, а Самсунгов инжењер је додељен извештају.