Mojo 0.2.1 released (UPDATE: fixed all reported bugs)

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Mojo 0.2.1 released (UPDATE: fixed all reported bugs)

Post 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 :D

A screen shot of my GUI prototype (more screen shots)

Image

clange
Last edited by clange on Wed May 27, 2009 1:45 pm, edited 1 time in total.
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Re: Mojo 0.2.1 released

Post 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?).
User avatar
scgtrp
Member
Member
Posts: 30
Joined: Sat Mar 28, 2009 7:32 pm

Re: Mojo 0.2.1 released

Post 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.
User avatar
Tomaka17
Member
Member
Posts: 67
Joined: Thu Oct 02, 2008 8:20 am

Re: Mojo 0.2.1 released

Post 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"
MysteriOS
Currently working on: TCP/IP
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Mojo 0.2.1 released

Post 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

Code: Select all

driver=/volumes/boot/harddisk.elf
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 :D
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.
Last edited by clange on Fri May 22, 2009 2:24 pm, edited 1 time in total.
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Mojo 0.2.1 released

Post 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
Last edited by clange on Fri May 22, 2009 3:44 pm, edited 1 time in total.
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Re: Mojo 0.2.1 released

Post 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. ;)
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Mojo 0.2.1 released

Post 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 :wink:

clange
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Mojo 0.2.1 released

Post 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
User avatar
Tomaka17
Member
Member
Posts: 67
Joined: Thu Oct 02, 2008 8:20 am

Re: Mojo 0.2.1 released

Post by Tomaka17 »

Sorry for the wait, your O/S made VirtualBox crash :D
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)
MysteriOS
Currently working on: TCP/IP
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Re: Mojo 0.2.1 released

Post 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
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Mojo 0.2.1 released

Post 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
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Mojo 0.2.1 released

Post 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:
Image

and how I have setup PuTTY:
Image

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 :D )

clange
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Re: Mojo 0.2.1 released

Post 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
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Mojo 0.2.1 released

Post 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
Post Reply