Page 1 of 3
Mojo 0.2.1 released (UPDATE: fixed all reported bugs)
Posted: Fri May 22, 2009 12:20 pm
by clange
Hi
I have completed Mojo OS 0.2.1 beta. Please help me test it.
Improved and new in this version:
- - better kernel physical memory handling (should boot on more machines now)
- shared memory between processes
- real video drivers instead of the GUI doing hardware access
- terminal driver (minimal VT100)
You can download floppy and CD images here
http://softwarewizard.dk/mojo/index.php?page=download
I have described what I need tested here
http://softwarewizard.dk/mojo/index.php?page=testing
All feedback goes
directly to the top of my TODO list
A screen shot of my GUI prototype (
more screen shots)
clange
Re: Mojo 0.2.1 released
Posted: Fri May 22, 2009 1:13 pm
by xyzzy
Hey,
I can't get it to boot in QEMU - hangs while starting the hard disk driver. I set the kernel log level to 4 as per your testing page, this is the output I get:
Code: Select all
Starting harddisk device driver [7]
detect: irq_status (1) = 14
detect: status (1) = 0x0
detect: irq_status (1) = -1
detect: irq_status (1) = 15
detect: status (1) = 0x41
detect: 01f4: 0x14, 0xeb
After that it just hangs (the timer spiral in the top bar is still going though, and the character next to 7 is changing - I guess thats showing activity from process 7 or something?).
Re: Mojo 0.2.1 released
Posted: Fri May 22, 2009 1:44 pm
by scgtrp
Using a background image in the GUI causes the system to hang while it loads the image, and also causes erratic mouse movement after it loads.
Typing into console 1 (the boot screen, not sure why I tried it) makes text appear in console 2.
I can't find a way to make the block fall right away or speed up in Tetris.
Tested on VirtualBox.
Re: Mojo 0.2.1 released
Posted: Fri May 22, 2009 2:04 pm
by Tomaka17
Testing on VirtualBox 2.2.2
The system boots until "Starting harddisk device driver [7]" and then stops booting
The characters next to "timr" and "7" are changing but the GUI doesn't start
If I press ctrl+1 the screen becomes black and I can't do anything (except pressing ctrl + something else)
If I press ctrl+5 I see the "booting Mojo" screen stuck at "kernel 100 % drivers 80 % interface 0 %"
EDIT : when I press a key the character next to "5" is changing (ie. your keyboard driver is working correctly though the character is not displayed on screen)
But after a few keys, the boot screen tells me "terminal driver buffer full, dropping key"
Re: Mojo 0.2.1 released
Posted: Fri May 22, 2009 2:14 pm
by clange
Hi thanks for testing
@AlexExtreme:
Which version of Qemu do you use? And which host OS? I have experienced this bug before (on Qemu on a machine I don't have access to anymore). But I can't reproduce the problem in my test setup so any help will be appreciated.
If you want to test without the hard disk driver you can edit init.conf in the root of the floopy image. Comment out the hard disk driver by adding a '#' in front of this line
AlexExtreme wrote:After that it just hangs (the timer spiral in the top bar is still going though, and the character next to 7 is changing - I guess thats showing activity from process 7 or something?).
Totally correct
scgtrp wrote:Using a background image in the GUI causes the system to hang while it loads the image, and also causes erratic mouse movement after it loads.
Yeah, my file loading is
really slow and the GUI is single threaded. Moving the mouse while loading a background image will generate messages to the mouse driver which in turn will generate messages to the GUI. While the GUI is locked up the messages are queued. Since the queues are fixed in size messages the mouse driver will at some point lock up too since it is waiting to deliver messages to the GUI. This causes messages to the mouse driver to be lost and data generated by the mouse is no longer guaranteed to be synchronized with what the mouse driver thinks.
As you can see lots of things are less than optimal and has to be fixed. Most importantly is that processes can cause each other to lock up. I have to improve my IPC handling. I will also improve the mouse driver to guarantee that mouse data is always synchronized.
scgtrp wrote:Typing into console 1 (the boot screen, not sure why I tried it) makes text appear in console 2.
All input goes only to the user console. The boot (kernel) console is only for debug messages. I decided to keep the debug screen visible and not switch to the user console to encourage reporting of debug info.
scgtrp wrote:I can't find a way to make the block fall right away or speed up in Tetris.
None of these features are implemented
. The Tetris clone main purpose was to test new kernel features in version 0.1.2.
Thanks for the feedback. I will let you now when bugs has been fixed.
clange
EDIT: clarified and added a paragraph.
Re: Mojo 0.2.1 released
Posted: Fri May 22, 2009 2:22 pm
by clange
Hi
Tomaka17 wrote:Testing on VirtualBox 2.2.2
The system boots until "Starting harddisk device driver [7]" and then stops booting
The characters next to "timr" and "7" are changing but the GUI doesn't start
If I press ctrl+1 the screen becomes black and I can't do anything (except pressing ctrl + something else)
If I press ctrl+5 I see the "booting Mojo" screen stuck at "kernel 100 % drivers 80 % interface 0 %"
EDIT : when I press a key the character next to "5" is changing (ie. your keyboard driver is working correctly though the character is not displayed on screen)
But after a few keys, the boot screen tells me "terminal driver buffer full, dropping key"
It seems that my hard disk driver is much worse than expected
The behavior you describe is consistent with what is expected when the hard disk driver just hangs. Could you please test once more and set the kernel log level to 4 (press 'e' when GRUB loads to edit the kernel command line). Could you please provide the output from the hard disk driver.
Also which host OS do you use and how is the virtual machine configured. I have tested in VirtualBox 2.2.0 but will download 2.2.2 now and test that too.
EDIT: tested in VirtualBox 2.2.2. I can't reproduce the problem myself. But I suspect that it might be a timer related race condition.
Thanks for testing.
clange
Re: Mojo 0.2.1 released
Posted: Fri May 22, 2009 3:11 pm
by xyzzy
clange wrote:@AlexExtreme:
Which version of Qemu do you use? And which host OS? I have experienced this bug before (on Qemu on a machine I don't have access to anymore). But I can't reproduce the problem in my test setup so any help will be appreciated.
Tried on both QEMU 0.10.0, included with Ubuntu 9.04, and a build from QEMU's GIT repo. I'll try to see what else I can break without the hard disk driver tomorrow.
Re: Mojo 0.2.1 released
Posted: Fri May 22, 2009 3:43 pm
by clange
AlexExtreme wrote:Tried on both QEMU 0.10.0, included with Ubuntu 9.04, and a build from QEMU's GIT repo. I'll try to see what else I can break without the hard disk driver tomorrow.
OK, thanks. I have been reviewing my code and suspect that it is actually a race condition that makes my kernel
think that the hard disk driver process is waiting will it is actually not. I hope to have a new version up in a day or 2
clange
Re: Mojo 0.2.1 released
Posted: Sat May 23, 2009 12:08 am
by clange
Hi AlexExtreme and Tomaka17
Could you please test again with the newest build. It provides some more debugging info to help me narrow down the problem.
It can be found here
http://softwarewizard.dk/mojo/downloads ... 55-iso.zip.
Btw. the kernel writes all the logging to the serial port too - just capture that and I will have all the info I need.
Thanks
clange
Re: Mojo 0.2.1 released
Posted: Sat May 23, 2009 12:21 am
by Tomaka17
Sorry for the wait, your O/S made VirtualBox crash
I had to delete manually the virtual machine to make it work again
Here is what I see on the screen with your new version:
Starting harddisk device driver [7]
--- step 1
--- step 2
--- step 2 b
--- step 3
--- step 4
detect: irq_status (1) = 14
detect: status (1) = 0x0
--- step 1
--- step 2
--- step 2 b
--- step 3
detect: irq_status (1) = -1
--- step 1
--- step 2
--- step 2 b
--- step 3
--- step 4
detect: irq_status (1) = 15
detect: status (1) = 0x41
detect: 01f4: 0x14, 0xeb
step 1
step 2
(and then freezes)
I think you can't redirect the serial port to a file with VirtualBox
EDIT : my host O/S is Vista 32bits (you can start booing)
Re: Mojo 0.2.1 released
Posted: Sat May 23, 2009 12:57 am
by xyzzy
clange wrote:Could you please test again with the newest build. It provides some more debugging info to help me narrow down the problem.
It can be found here
http://softwarewizard.dk/mojo/downloads ... 55-iso.zip.
Btw. the kernel writes all the logging to the serial port too - just capture that and I will have all the info I need.
Yeah, I guessed it did, which is how I got the first output I gave you. Here's the output I get before it hangs with the new build:
Code: Select all
Starting harddisk device driver [7]
--- step 1
--- step 2
--- step 2 b
--- step 3
--- step 4
detect: irq_status (1) = 14
detect: status (1) = 0x0
--- step 1
--- step 2
--- step 2 b
--- step 3
detect: irq_status (1) = -1
--- step 1
--- step 2
--- step 2 b
--- step 3
--- step 4
detect: irq_status (1) = 15
detect: status (1) = 0x41
detect: 01f4: 0x14, 0xeb
step 1
step 2
Re: Mojo 0.2.1 released
Posted: Sat May 23, 2009 8:57 am
by clange
Hi thanks to both of you for testing again.
The info you provided gave me some clues. But I need to ask one more question: how fast are your CPU's ???
clange
Re: Mojo 0.2.1 released
Posted: Sat May 23, 2009 9:18 am
by clange
Tomaka17 wrote:
I think you can't redirect the serial port to a file with VirtualBox
You can do it (at least it works under XP). Here is how I have setup VirtualBox:
and how I have setup PuTTY:
Just start the virtual machine and then start a new session in putty.
Tomaka17 wrote:EDIT : my host O/S is Vista 32bits (you can start booing)
I don't think Vista is anything to boo about. It might not be a success for MS and might not be the best choice for all users (nothing are!) but it is still a impressive piece of technology I think. I just decided that I don't need it (I'm using Windows XP, OS X and Ubuntu myself at the moment - and all 3 delivers what I expect from them
)
clange
Re: Mojo 0.2.1 released
Posted: Sat May 23, 2009 10:30 am
by xyzzy
clange wrote:Hi thanks to both of you for testing again.
The info you provided gave me some clues. But I need to ask one more question: how fast are your CPU's ???
clange
Intel Core 2 Quad Q6600 2.4Ghz
Re: Mojo 0.2.1 released
Posted: Sat May 23, 2009 11:42 am
by clange
Hi AlexExtreme
Thanks for the help. The fact that your CPU speed is more than about 2.1 Ghz confirmed my suspicion. It is an overflow / mis-calculation bug when using the CPU speed (ticks per second).
I can now reproduce the bug in my development environment. I will correct it and upload a new version as soon as possible.
clange