Page 5 of 17

Re: Bugzilla

Posted: Mon Apr 12, 2010 1:51 pm
by Mario
А ничего удивительного - никто ее и не использовал с момента внедрения.

Re: Bugzilla

Posted: Tue Apr 20, 2010 3:12 am
by Nasarus
Микробаг в MTDBG: при первом запуске программы первый нажатый символ всегда воспринимается как пробел. Дальше все норм.

Re: Bugzilla

Posted: Tue Apr 27, 2010 3:59 pm
by Muxto
всем привет)

сразу оффтоп
спасибо всем разработчикам за колибри!
когда накрылась вЕнда, мне срочно понадобилось вытащить с жесткого образ. убунта-лайвСД отказалась грузиться, ничем не обосновывая. а с помощью колибри скопировал нужный образ с нтфс на флешку. правда, 600-мегабайтный файл качался больше часа))

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

Re: Bugzilla

Posted: Tue Apr 27, 2010 4:23 pm
by Mario

Re: Bugzilla

Posted: Thu Apr 29, 2010 3:23 pm
by diamond
Технически, в текущем ядре с NTFS были замечены глюки с именами, содержащими букву 'Ё' (ну и вообще с символами, не входящими в 26*2 букв латинского алфавита и 32*2 букв русского алфавита без 'Ё'). До фикса руки у меня пока не дошли.
Вопрос с исчезновением после перезагрузки более интересный... у меня два варианта: в первом между загрузками Колибри была загрузка винды, которая по каким-то причинам решила перестроить B-дерево индекса этой папки, и в новой структуре глюк с Ё проявился; во втором предполагается, что диск ATA, виден и как /hd*, и как /bd*, важные данные папки оказались за пределом 128Г, и в одном случае первое чтение папки было через /bd-интерфейс (корректно обрабатывающий размеры до 2Т), а в другом - через /hd-интерфейс (неправильно обрабатывающий данные после границы 128Г).

Re: Bugzilla

Posted: Thu Apr 29, 2010 7:36 pm
by Muxto
отвергаю первое подозрение diamond-a.
перезагрузки в винду не было, так как Колибри была единственной рабочей ОС на ноуте).
а вот второе вполне может быть.
папка с фотками - 1,49 GB (1 600 740 642 bytes), 537 файлов.
диск забит на 257 гб. уважаемый diamond, вы хотите сказать что половина данных может не открыться?
косяк появился при загрузке Колибри с лайвСД. Я скопировал пару фоток, потом перезагрузился и Колибри перестала их видеть.
постараюсь повторить баг и снять скрин

Re: Bugzilla

Posted: Thu Apr 29, 2010 9:04 pm
by Muxto
а еще Колибри не захотела увидеть 4-й раздел жесткого диска с фат32 (остальные три - нтфс).
хотя грузится с него))

Re: Bugzilla

Posted: Thu Apr 29, 2010 10:13 pm
by diamond
Ранние версии интерфейса ATA (он же IDE) для номера сектора использовали 28 бит, что при стандартном размере сектора 512 байт составляет 128 Гб. В более поздних версиях появилось расширение LBA48, позволяющее задавать 48-битный номер сектора. Но Колибри про это расширение ничего не знает, так что за границей 128Г прочесть самостоятельно ничего не сможет.

Однако про это расширение знает BIOS. Что, во-первых, позволяет проводить загрузку, а во-вторых, позволяет Колибри таки читать диск и после 128Г через BIOS-интерфейс.

На уровне пользователя это выглядит, как будто один физический диск раздваивается на два одинаковых /hdN и /bdM. Тем не менее при размерах >128Г первый (с данными после этой границы) работает неправильно, а второй - правильно. (Собственно, поэтому второй и не вырубается, обнаружив первый.) Впрочем, есть ещё нюанс: дисковый кеш у двух устройств совпадает, так что правильность чтения зависит от того, через какой интерфейс впервые были прочитаны данные. Кстати, поскольку при детекте разделов сначала проверяются /hd-диски, то разделы за пределом 128Г не будут обнаружены и на /bd-дисках.

Re: Bugzilla

Posted: Sun May 30, 2010 5:31 pm
by diamond
Nasarus wrote:Микробаг в MTDBG: при первом запуске программы первый нажатый символ всегда воспринимается как пробел. Дальше все норм.
Не удалось повторить.

Re: Bugzilla

Posted: Thu Jun 17, 2010 10:17 am
by Nasarus
UPD: Правильный вызов сисфункции 68.23 отправляет ядро со всей системой в Тартарары и анабиоз.

Re: Bugzilla

Posted: Thu Jun 17, 2010 10:52 am
by <Lrz>
Все верно, необходимо в файле memory.inc в обработчике 68 сис функции

Code: Select all

.23:
cmp ecx, OS_BASE
jae .fail
mov	ebx,ecx
stdcall shmem_close, ebx
Заменить это stdcall shmem_close, eсx
на это
mov ebx,ecx
stdcall shmem_close, ebx


Это я ошибся, когда переписывал 68 сис. функцию.

Re: Bugzilla

Posted: Thu Jun 17, 2010 10:56 am
by Nasarus
Все верно, необходимо в файле memory.inc в обработчике 68 сис функции
Я не могу изменить, у меня нет SVN-аккаунта =(

Re: Bugzilla

Posted: Thu Jun 17, 2010 11:19 am
by <Lrz>
Nasarus wrote:
Все верно, необходимо в файле memory.inc в обработчике 68 сис функции
Я не могу изменить, у меня нет SVN-аккаунта =(
Дождись вечера, если никто раньше меня не исправит - поправлю на SVN.

Re: Bugzilla

Posted: Thu Jun 17, 2010 11:35 am
by Nasarus
<Lrz>
Странно.. Исправил memory.inc, как ты посоветовал. Перекомпилировал ядро, записал его в образ, запустился - ядро опять зависло (

Re: Bugzilla

Posted: Thu Jun 17, 2010 12:03 pm
by <Lrz>
Вышли пример приложения, которое подвешивает систему