Google Chrome - bug?

Google Chrome - bug?
« kdy: 15. 04. 2017, 02:14:00 »
Zistil som ze na jednej stránke sa mi objavuje pomerne bizarný grafický bug. V podstate mi na pozadie stránky vykresľovali objekty z iných kariet. Prikladám súbor ktorý to (aspoň u mňa) dokáže zreprodukovať a video (https://www.youtube.com/watch?v=nwtmRkSL-JE) čo sa vlastne deje.

Pravdepodobne to bude asi môj lokálny problém ale čo by ma zaujímalo je: Čím môže byť takáto chyba spôsobená?
« Poslední změna: 15. 04. 2017, 02:17:36 od Martin Sršeň »


Re:Google Chrome - bug?
« Odpověď #1 kdy: 15. 04. 2017, 02:40:37 »
Minimálně v aktuálním Vivaldi (založené na Chromiu, samotné jádro by mělo být stejné) to nedělá nic

nobody(ten pravej)

Re:Google Chrome - bug?
« Odpověď #2 kdy: 15. 04. 2017, 03:13:07 »
ani v Chromium 57.0.2987.98 (Xubuntu 14.04.5 32bit) to problem nedela...

Jenda

Re:Google Chrome - bug?
« Odpověď #3 kdy: 15. 04. 2017, 04:34:32 »
Čím môže byť takáto chyba spôsobená?
  • Naalokuješ paměť na obrázek
  • Nakreslíš do ni obrázek
  • Uvolníš ji (free z libc skoro nikdy nemaže, proč taky)
  • Naalokuješ paměť na jiný obrázek (malloc z libc skoro nikdy paměť neinicializuje, proč taky)
  • Dostaneš paměť, kterou jsi před chvílí uvolnil
  • Nakreslíš do ní omylem menší obrázek
  • Zobrazíš ji celou → vidíš zbytky původního obrázky
+ totéž se může stát v driverech grafiky nebo přímo na hardwaru GPU, akorát místo alokátoru z libc se to děje přímo s fyzickou pamětí.

https://news.slashdot.org/story/16/01/11/1435237/nvidia-gpus-can-leak-data-from-google-chromes-incognito-mode

Když něco píšeš a chceš aby to hlavně proboha fungovalo :), tak můžeš zkusit používat calloc, který paměť nuluje. Má divnější sémantiku (počet prvků a velikost prvku, ne jen počet bajtů jako malloc). Nebo si malloc obalíš vlastní funkcí (což jsem dělal ne kvůli nulování, ale proto, že když malloc selže, chci to kontrolovaně zalogovat skončit a nenechat se sestřelit až si na ten NULL sáhnu).