Page 26 of 91

"Ночные" сборки KolibriOS

Posted: Fri Sep 02, 2011 9:34 pm
by Mario
CleverMouse
Ревизия 2137 приводит к багу - функция 70.1 (чтение папки с поддержкой длинных имён) перестает соответствовать описанию. В частности при чтении с кодом возврата 6 (6 = файл закончился) в EBX возвращается не:
ebx = число файлов, информация о которых была записана в буфер, или -1=0xffffffff, если папка не найдена
а мусор. В моем случае падает KFM - вместо значения 7, при чтении корневого раздела "/", вернулось 0x80040764 - явный мусор.
В ревизии 2129 все согласно документации.

З.Ы. Если посмотреть лог загрузи в BOARD, то видно что падает еще какое-то приложение из автозагрузки, по крайней мере в Qemu.

Re: Динамическое определение дисковых устройств

Posted: Fri Sep 02, 2011 10:06 pm
by CleverMouse
ilya, любой добавленный диск уникален.
Mario, r2145.

Re: Динамическое определение дисковых устройств

Posted: Fri Sep 02, 2011 10:13 pm
by Mario
CleverMouse wrote:Mario, r2145.
Проблема с 70 функцией исчезает, но остается проблема с ZEROCONF, который по прежнему падает - необходимо исправить все случаи вызова mutex_unlock

Re: Динамическое определение дисковых устройств

Posted: Fri Sep 02, 2011 10:35 pm
by CleverMouse
mutex_unlock проще объявить не меняющей edx, тем более что в ветке kolibri-acpi Serge поправил код. Намного опаснее ситуация с mutex_lock, которая иногда меняет edx - в принципе конвенция вызова gcc fastcall, которой следует mutex_lock, это разрешает, но не все правки r2129 это учитывают.

Re: Динамическое определение дисковых устройств

Posted: Fri Sep 02, 2011 10:57 pm
by Mario
Все равно падает ZEROCONF

З.Ы. К тому же падают KFM, KFAR и Eolite при попытке прочитать /bdX/X/ диски, раньше чем соответствующие директории были прочитаны как /hdX/X/
UPD. Впрочем последнее произошло с ревизий 2112-2113.

Re: Динамическое определение дисковых устройств

Posted: Fri Sep 02, 2011 11:05 pm
by CleverMouse
Проблемы в socket.inc я поправила в r2147. Проблемы с доступом через BIOS ни к моим изменениям, ни к r2129 отношения не имеют, падение происходит в v86_exc_c.exit.

Re: Динамическое определение дисковых устройств

Posted: Fri Sep 02, 2011 11:10 pm
by Mario
Спасибо, теперь буду ждать реакции Сергея.

Re: Динамическое определение дисковых устройств

Posted: Sat Sep 03, 2011 12:29 am
by ilya
CleverMouse wrote:ilya, любой добавленный диск уникален
каким образом ядро узнает что добавленый диск не является копиеей уже существующего диска в списке дисков ядра? (какие критерии - пояснение для DummyMouse)
Через какое ID ядро обращается к диску который сидит на каком нибудь контроллере (типа IDE или друой) ? Каким образом драйвер или ядро узнают это ID? В какое время?
Жду ответов, так как они непосредственно влияют на API

Re: Динамическое определение дисковых устройств

Posted: Sat Sep 03, 2011 11:07 am
by Serge
Mario
Исправил /bd/ в 2149.

Re: Динамическое определение дисковых устройств

Posted: Sat Sep 03, 2011 4:59 pm
by Mario
Спасибо. Теперь порядок.

Re: "Ночные" сборки KolibriOS

Posted: Mon Sep 05, 2011 12:55 pm
by Leency
Вот такая вот ошибочка (во всех ФМ). Кстати, при обращении к определённым файлам на флешке комп зависает, чего не было до этого. Причина в последних изменениях, если что могу потестить... через 4 дня.
1.png
1.png (95.26 KiB)
Viewed 4565 times

Re: "Ночные" сборки KolibriOS

Posted: Mon Sep 05, 2011 1:26 pm
by Leency
Всё проще - ошибка возникает при попытке запуска непрограммы, например, menu.dat. Код ошибки должен был бы быть 31, вроде бы.

Re: "Ночные" сборки KolibriOS

Posted: Mon Sep 05, 2011 2:23 pm
by Serge
Исправил.

Re: "Ночные" сборки KolibriOS

Posted: Wed Sep 07, 2011 9:34 pm
by Mario
С ревизии 2129 сломана процедура kernel_free в trunk/core/heap.inc
Столкнулся при вызове функции 15.1 - старый кусок памяти выделенный под фоновое изображение не возвращается системе. Хорошо заметно на больших по размеру изображениях. В результате постоянная утечка памяти.

Re: "Ночные" сборки KolibriOS

Posted: Wed Sep 07, 2011 11:30 pm
by Serge
Mario В последней ревизии тоже ?