Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс сен 24, 2017 4:12 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 1159 сообщений ]  На страницу Пред. 173 74 75 76 77 78 След.
Автор Сообщение
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Ср мар 16, 2016 3:16 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб сен 27, 2014 2:59 pm
Сообщения: 102
Serge писал(а):
YasonДва потока tinypad используют одну область памяти для командной строки при вызове fasm и в качестве буфера для сохранения информации о процессе fn.9 Синхронизация доступа отсутствует. Результат немного предсказуем.
Ясно.

Serge
В свежей н.с., всё работает штатно. Спасибо за исправления. :D :D :D


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Вс мар 20, 2016 11:11 am 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1073
После ревизии 6333 не запускается по ассоциации zSea.

Это может быть следствие того, что ФМ не меняют рабочую директорию перед запуском программы?

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Вс мар 20, 2016 11:52 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
punk_joker
Нет, это я поменял алгоритм загрузки приложения. Буду разбираться.


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Чт мар 24, 2016 8:22 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 742
Есть подозрение что сист. ф. 68.20 - перераспределить блок памяти в случае не возможности выделить новую память возвращает в eax не 0 как написано в документации, а значение из указателя edx при входе в функцию.
Пробовал в virtualbox создавать виртуальную систему с памятью 128 Мб. Запускал в ней программу animage, которая выделяла 210 Мб (5 буферов под фотографию 14 Мп), и программа вела себя нормально не выдавая никаких сообщений о нехватке памяти. Потом при попытках редактирования изображения сразу закрывалась, очевидно лезла на нехватающую память.


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Пт мар 25, 2016 3:37 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
IgorA
Там скорее другое. Память выделяется не сразу, а по мере обращения к страницам, в обработчике страничных ошибок. Когда обработчик не может выделить новую страницу он прибивает процесс.


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Пт мар 25, 2016 4:57 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1177
Так может при выделении адресов нужно хотя-бы проверять количество свободной памяти?

IgorA
А 5 буферов выделяются одним блоком или по отдельности?


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Сб мар 26, 2016 2:36 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб сен 27, 2014 2:59 pm
Сообщения: 102
r6371.

Писал программу и заметил баг, связанный с сис. функцией 47 (вывод числа в окно). Тест, проводил на реальном железе.

Если в функции, установить бит увеличения шрифта, с любым множителем, кроме нулевого (например: 0x11ff0000), то, если после этого, попытаться передвинуть окно, больше 1 раза, то окно, намертво виснет. Или может, я чего напутал? Доска отладки, ничего не показывает.
Код:
mcall 47, 0x00080100, 0x11223344, <10, 70>, 0x11ff0000
Прикрепил тестовый код.


Вложения:
PrintN.7z [5.97 КБ]
104 скачивания
Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Сб мар 26, 2016 3:25 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 742
Pathoswithin писал(а):
Так может при выделении адресов нужно хотя-бы проверять количество свободной памяти?

функцией 18.16 ? Надо попробовать.
Pathoswithin писал(а):
А 5 буферов выделяются одним блоком или по отдельности?

блок один, а для разделения просто ставятся указатели


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Вс мар 27, 2016 12:12 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1177
Я имел в виду, что если может возникнуть такая проблема, то может в ядре нужно проверять количество свободной памяти перед выделением адресов...

Yason, обрати внимание, что в функции 47 младший бит увеличения шрифта соответствует параметру "неперемещаемое окно" в функции 0.


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Пн мар 28, 2016 2:02 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб сен 27, 2014 2:59 pm
Сообщения: 102
Цитата:
Yason, обрати внимание, что в функции 47 младший бит увеличения шрифта соответствует параметру "неперемещаемое окно" в функции 0.
Ясно. Не обратил внимание на то, что в примере из дистра, в вызове сис. функции 0, макросом mcall, нет принудительной очистки регистра esi.

Спасибо, за подсказку! :)


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Пт июн 10, 2016 4:51 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1018
Это уже не актуально http://board.kolibrios.org/viewtopic.php?f=5&t=1602&start=990#p57305
Serge пофиксил #6318


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Пн окт 31, 2016 2:01 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4176
PDF ассоциаций в ФМ не было.
Fplay ассоциации в KFM и KFAR прописаны были не правильно.

Fixed.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Чт ноя 10, 2016 7:14 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4176
Код:
======================================================================
========== Функция 68, подфункция 12 - выделить блок памяти. =========
======================================================================
Параметры:
  * eax = 68 - номер функции
  * ebx = 12 - номер подфункции
  * ecx = требуемый размер в байтах
Возвращаемое значение:
  * eax = указатель на выделенный блок
Замечания:
  * Предварительно следует инициализировать кучу процесса вызовом
    подфункции 11.
  * Функция выделяет целое число страниц (4 Кб) так, что фактический
    размер выделенного блока больше или равен запрошенному.
 
---------------------- Константы для регистров: ----------------------
  eax - SF_SYS_MISC (68)
  ebx - SSF_MEM_ALLOC (12)

Что возвращается в случае неудачи?
0, -1, ... ?

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Чт ноя 10, 2016 7:50 pm 
Не в сети

Зарегистрирован: Вт июн 24, 2008 11:12 pm
Сообщения: 31
Очевидно, что NULL, указатель всё-таки. Вот выход из user_alloc:
Код:
.m_exit:
        mov     ecx, [current_process]
        lea     ecx, [ecx+PROC.heap_lock]
        call    mutex_unlock
 
        xor     eax, eax
        pop     edi
        pop     esi
        pop     ebx
        ret

_________________
Делай как знаешь...


Вернуться к началу
 Заголовок сообщения: Re: "Ночные" сборки KolibriOS
СообщениеДобавлено: Чт ноя 10, 2016 8:33 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4176
Я написал программу, она пытается сделать malloc очень большого размера и на выходе я ожидаю нолу, а получаю какое-то число.
Ядерщики, посмотрите, пожалуйста.


Вложения:
malloc_fail.zip [1.52 КБ]
12 скачиваний

_________________
Через тернии к звездам
Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 1159 сообщений ]  На страницу Пред. 173 74 75 76 77 78 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB