Page 9 of 18

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Aug 18, 2011 4:40 pm
by maximYCH
: /* разработчик тихо потирает руки: пора заканчивать пить сок и идти пилить свой менеджер обновлений, т.е. стремиться к полезным результатам */

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Aug 18, 2011 4:52 pm
by Mario
Тостер - не разработчик, но уже ближе.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Aug 18, 2011 9:58 pm
by Mario
SVN r.2063 - MAGNIFY, проверка окна на "свернутость" (rolled up) перед отрисовкой.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Mon Oct 03, 2011 11:38 pm
by mike.dld
KFAR has 2 defects (at least for me):
1. it crashes if I'm trying to edit file of zero size
2. it doesn't update panels after editing is completed, so old file size is displayed

For the 1st defect, crash log is

Code: Select all

K : Process - forced terminate PID: 00000027
K : Page fault
K : EAX : FFFFF01B EBX : 0005D9E4 ECX : 000003F9
K : EDX : 00000FE4 ESI : 0005D9E4 EDI : 0006200C
K : EBP : 0005C000 EIP : 0000387E ESP : 0002B770
K : Flags : 00011206 CS : 0000001B (application)

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Fri Oct 07, 2011 8:43 pm
by Leency
Очень интересная вещь.

Я решил переделать Flood-it в игрушку Clicks. До этого рисовались цветные квадратики. Сейчас вместо них должны рисоваться кнопочки. Делаю так:

Code: Select all

//DrawBar(j*BLOCK_SIZE+USER_PANEL_WIDTH, i*BLOCK_SIZE+5, BLOCK_SIZE,BLOCK_SIZE, FIELD_COLORS[color_id]);
DefineButton(j*BLOCK_SIZE+USER_PANEL_WIDTH,i*BLOCK_SIZE+5,BLOCK_SIZE,BLOCK_SIZE, i*BLOCKS_NUM+j+100,FIELD_COLORS[color_id]);
И тут обнаруживаю, что нарисованные кнопки на 1 пиксель больше, квадратиков, которые до этого рисовались!
Почему?

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Fri Oct 07, 2011 8:51 pm
by SoUrcerer
А ты можешь сделать скриншоты, чтобы замерить размеры по точкам?
Судя по коду, который ты дал,

Code: Select all

void DrawBar(dword x,y,w,h,EDX)
{
	EAX = 13;
	EBX = x<<16+w;
	ECX = y<<16+h;
 	$int 0x40
}

void DefineButton(dword x,y,w,h,EDX,ESI)
{
 	EAX = 8;
	EBX = x<<16+w;
	ECX = y<<16+h;
 	$int 0x40
}
И значит, размеры должны совпадать.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Fri Oct 07, 2011 8:56 pm
by Leency
Должны, а не совпадают. Кнопки на 1 пиксель больше в ширину и длинну.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Fri Oct 07, 2011 8:58 pm
by Albom
А если установить плоский тип кнопок? (а не 3d, который по умолчанию)

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Fri Oct 07, 2011 9:01 pm
by Leency
Тоже самое.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Sat Oct 08, 2011 12:39 am
by Rock_maniak_forever
Это давно так, ещё помойму с Менуета осталось. Линии. кнопки, окна и что-то ещё, на 1 пиксель больше рисуются, по оси х и у. Почему так, думаю только Вилле знает.

Posted: Tue Nov 15, 2011 11:03 pm
by 0CodErr
В чём может быть причина «Page fault»?
На ядре 1319 всё нормально. А вот в 2306 и 2307 — такая ошибка. Моё приложение вылетает сразу после отрисовки окна.
Image

Программа отображает увеличенный участок экрана под указателем мыши и показывает RGB-цвет точки.
Скриншот её тут: viewtopic.php?p=38800#p38800

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Tue Nov 15, 2011 11:20 pm
by Mario
Скилл "telepathy" приветствуется.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Tue Nov 15, 2011 11:24 pm
by mike.dld

Code: Select all

Vesa20_getpixel32:
        imul    ebx, [BytesPerScanLine] ; ebx = y * y multiplier
        lea     edi, [ebx+eax*4]; edi = x*4+(y*y multiplier)
        mov     ecx, [LFB_BASE+edi] ; <--- crash here, `LFB_BASE+edi` points below LFB area due to overflow
        and     ecx, 0xffffff
        ret
EBX contains illegal value in the first place.

Posted: Wed Nov 16, 2011 1:32 am
by 0CodErr
mike.dld
я так понимаю, что эта функция getpixel была изменена в новых версиях ядра.

Раньше, если подвести указатель к краю экрана, то программа отображала кусочек с противоположного края.
Image

Теперь на новых версиях ядра это свойство программы сохранилось только для горизонтального направления.
Если опустить указатель вниз, то кусочек сверху не отобразится — вместо него чернота.
Image

Если же поднять указатель наверх — программа вылетает.

И вот что ещё заметил:
при перемещении окна за заголовок отображается инверсный прямоугольник, так вот,
если во время перемещения процесс умирает(как у меня) — прямоугольник всё ещё остаётся и при этом может оставить артефакт на окне другого приложения.
Image

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Wed Nov 16, 2011 11:59 am
by art_zh
mike.dld
That code was always working well, nothing changed -- maybe something damages [BytesPerScanLine] ?
What screendriver is used? Emulator?