Page 10 of 11

Re: Docky

Posted: Thu Feb 26, 2015 4:05 pm
by Leency
Leency wrote:1. Прошу добавить флаг ashow - всегда показывать развёрнутой.
Сам сделал, прям в Колибри, прям на ассемблере :)
rev 5475

Всё клёво, только шрифт :(

Re: Docky

Posted: Mon Jan 25, 2016 1:31 pm
by Leency
http://vk.com/topic-48924138_27963181?post=3094
Ян Вильмовский wrote:Кстати, у Docky есть баг, воспроизводится так: открываешь окно; тащишь его на то место, где открывается Docky; сворачиваешь его кнопочкой в заголовке; вызываешь Docky; убираешь мышь, док исчезает, а свернутое до этого окно становится видимым.
Ясное дело, док перерисовывает окна, которые коллизируют с ним в пространстве, но стоило бы проверять их статус на тот момент. Есть же у окон статус "свернуто"-"развернуто"?
Воспроизвел, баг есть.
Док перед тем как восстановить окно не проверяет его статус: свернуто/развернуто.

Re: Docky

Posted: Mon Dec 20, 2021 9:32 pm
by Leency
Docky по-умолчанию выключен для ночных сборок.
Он про прежнему висит в автозагрузке, но я добавил код, который смотрит в параметр attachement в ini, если он равен 0, то док не запускается.

Таким образом, если вы включите док и перезагрузитесь он будет запущен без необходимости модифицировать autorun.dat.

Re: Docky

Posted: Fri Dec 31, 2021 12:13 am
by Leency
Я отрефакторил Docky и сделал изменение системных цветов на лету.

Re: Docky

Posted: Thu Sep 08, 2022 9:35 pm
by Valery
Если это о @docky то:

Code: Select all

K : kernel SVN r9850
...
L: /SYS/@DOCKY Param: 
K : Process - forced terminate PID: 00000010 [@DOCKY]
K : Page fault
K : EAX : 00008000 EBX : 00008000 ECX : 00000000
K : EDX : 70005FF0 ESI : 00000000 EDI : 00000000
K : EBP : 000015BC EIP : 70008299 ESP : 00001568
K : Flags : 00011206 CS : 0000001B (application)
K : Stack dump:
K : [ESP+00]: 00000001 [ESP+04]: 00000000 [ESP+08]: 00000000
K : [ESP+12]: 0000023D [ESP+16]: 00000000 [ESP+20]: 00000000
K : [ESP+24]: 00000000 [ESP+28]: 00000000 [ESP+32]: 00000000
...
Edit1:
А с K : kernel SVN r9185 всё работает нормально и программа не обновлялась - а это ещё хуже:
значит проблемы в ядре (Edit : поспешное и неверное утверждение).
Edit1: На самом деле обновлялась, и новая программа на старом дистрибутиве даёт Page Fault, но какая-то мистика ... (см. ниже)

Re: Docky

Posted: Fri Sep 09, 2022 6:29 pm
by Pathoswithin
Судя по тому, что EIP начинается на 7, это больше похоже на ошибку в подключённой библиотеке.

Re: Docky

Posted: Sat Sep 10, 2022 3:47 am
by Valery
Итак запустил новую docky на старом дистрибутиве:
Downloaded 45 times

Code: Select all

K : Page fault
K : EAX : 0000B000 EBX : 0000000C ECX : 00000000
K : EDX : 00DDD7CF ESI : 00008000 EDI : 0000B000
K : EBP : 000015F0 EIP : [b]00001032[/b] ESP : 000015DC
docky.png
docky.png (49.42 KiB)
Viewed 4998 times
Мистика в том, что я не могу найти строку кода на WebSVN ...
Наиболее близкая <304.>:

Code: Select all

    pop     edi
 
    cmp     byte[dock_items.separator + edi], 1
    jne     .end_separator
Но это ведь не она, а больше ничего похожего не нашёл ...

Re: Docky

Posted: Sat Sep 10, 2022 9:56 am
by Doczom
docky.asm строка 601, макрос m2m из macros.inc

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

Проблема скорее всего не в ядре, так как eip не ядерный и соответствует памяти приложения, для точности стоит наверное проверить весь код на работу с адресом который находится в edi, из за которого и происходит Page Fauil

Re: Docky

Posted: Sat Sep 10, 2022 3:14 pm
by Valery
docky.asm строка 601
Да - это она, и если proc icon32cpy вызвана штатно (а не прилетели сюда ввиду потери управления), то
- то ли len ;
- то ли dest ;
были заданы неправильно (и причём тут edi?)...

Но я не об этом ... Завершив запланированный сбор анализов, приведу некоторый отчёт:
Новая @docky
на старых дистрибутивах (не только r9185, но и ещё раньше):
(1)даёт Page Fault по адресу 0x1032 (строка 601), при этом до него проходит заметное время;
Проверка разных конфигураций загрузки не проволилась: может всё же стоит?
на последнем дистрибутиве (r.9872)
(2) даёт Page Fault по адресу 0x70008299 (то есть - где-то в вызываемой библиотеке), причём это происходит сразу;
(3) просто завершает исполнение, причём сразу;
Поведение (2) наблюдается на "железе" и на QEMU с ускорением KVM (когда QEMU по возможности старается исполнять код на процессоре компьютера, а не на эмулируемом процессоре). Только один раз мне удалось обнаружить на QEMU с ускорением KVM поведение (3), но
повторить не получилось (я как-то менял разрешение и битность экоана ...)
Поведение (3) наблюдается на QEMU по умолчанию (когда используется эмуляция процессора).
Похоже, что разрешение и битность экрана либо не влияют, либо влияют редко.
Демонстрация поведения (3):
https://drive.google.com/file/d/1NzeOd4 ... sp=sharing
Лог:
Downloaded 45 times
Можно заметить, что старая docky на новом дистрибутиве запускается, но ведёт себя странно - значит что-то существенное изменилось в библиотеках(И / ИЛИ) в ядре.
Следует также отметить, что новый дистрибутив на железе, и на QEMU с KVM загружается неустойчиво, причём поведение напоминает состояние гонки с зависанием (dead lock on spinlock) в некоторых случаях.

Предварительные выводы:
(1) есть большое подозрение о потере управления (несогласованность по стеку, ... );
(2) конфигурация компьютера (причём как раз не параметры графики), как-то влияет на поведение docky
(что вполне понятно, если программа "пробегает" по данным)

Re: Docky

Posted: Sat Sep 10, 2022 8:31 pm
by Doczom
были заданы неправильно (и причём тут edi?)...
вы же сами смотрели на чём падает, обратите внимание на регистры

по поводу первого случая всё понятно, там возможно отсутствует проверка на наличие @reshare, по этому на старых версиях, где этого демона не было программа и падает

Re: Docky

Posted: Sat Sep 10, 2022 8:32 pm
by Doczom
были заданы неправильно (и причём тут edi?)...
вы же сами смотрели на чём падает, обратите внимание на регистры

по поводу первого случая всё понятно, там возможно отсутствует проверка на наличие @reshare, по этому на старых версиях, где этого демона не было программа и падает

Re: Docky

Posted: Sat Sep 10, 2022 8:41 pm
by Doczom
Следует также отметить, что новый дистрибутив на железе, и на QEMU с KVM загружается неустойчиво
ну давайте ещё и вы скажите что после новых изменений ядра всё работает плохо. Если ВАМ надо то ВЫ и чините, у меня всё норм работает, ничего не знаю, а про те баги которые я знаю могу сказать одно, ядро в некоторых местах слеплено мягко говоря на скорую руку, причём не мной например, а теми кто был давно до меня. Берите, изучайте и меняйте.

Ну и так, ядро и образ обновлять нужно, а не допотопные версии программ использовать

Re: Docky

Posted: Sun Sep 11, 2022 11:43 am
by Valery
Doczom, извините меня пожалуста за фразу "(и причём тут edi?)." - я здесь был неоправданно резок .
Надо было написать: "При более детальном рассмотрении похоже, что поиск по edi безпереспективен"
после новых изменений ядра всё работает плохо
Я не критикую, а просто отмечаю совпадение намекая на то,
что возможно @docky у меня падает потому, что сама OS плохо работает (у меня)

Да и ,Doczom,- спасибо за подсказку, я сам бы долго искал ...

Re: Docky

Posted: Sun Sep 11, 2022 12:35 pm
by Doczom
ночью залил фикс этого бага, исправление не заключительное, так как там нужно ещё кое что проверить.
По падению в библиотеке сегодня посмотрю.
Ну и дополнительный баг на виртуалке, если сменить фокус на фон, а потом навести на док, при сворачивающемся доке, то переместить курсор в другое место, то есть вероятность что перерисовки фона не будет. это скорее всего баг ядра, то оконную подсистему и так менять

Re: Docky

Posted: Sun Sep 18, 2022 10:40 am
by Valery
Я могу ошибаться, но похоже что @docky как раз и выводит систему из строя (на QEMU+KVM).
А у Вас @docky может быть работает без проблем? Или тоже page fault?

Edit:
https://drive.google.com/file/d/1M9jaR_ ... sp=sharing
А так ведёт при QEMU без KVM: что-то у @docky не ладится с @reshare ...