Browser crash - при использовании расширения Showcase

Обсуждения на русском языке
User avatar
jars_
Lunatic
Lunatic
Posts: 397
Joined: 2016-12-27, 00:12

Browser crash - при использовании расширения Showcase

Unread post by jars_ » 2018-03-12, 22:44

Привет.
тут недавно, за короткое время(~1мес) появилось множество тем с одним и тем же : падение бравзера( на сайтах, просто так, изза плагинов..) И в большинстве случаев находили причину и исправляли довольно быстро, может и в моём случае подскажите :geek:

Есть отличное просто шикарное расширение для FF - Showcase.
Известно давно и печально, что в Mozilla бравзерах никогда небыло, нет и уже не будет нормальных групп вкладо. Не прошу советовать и спорить, я перепробовал их все, вообще все. Правил версии, правил чуть (то на что хватало знаний) расширения и устанавливал их в PM Результат всегда один - удаление с сожалением: опять несуразные глупости. Единственная вменяемая попытка сделать группы, была\есть в расширении TabUtils. Но они глючные(группы) и больше уже не будут доработаны.

Тоже самое и с окнами. Можно окнами заменить группы. Без проблем. К сожалению, большое и волосатое НО притаилось и тут... ни одного нормального управления оконами Mozilla нет(их я тоже много пробовал расширений и каждый раз удалял). Чтоб удобно было тасовать\закрывать\перемещать вкладки между окнами

И вот, нашел это самое расширение Showcase, где автор отлично все придумал и реализовал. Я обрадовался, ибо там сделано очень удобно: оно определяет окна, подкрашивает их разным цветом и перемещать вкладки между окнами можно drag`n`drop-ом, просто подтащив эскиз между эскизами другого окна. Все очень удобно, множество настроек, разные варианты эскизов(всех окон во вкладке, в отд.окне, в бок.панели и проч. варианты) + допилил его внешний вид через CSS , сделал чтоб было красиво и наглядно. Пара фоток
Общий вид, два окна красн. и зел. боводка. Если окон больше - больше и цветов, до 12-ти.
Image
в бок.панели
Image
Ну так вот, бравзер PM любой версии "падает" при установке и использовании этого расширения. Падает внезапно, может даже при старте упасть, Потом запустится и через пять-десять-сорок минут опять упасть с ошибкой одной и той же:
Имя сбойного приложения: palemoon.exe, версия: 27.7.2.6604, отметка времени: 0x5a705bed
Имя сбойного модуля: xul.dll, версия: 27.7.2.6604, отметка времени 0x5a705ca8
Код исключения: 0xc0000005
Смещение ошибки: 0x00adadbe
Идентификатор сбойного процесса: 0xeec
Время запуска сбойного приложения: 0x01d3ac91c4deeda4
Путь сбойного приложения: D:\MyPROGRAMs\INET\PaleMoon\palemoon.exe
Путь сбойного модуля: D:\MyPROGRAMs\INET\PaleMoon\xul.dll
Код отчета: 66a3a2eb-1885-11e8-bf95-001d922e0c8e


Имя сбойного приложения: palemoon.exe, версия: 27.7.2.6604, отметка времени: 0x5a705bed
Имя сбойного модуля: xul.dll, версия: 27.7.2.6604, отметка времени 0x5a705ca8
Код исключения: 0xc0000005
Смещение ошибки: 0x00adadbe
Идентификатор сбойного процесса: 0xe94
Время запуска сбойного приложения: 0x01d3ac90c4180716
Путь сбойного приложения: D:\MyPROGRAMs\INET\PaleMoon\palemoon.exe
Путь сбойного модуля: D:\MyPROGRAMs\INET\PaleMoon\xul.dll
Код отчета: 24d48ab0-1884-11e8-bf95-001d922e0c8e


Имя сбойного приложения: palemoon.exe, версия: 27.7.2.6604, отметка времени: 0x5a705bed
Имя сбойного модуля: xul.dll, версия: 27.7.2.6604, отметка времени 0x5a705ca8
Код исключения: 0xc0000005
Смещение ошибки: 0x00adadbe
Идентификатор сбойного процесса: 0x560
Время запуска сбойного приложения: 0x01d3ac82511a49e0
Путь сбойного приложения: D:\MyPROGRAMs\INET\PaleMoon\palemoon.exe
Путь сбойного модуля: D:\MyPROGRAMs\INET\PaleMoon\xul.dll
Код отчета: e0439032-1883-11e8-bf95-001d922e0c8e


-------unstable version PM ------
Имя сбойного приложения: palemoon.exe, версия: 27.8.0.6590, отметка времени: 0x5a8d476c
Имя сбойного модуля: xul.dll, версия: 27.8.0.6590, отметка времени 0x5a8d47a3
Код исключения: 0xc0000005
Смещение ошибки: 0x00adc1ee
Идентификатор сбойного процесса: 0xd58
Время запуска сбойного приложения: 0x01d3aca2df6fa99a
Путь сбойного приложения: D:\MyPROGRAMs\INET\PaleMoon-unstable\palemoon.exe
Путь сбойного модуля: D:\MyPROGRAMs\INET\PaleMoon-unstable\xul.dll
Код отчета: 4a56afec-1896-11e8-bf95-001d922e0c8e


Имя сбойного приложения: palemoon.exe, версия: 27.8.0.6590, отметка времени: 0x5a8d476c
Имя сбойного модуля: xul.dll, версия: 27.8.0.6590, отметка времени 0x5a8d47a3
Код исключения: 0xc0000005
Смещение ошибки: 0x00adc1ee
Идентификатор сбойного процесса: 0xa9c
Время запуска сбойного приложения: 0x01d3ac754732ea5d
Путь сбойного приложения: D:\MyPROGRAMs\INET\PaleMoon-unstable\palemoon.exe
Путь сбойного модуля: D:\MyPROGRAMs\INET\PaleMoon-unstable\xul.dll
Код отчета: 7ac90115-1873-11e8-bf95-001d922e0c8e
В консоли бравзера нет никаких видимых ошибок, падает сразу ибо в ошибке с5 (доступа к несуществующей\невыделенной памяти, вродеб.) Одно что заметил, часто падает, если в фоне (по СКМ ) окрыть ссылку на страницу с видео html5. Но это тоже не всегда, не каждый раз. Может и просто так упасть.
Очень бы хотелось это расширение прикрутить к PM , оно собственно работает в PM и все ф-ции, настройки в нем работают отлично :roll: , еслиб не "крашился" весь бравзер.
(Для проверки ставил в FF52 и 48 и там не падает, расширение работает и бравзер на крашится )

Прошу помощи у знатоков, совета, решения.

User avatar
JustOff
Banned user
Banned user
Posts: 2083
Joined: 2015-09-03, 19:47
Location: UA

Re: Browser crash - при использовании расширения Showcase

Unread post by JustOff » 2018-03-13, 10:00

Боюсь показаться КО, но вы видели комментарии разработчика?
*** IMPORTANT *** If you're experiencing crashes with Showcase, it's highly probable that you're enabled the "cache" Showcase option; a Firefox bug will crash the browser in some systems with that option enabled, so disable it in the "Advanced" tab of the Showcase settings panel. This option is not enabled by default.

User avatar
jars_
Lunatic
Lunatic
Posts: 397
Joined: 2016-12-27, 00:12

Re: Browser crash - при использовании расширения Showcase

Unread post by jars_ » 2018-03-14, 16:38

Да не, все прально. Яж мог не читать, как подавляющее большинство делает... :) Но нет, видел конечно.
Просто подумал что если это связано с багом в самом Mozilla-коде и написано в далёком 2015г. то возможно уже исправлено. В случае с FF действительно, вродеб исправленно ибо не падает у мя FF52, с тем же почти набором плугинов что и PM .

Ошибка ведь в xul.dll и ошибка с доступом к памяти. там стоит обращение косвенной адресации(ЕЯПП) типа : mov eax, [ecx];
Попробую качнуть исходнеки и загнать в IDA , вычислить ф-цию которая приводит к падению . Но это не точно , ибо не очень много опыта в подобном.
Просто очень сильно хочется этот плугин. Очень с ним удобно и наглядно становится, группы не нужны, окна можно тасовать как угодно и там же закрывать вкладки, перемещать, закрывать окна. окна. Must have.
Last edited by jars_ on 2018-03-14, 16:40, edited 1 time in total.

Fedor2
Banned user
Banned user
Posts: 704
Joined: 2016-04-11, 01:26

Re: Browser crash - при использовании расширения Showcase

Unread post by Fedor2 » 2018-03-14, 16:59

Раскажеш как это ты делаеш с ида. Я волли делаю, загружаю и жду пока 10 минут покалбасится, а потом и что где уже понятно, исохднеки в принципе не нужны.

User avatar
JustOff
Banned user
Banned user
Posts: 2083
Joined: 2015-09-03, 19:47
Location: UA

Re: Browser crash - при использовании расширения Showcase

Unread post by JustOff » 2018-03-14, 17:34

Я, к сожалению, тоже не особо силен в отладке на уровне краша всего браузера, но если ошибка более-менее воспроизводима, то имеет смысл с крашдампом обращаться к Moonchild'у - он по крайней мере из него умеет получать точное место в коде, которое приводит к ошибке, а там уже дальше можно думать.

User avatar
jars_
Lunatic
Lunatic
Posts: 397
Joined: 2016-12-27, 00:12

Re: Browser crash - при использовании расширения Showcase

Unread post by jars_ » 2018-03-16, 18:03

Хм. Падает и в новой Unstable версии PM 27.9.0a1 (27.9.0.6640)
Скачал отладочные символы, запихнул в IDA текущую стаб.версию и... если я прально все сделал, то место падения где-то тут
картинко
Image
текст
.text:10ADC237 mov eax, [ecx]
.text:10ADC239 push 1
.text:10ADC23B call dword ptr [eax]
.text:10ADC23D
.text:10ADC23D loc_10ADC23D: ; CODE XREF: mozilla__dom__CanvasRenderingContext2D__Fill+3Aj
.text:10ADC23D ; mozilla__dom__CanvasRenderingContext2D__Fill+3Fj ...
.text:10ADC23D test ebx, ebx
.text:10ADC23F jz loc_10ADC3E7
.text:10ADC245 mov ecx, [edi+84h]
.text:10ADC24B xorps xmm0, xmm0
.text:10ADC24E movups [esp+88h+var_6C+4], xmm0
.text:10ADC253 imul edx, [ecx], 0D8h
.text:10ADC259 cmp byte ptr [edx+ecx-55h], 0
.text:10ADC25E jz short loc_10ADC290
.text:10ADC260 movss xmm0, dword ptr [edx+ecx-28h]
.text:10ADC266 xorps xmm1, xmm1
.text:10ADC269 ucomiss xmm0, xmm1
.text:10ADC26C lahf
.text:10ADC26D test ah, 44h
.text:10ADC270 jp short loc_10ADC299
.text:10ADC272 movss xmm0, dword ptr [edx+ecx-3Ch]
.text:10ADC278 ucomiss xmm0, xmm1
.text:10ADC27B lahf
.text:10ADC27C test ah, 44h
.text:10ADC27F jp short loc_10ADC299
.text:10ADC281 movss xmm0, dword ptr [edx+ecx-38h]
.text:10ADC287 ucomiss xmm0, xmm1
.text:10ADC28A lahf
.text:10ADC28B test ah, 44h
.text:10ADC28E jp short loc_10ADC299
.text:10ADC290
.text:10ADC290 loc_10ADC290: ; CODE XREF: mozilla__dom__CanvasRenderingContext2D__Fill+6Ej
.text:10ADC290 mov eax, [edx+ecx-4]
.text:10ADC294 cmp dword ptr [eax], 0
.text:10ADC297 jbe short loc_10ADC2E3
.text:10ADC299
.text:10ADC299 loc_10ADC299: ; CODE XREF: mozilla__dom__CanvasRenderingContext2D__Fill+80j
.text:10ADC299 ; mozilla__dom__CanvasRenderingContext2D__Fill+8Fj ...
.text:10ADC299 mov eax, [edi+44h]
.text:10ADC29C lea ecx, [esp+88h+var_5C+4]
.text:10ADC2A0 push ecx
.text:10ADC2A1 lea ecx, [esp+8Ch+var_78]
.text:10ADC2A5 push ecx
.text:10ADC2A6 movdqu xmm0, xmmword ptr [eax+10h]
.text:10ADC2AB mov ecx, ebx
.text:10ADC2AD movdqu [esp+90h+var_5C+4], xmm0
Ага, canvas :geek: А это, вродеб, связано с аппаратным ускорением и direct2D. Сделал настройки в about:config
gl.msaa-level = 8
gfx.font_rendering.directwrite.enabled = true
gfx.vsync.hw-vsync.enabled = true

и уже часов пять смотрю виде и лазаю по сайтам(комбинации сайтов, где раньше 100% было падение) - падений пока нет. Мысли такие есть, что это-таки может быть баг xul.dll. Ну не падает при принудительном включении вертикальной синхронизации и др. настройках что выше.

Либо же, что-то надобно исправить в этом расширении, ибо там есть конечно эти все canvas-ы в файле showcase.js
Ведь в самом PM есть панель вкладок и там тоже canvas - но ничего не падает в любом случае, что с вкл. настройками выше, что без них.

Fedor2 а в Ольке тоже можно. качнул символы и если есть плуг для их загрузки в Ольке тоже будет видно. У мя слабый Core и долго-нудно будет грузить эти многомегабайтные файлы. В IDA проанализировал с символами и можно лазать смотреть. она базу сохранять умеет. Только изза этого. В ольке даже чуть больше понятней для мну.

Всё это предположения и угадайки, ибо не кодер я. Просто увлечение. так что, это все может быть не верно :wave:

User avatar
jars_
Lunatic
Lunatic
Posts: 397
Joined: 2016-12-27, 00:12

Re: Browser crash - при использовании расширения Showcase

Unread post by jars_ » 2018-03-16, 19:14

Да, фигтам.. упал через пру минут как написал что не падает xD
Теперь уже точно, место ф-ции определил. Символы+версия PM одинаковые
картинко
Image
текст .text:10ADACAE movdqu xmm1, xmmword ptr [ecx+10h] ;

.text:10ADAC97
.text:10ADAC97 loc_10ADAC97: ; CODE XREF: mozilla__dom__CanvasRenderingContext2D__DrawWindow+1B2↑j
.text:10ADAC97 test al, 10h
.text:10ADAC99 jz short loc_10ADAC9E
.text:10ADAC9B or ebx, 10h
.text:10ADAC9E
.text:10ADAC9E loc_10ADAC9E: ; CODE XREF: mozilla__dom__CanvasRenderingContext2D__DrawWindow+1B9↑j
.text:10ADAC9E cmp dword ptr [esp+0C4h+var_B4], 0
.text:10ADACA3 jz short loc_10ADACA8
.text:10ADACA5 or ebx, 40h
.text:10ADACA8
.text:10ADACA8 loc_10ADACA8: ; CODE XREF: mozilla__dom__CanvasRenderingContext2D__DrawWindow+1C3↑j
.text:10ADACA8 mov ecx, [ebp+44h]
.text:10ADACAB xorps xmm2, xmm2
.text:10ADACAE movdqu xmm1, xmmword ptr [ecx+10h] ; Сюда указывает адрес из Журнала - смещение ошибки: 0x00adacae
.text:10ADACB3 cvtss2sd xmm2, xmm1
.text:10ADACB7 movdqu [esp+0C4h+var_88+8], xmm1
.text:10ADACBD movq xmm0, qword ptr [ecx+20h]
.text:10ADACC2 mulsd xmm2, [esp+0C4h+arg_14]
.text:10ADACCB movq [esp+0C4h+var_70], xmm0
.text:10ADACD1 xorps xmm0, xmm0
.text:10ADACD4 shufps xmm1, xmm1, 0FFh
.text:10ADACD8 cvtss2sd xmm0, xmm1
.text:10ADACDC xorps xmm1, xmm1
.text:10ADACDF movsd [esp+0C4h+var_10], xmm2
.text:10ADACE8 mulsd xmm0, [esp+0C4h+arg_1C]
.text:10ADACF1 ucomisd xmm2, xmm1
.text:10ADACF5 movsd [esp+0C4h+var_B4], xmm2
.text:10ADACFB movsd [esp+0C4h+var_18], xmm0
.text:10ADAD04 lahf
.text:10ADAD05 movsd qword ptr [esp+30h], xmm0
.text:10ADAD0B test ah, 44h
.text:10ADAD0E jnp loc_10ADB138
.text:10ADAD14 ucomisd xmm0, xmm1
.text:10ADAD18 lahf
.text:10ADAD19 test ah, 44h
.text:10ADAD1C jnp loc_10ADB138
.text:10ADAD22 xor edi, edi
.text:10ADAD24 mov [esp+0C4h+var_AC], 0
.text:10ADAD2C push ecx
.text:10ADAD2D mov [esp+0C8h+var_A0], edi
.text:10ADAD31 call gfxPlatform__GetPlatform
.text:10ADAD36 mov ecx, eax
.text:10ADAD38 call gfxPlatform__SupportsAzureContentForDrawTarget
.text:10ADAD3D test al, al
.text:10ADAD3F jz loc_10ADADFE
.text:10ADAD45 mov ecx, [ebp+84h]
.text:10ADAD4B imul eax, [ecx], 0D8h
.text:10ADAD51 movss xmm0, dword ptr [eax+ecx-2Ch]
.text:10ADAD57 ucomiss xmm0, ds:__real@3f800000
.text:10ADAD5E lahf
.text:10ADAD5F test ah, 44h
.text:10ADAD62 jp loc_10ADADFE
.text:10ADAD68 push 60h
.text:10ADAD6A call ds:__imp__moz_xmalloc
.text:10ADAD70 add esp, 4
.text:10ADAD73 test eax, eax
.text:10ADAD75 jz short loc_10ADAD90
.text:10ADAD77 lea ecx, [esp+0B4h+var_A4]
.text:10ADAD7B mov [esp+0B4h+var_A4], edi
.text:10ADAD7F push ecx
.text:10ADAD80 push dword ptr [ebp+44h]
.text:10ADAD83 mov ecx, eax
.text:10ADAD85 mov [esp+0BCh+var_A0], edi
.text:10ADAD89 call gfxContext__gfxContext

писец.
Last edited by jars_ on 2018-03-16, 19:19, edited 2 times in total.

Locked