Board.KolibriOS.org

Official KolibriOS board
It is currently Wed May 22, 2019 6:16 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 115 posts ]  Go to page Previous 13 4 5 6 7 8 Next
Author Message
PostPosted: Tue Jun 18, 2013 12:01 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Моя KolibriOS предлагает, однако. И про case-sensitive fs не забываем.

SVN r. 3676 - монтирование с добавлением директории "/kolibrios" к найденному разделу с файл-меткой.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Tue Jun 18, 2013 1:11 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SVN r. 3677 - видеоплеер Fplay добавлен в ночную сборку. Я выбрал максимальную версию. Сервер естественно не собирает из исходников, так как их нет, а просто включает в ISO образ бинарник. Учитывайте, что автоматический запуск работает лишь при наличии раздела диска с файл-меткой kolibri.lbl, т.е. в общем случае требуется наличие CD/DVD ISO образа KolibriOS в приводе, версии сборки 3677 или новее. Все вопросы непосредственно связанные с работой видеоплеера нужно обсуждать в целевой теме FPlay - видеоплеер в Колибри.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Tue Jun 18, 2013 3:51 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SVN r. 3678 - блокировка потенциальной проблемы изменения данных, в то время когда ими уже пользуются. Пока сделал при помощи CLI, потом сделаю мьютекс.

SVN r. 3679-3680 - USB диски не успевали быть обнаруженными системой до запуска программы. Программа теперь запускается последней, плюс launcher ожидает, когда завершится предыдущая программа монтирующая TMP диск, плюс в самой программе задержка на 5 секунд.

Во время испытаний заметил, что /bd диски адски тормозят при вызове ф.70.5 для несуществующего файла. Весьма сомнительно, что это проблема моих изменений, хотя на все сто процентов отрицать такую возможность не буду. Нужно проверять на более ранних ревизиях, так как ядро сильно менялось за последнее время, а может баг вообще старый совсем.

Особенно эффект заметен если программ запускается в начале списка приложений launcher, как это было вначале/ На некоторых машинах доходит до полной парализации подсистемы USB - курсор мыши более не движется и любые коммутации USB устройств вообще не дают никаких результатов. Даже вывод на доску отладки ничего не показывает. Никаких PageFault при этом нет. В Qemu такого не наблюдалось. В общем чудесатые чудеса.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Tue Jun 18, 2013 9:34 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Spoiler: Show
Code:
        mov    eax, 30
        mov    ebx, 3
        mov    ecx, mount_data
        int    64
        or     eax, -1
        int    64
mount_data:
        db     'sys',0
        resb    64 - 4
        db     'CD0/1',0
        resb    64 - 6
Само ядро не делает проверок что ли?
svn3682


Top
   
PostPosted: Tue Jun 18, 2013 9:59 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
Spoiler: Show
Code:
        mov    eax, 30
        mov    ebx, 3
        mov    ecx, mount_data
        int    64
        or     eax, -1
        int    64
mount_data:
        db     'sys',0
        resb    64 - 4
        db     'CD0/1',0
        resb    64 - 6
Само ядро не делает проверок что ли?
svn3682

Не понял сути вопроса.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Tue Jun 18, 2013 10:08 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Монтирование должно либо выполняться корректно, либо не выполняться совсем. В этом случае желательно вернуть код ошибки(сейчас эта SysFn не возвращает ничего).
Ну а тот код выполняется, то есть, происходит монтирование, и система, вероятно, начинает считать, что "sys" у нас теперь не "/rd/1", а "CD0/1".


Top
   
PostPosted: Tue Jun 18, 2013 10:47 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
Монтирование должно либо выполняться корректно, либо не выполняться совсем. В этом случае желательно вернуть код ошибки(сейчас эта SysFn не возвращает ничего).
Ну а тот код выполняется, то есть, происходит монтирование, и система, вероятно, начинает считать, что "sys" у нас теперь не "/rd/1", а "CD0/1".

Ты совершенно не понял кода. Как было смонтировано первичное "sys" = "rd/1", так и остается. В блок данных вставляется вторая строка и указатель количества строк для проверки изменяется к 2. Если добавлять вторичный "sys", то код до него тупо не дойдет, потому что сработает на первичном. Содержимое передаваемого блока контролируется исключительно по размеру и остается на совести прикладного программиста. Кода ошибки нет, потому что функция вызывается однократно, а повторные вызовы невозможны в течение этого сеанса работы ОС.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Tue Jun 18, 2013 11:21 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Я просто скомпилировал этот код:
Spoiler: Show
Code:
ORG 0
BITS 32
        db     'MENUET01'
        dd     1
        dd     start_
        dd     end_
        dd     end_
        dd     end_
        dd     0
        dd     0
start_:
        mov    eax, 30
        mov    ebx, 3
        mov    ecx, mount_data
        int    64
        or     eax, -1
        int    64
mount_data:
        db     'sys',0
        resb    64 - 4
        db     'CD0/1',0
        resb    64 - 6
end_:
И запустил. После этого не запустилась ни одна программа ни с рабочего стола, ни из @RB. При запуске FASM запустилась @notify с сообщением об ошибке.


Top
   
PostPosted: Tue Jun 18, 2013 11:24 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Mario_r4 wrote:
а повторные вызовы невозможны в течение этого сеанса работы ОС.
А если юзер захочет загрузить Колибри в /tmp/ диск и вытащить CD? А если он хочет установить её с CD на жёсткий диск что тогда? Нужен ребут, как в Win95/98? Лучше сделать возможным повторный вызов функции.

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


Top
   
PostPosted: Tue Jun 18, 2013 11:31 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
Я просто скомпилировал этот код:
Spoiler: Show
Code:
ORG 0
BITS 32
        db     'MENUET01'
        dd     1
        dd     start_
        dd     end_
        dd     end_
        dd     end_
        dd     0
        dd     0
start_:
        mov    eax, 30
        mov    ebx, 3
        mov    ecx, mount_data
        int    64
        or     eax, -1
        int    64
mount_data:
        db     'sys',0
        resb    64 - 4
        db     'CD0/1',0
        resb    64 - 6
end_:
И запустил. После этого не запустилась ни одна программа ни с рабочего стола, ни из @RB. При запуске FASM запустилась @notify с сообщением об ошибке.

Ты вероятно прирожденный тестер - нужно идти работать в Мелкософт. Пусть они там сдохнут исправляя баги. :lol:
Ситуацию с двумя "sys" действительно не проверял, может оригинальный автор, написавший функцию process_replace_file_name чего-то не учел. Хорошо, буду разбираться.

З.Ы. На будущее лучше сразу пиши полный багрепорт, а то как я заметил ты любишь информацию порциями выдавать.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Last edited by Mario_r4 on Tue Jun 18, 2013 11:40 pm, edited 1 time in total.

Top
   
PostPosted: Tue Jun 18, 2013 11:39 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Leency wrote:
А если юзер захочет загрузить Колибри в /tmp/ диск и вытащить CD?

Вариант с TMP диском я не рассматриваю по причине ненужности для меня лично. Пользователь может много чего захотеть, а у нас нет разделения прав в системе. Возможность какой угодно программе изменять содержимое пути может привести к весьма неожиданным последствиям.
Leency wrote:
А если он хочет установить её с CD на жёсткий диск что тогда? Нужен ребут, как в Win95/98?

Совершенно верно. Любая система после инсталляции на жесткий диск перезагружается. Это нормальное поведение и в этом нет ничего плохого.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu Jun 20, 2013 3:51 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
Я просто скомпилировал этот код:
Spoiler: Show
Code:
ORG 0
BITS 32
        db     'MENUET01'
        dd     1
        dd     start_
        dd     end_
        dd     end_
        dd     end_
        dd     0
        dd     0
start_:
        mov    eax, 30
        mov    ebx, 3
        mov    ecx, mount_data
        int    64
        or     eax, -1
        int    64
mount_data:
        db     'sys',0
        resb    64 - 4
        db     'CD0/1',0
        resb    64 - 6
end_:
И запустил. После этого не запустилась ни одна программа ни с рабочего стола, ни из @RB. При запуске FASM запустилась @notify с сообщением об ошибке.

Исправлено в SVN r. 3689. Код process_replace_file_name искал ассоциации от последней к первой, теперь ищет правильно - от первой к последней.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu Jun 20, 2013 7:56 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Mario_r4 wrote:
Исправлено в SVN r. 3689.
Только с "sys"?


Top
   
PostPosted: Thu Jun 20, 2013 10:07 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
Mario_r4 wrote:
Исправлено в SVN r. 3689.
Только с "sys"?

Что значит "Только с "sys"?" Я же написал - там был обратный поиск по списку. Сейчас поиск прямой и до второго "sys" проверка тупо не дойдет - just as planned.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu Jun 20, 2013 10:15 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
С поиском понятно. Кроме "sys" можно примонтировать, например, "rd" или "hd0".


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 115 posts ]  Go to page Previous 13 4 5 6 7 8 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited