LINUX.ORG.RU
ФорумTalks

[flash][ЖЖ] СВОЛОЧИ!

 ,


0

0

Наконец-то выяснилось, почему 64-битный флеш падает вместе с браузером у кучи народу. Далеко не у всех пользователей такое происходит, большинство проблем не испытывают, поэтому локализовать причину долго не удавалось. Вот ответ: http://bugs.gentoo.org/show_bug.cgi?id=268336#c9 http://bugs.gentoo.org/show_bug.cgi?id=273718#c13

ЭТИ АДОБОВСКИЕ собаки женского пола, блудницы, испытывающие недостаток козлиной любви, гомосексуалисты в плохом смысле слова и копрофилы (исправлено цензурой) СОБИРАЮТ ФЛЕШ ТАК, ЧТО ОН ТРЕБУЕТ ПРОЦЕССОР С ПОДДЕРЖКОЙ команд lahf и sahf. (Для справки: процессоры x86_64 без LAHF давно не выпускаются, но выпустить их успели достаточно. И Интел, и АМД.)

Как бы им подоходчивее объяснить убрать ключ компилятора -msahf ?..

★★★★★

Нейролептики внутривенно и ногами по почкам, я думаю.

*силой мысли заражает их спидораком

Slesarev
()

Мыши, кактус!

Мыши, кактус, ням-ням.

Когда пользуешься binary blob'ами всегда такое происходит.

Camel ★★★★★
()
Ответ на: комментарий от Slesarev

> Флэш не нууужен, не нужен, куда вы меня тащите, не надо на меня ничего наде

Та Бога ради ... это дело ваше.
У меня близким "не смотреть" ролики в инте язык не поворачивается советовать, а все свободные реализации в дистре ака дипломные костыли студентов.

elipse ★★★
()
Ответ на: комментарий от f3ex

> ЛОР-эффект на страницу отзывов устроить?

Наверное.

question4 ★★★★★
() автор топика

% eix -I -sS flash
No matches found.

Не нужно! Совсем не нужно!

fat_angel ★★★★★
()
Ответ на: Мыши, кактус! от Camel

> Когда пользуешься binary blob'ами всегда такое происходит.

Блобы бывают разные. Бывает, что сами определяют тип процессора и какие функции вызывать. Бывет, что инсталлятор выбирает подходящий к процессору блоб. Или на сайте компании лежит по инсталлятору под каждый процессор. А бывает "жрите, что дают". Как MS, только хуже.

question4 ★★★★★
() автор топика
Ответ на: комментарий от elipse

> Вот и обьяснение тому , что в debian-multimedia flash 10 для amd64 как i386 в среде lib32 собран.

Теперь в Gentoo ебилд делает то же, если в /proc/cpuinfo не находит lahf_lm.

question4 ★★★★★
() автор топика

Я не понял, ЕМНИП lahf/sahf были еще в 8086. Их что, успели оттуда выпилить, а потом запилить обратно?

Или смысл инструкции поменялся за это время?

shimon ★★★★★
()
Ответ на: комментарий от shimon

> Я не понял, ЕМНИП lahf/sahf были еще в 8086. Их что, успели оттуда выпилить, а потом запилить обратно?

Именно так. Цирк да и только.

Relan ★★★★★
()
Ответ на: комментарий от Relan

> Именно так. Цирк да и только.

...И вместо того, чтобы не пускать говно в производство, пришлось учить компилятор:

lahf - бяка

pushf
pop ax - ляля

Это ж писец, товарищи, если бы кеш не был таким толстым, была бы по любому смерть.

shimon ★★★★★
()

> Далеко не у всех пользователей такое происходит, большинство проблем не испытывают, поэтому локализовать причину долго не удавалось.

Что мешало запустить под отладчиком и продизассемблировать сей блоб по адресу, где случился illegal instruction? Причина сразу же стала бы понятной.

А то, что Адобе -- п-сы в плохом смысле, это ни для кого не новость.

Relan ★★★★★
()

Хе-хе. Пентиум-Д в пролёте ) flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni monitor ds_cpl cid cx16 xtpr

kirsche
()
Ответ на: комментарий от shimon

> Я не понял, ЕМНИП lahf/sahf были еще в 8086. Их что, успели оттуда выпилить, а потом запилить обратно?

АМД решило, что они не нужны, и сделало процессоры с 64-битным режимом без них. Потом передумало, но процессоры распродало. Потом Интел решило, что им-то эти инструкции точно не нужны. Но потом тоже передумало. Но процессоров выпустило много. А меня угораздило купить Атлон 64 как раз из ранних. Они дешевле.

question4 ★★★★★
() автор топика
Ответ на: комментарий от Relan

> Что мешало запустить под отладчиком и продизассемблировать сей блоб по адресу, где случился illegal instruction? Причина сразу же стала бы понятной.

Плохая воспроизводимость бага на разных машинах. Доля процессоров, где это происходит, невелика и падает. Хуже того, процессоры, на которых работает и на которых не работает, отличаются только номерами ревизий. И по /proc/cpuinfo, но туда редко смотрят.

Дизассемблированию может мешать и размер блоба в 9 мегабайт :)

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

А может, маленький модуль ядра, который будет обрабатывать Bad opcode — так же, как работает эмуляция сопроцессора? Ну будет подтормаживать, но не в корку слетать.

shimon ★★★★★
()

Если у кого-то есть желание пофлешмобить.

Форма для пожеланий: https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform но про флеш там писать не рекомендуют.

Я написал следующее:
«64-bit Linux Flash plugin versions 10.0.22.87 and earlier crash randomly if the processor does not support LAHF and SAHF instructions.
Please compile the plugin without the "-msahf" option.»

Багзилла флеш-плеера: http://bugs.adobe.com/flashplayer/ Требует регистрации. Новые баги посторонним не показываются, поэтому в ближайшие часы (если не недели) можно будет только создавать новые сообщения о баге, а не голосовать.

Там я написал:
«Summary: 64-bit Linux flash plugin 10.0.22.87 crashes randomly on processors without LAHF and SAHF commands
Severity: Crash/Hang
Found in version: Flash player 10 build 10_0_22_87
Affected OS: Linux
Steps to reproduce:
1. Make sure your processor does not have LAHF command. (No "lahf_lm" keyword in /proc/cpuinfo.)
2. Install 64-bit Firefox and 64-bit Flash plugin. (Some distributions may force 32-bit plugin, install manually then.)
3. Start Firefox from console.
4. Visit http://www.adobe.com/products/flashplayer/

Actual Results:
All browser windows close, "Illegal instruction" message in console.

Expected Results:
Normal work

Workaround (if any):
If you are using GCC, compiling the plugin without the "-msahf" option may help.»

Что выбрал в "Component/s:", не помню.

question4 ★★★★★
() автор топика
Ответ на: комментарий от shimon

> А может, маленький модуль ядра, который будет обрабатывать Bad opcode — так же, как работает эмуляция сопроцессора? Ну будет подтормаживать, но не в корку слетать.

Мне интереснее, как насчёт обновления микрокода процессоров? Возможно ли это?

question4 ★★★★★
() автор топика
Ответ на: комментарий от f3ex

> Там еще регаться надо?

Только в баг-трекере. Нужен почтовый адрес.

question4 ★★★★★
() автор топика
Ответ на: комментарий от f3ex

>>Там еще регаться надо?

там еще и багрепорты писать надо

nutz ★★
()

а у меня это Г при переходе в фуллскрин (например, на ТыШланге, да неважно где - везде абсолютно) рушит файрфоксину, что удивительно: всё 32. arch, firefox 3.5.1, Flash plugin 10.0 r22 (с их сайта, как его удалить нах?!).

на gentoo firefox от такого же манёвра вставал колом (приходилось killall firefox делать).

появилось пару месяцев назад, наверное. раньше всё нормально было.

model name : Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm

задолбало пока не настолько, что бы усиленно гуглить (за 10 секунд результата не нашёл) или, тем более, писать баг репорт, но в самый раз, что бы поинтересоваться тут: у кого-нибудь такое же поведение наблюдается?

zh
()
Ответ на: комментарий от question4

> Мне интереснее, как насчёт обновления микрокода процессоров? Возможно ли это?

Микрокод — это немного не то, во всяком случае извне обновляется не _тот_ микрокод.

shimon ★★★★★
()

Колоритно описал, + 1. Неплохо бы ещё их научить оптимизировать свой код не только под VC, а то ну стыдно показывать, под вендой adobe reader и flash спокойно на первых атлонах работают, а на c2d под linux тормозить умудряются, стыдно, стыдно так не любить свой продукт.

timur_dav ☆☆☆☆☆
()

мышки, кактусы и все такое...

vitroot ★★
()
Ответ на: комментарий от zh

> Flash plugin 10.0 r22 (с их сайта, как его удалить

Если Gentoo, могу предложить только посмотреть содержимое архива (скорее всего, там только 1 файл, максимум — с десяток), найти его в /usr или /opt и удалить. Затем поставить средствами дистрибутива (в Gentoo сейчас новейший).

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

> и сделало процессоры с 64-битным режимом без них.

> А меня угораздило купить Атлон 64 как раз из ранних. Они дешевле.

> 64

ССЗБ

EmStudio
()
Ответ на: комментарий от zh

>>рушит файрфоксину, что удивительно: всё 32

Да.да.да

nutz ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.