OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Apr 23, 2024 2:43 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Competition: Cash prizes offered for finding bugs
PostPosted: Tue Sep 21, 2010 2:07 pm 
Offline
Member
Member
User avatar

Joined: Tue Jul 10, 2007 5:27 am
Posts: 2935
Location: York, United Kingdom
The competition is now open! Cash prized paid via paypal for the most bugs and bugfixes as detailed below: USD$ 70, 50 and 30 for first, second and third place respectively. Please help me to make this product worthy of being released.

In other news, horizon is now in the LLVM2.8 release notes ;)

Thanks, and happy hacking! :)


Hello all,

I've been rather inactive for the past few months, so for those who don't know me I'm a moderator here and have been around for quite a while.

Over the past year (since leaving the Pedigree development team) I've been working on a project of my own - initially helped by froggey and AlexExtreme - this project has its first release scheduled for December 1st.

The project is called "Horizon", and is a bytecode compiler built atop LLVM. It compiles a safe, efficient bytecode to LLVM bitcode which is then compiled to machine code. This is done both ahead-of-time and just-in-time - I have set up a faux-posix environment which provides just enough functionality for LLVM, libstdc++ and boost to run on bare metal.

The bytecode is designed to allow hobbyist OS developers easy access to the new and exciting area of single-address-space OS development, pioneered by Inferno but brought to our attention by project such as Singularity, JNode and Cosmos.

More information can be found on the project wiki page, which also contains links to the user-facing and developer-facing Doxygen documentation.

Horizon aims to sacrifice some of the safety aspects of Java and C# (which Cosmos and JNode are based on), such as exception handling, to be faster. In fact, the tests in my master's thesis on Horizon showed Horizon as being faster than the equivalent C code for Dhrystone (the compiler was able to reason better about Horizon's bitcode and optimise away the main loop). This is obviously only one benchmark and a poor one at that, but at the time Horizon could only run integer operations, which reduced the number of benchmarks I could run!

How does this affect me? Where's this money?

I want to release a quality product. I have a suite of regression tests, but I'm only one person. I can't find all the bugs I might want to. So I'm making a competition in which hopefully I might enlist some of your help, and you might get some compensation in return.

I will be offering three prizes: $70, $50 and $30. These are USD obviously, and the conversion rate will be whatever PayPal decides to give me on the day from the equivalent in GBP.

The competition will run for 4 weeks from October 1st, subject to a full set of rules which will be published, and will consist of a points system.

* You get one point for successfully finding a bug (the definition of which will be set in the rules - i.e. it must not be a duplicate and must cause a segfault or an assert to fire), documenting it and adding it to the tracker.
* You get three points for successfully fixing a bug, including providing a regression test and patch.

You don't have to have found a bug in order to fix it - i.e. you can poach others' bug reports! :)

The prizes will be awarded to first, second and third place when ranked by number of points over the competition period. Ties will be arbited by adding prizes up and splitting them equally.

I'll put the rules up more towards the time, but I'd like to know if people are actually interested - it would be a massive help to me, and I'd much appreciate any help you could give, even if you couldn't care less about the money!

What do I need to compile Horizon?

A linux box. That's it. You don't need a crosscompiler, your native g++ will do. Oh, and it won't work with cygwin, due to the way the baremetal stuff is written (it emulates linux).

Project website is at http://www.quokforge.org/projects/horizon
Any questions to [email protected] , or
IRC on freenode.net, #horizonos .

Cheers!

James

_________________
Horizon - a framework and language for SAS-OS development
Project 'Pedigree'
Practical x86 OSDev tutorials


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Tue Sep 21, 2010 9:29 pm 
Offline

Joined: Tue Aug 03, 2010 7:41 pm
Posts: 6
Ever since hearing about singularity ive thought that llvm was more suited to that concept. I am very interested in contributing to a project like this. Prize money is just icing on the cake!


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Sun Sep 26, 2010 8:07 pm 
Offline

Joined: Tue Aug 03, 2010 7:41 pm
Posts: 6
It checks out fine now, however seeing as it is only supported on 64bit systems I will not be participating come the 1st :(. Good luck, perhaps I will check this out again in the future.


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Mon Sep 27, 2010 3:00 am 
Offline
Member
Member
User avatar

Joined: Tue Jul 10, 2007 5:27 am
Posts: 2935
Location: York, United Kingdom
Kelden wrote:
It checks out fine now, however seeing as it is only supported on 64bit systems I will not be participating come the 1st :(. Good luck, perhaps I will check this out again in the future.


Alas! I'm only supporting 64-bit targets, and as for this OS the host == target, it can only be built on 64-bit systems. Sorry about that! maybe use a 64-bit VM? or is your chipset still 32-bit?

Thanks for looking into it, anyway!

James

_________________
Horizon - a framework and language for SAS-OS development
Project 'Pedigree'
Practical x86 OSDev tutorials


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Thu Sep 30, 2010 1:16 pm 
Offline
Member
Member
User avatar

Joined: Fri Jul 30, 2010 9:15 am
Posts: 28
Location: India
Hi Genious, Keep it up, I m also very interested to know more about it. But i can not help, becz i am also using 32-bit chip........

Any way i will try to know more about that.....

best of luck.............


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Fri Oct 01, 2010 6:30 am 
Offline
Member
Member
User avatar

Joined: Tue Jul 10, 2007 5:27 am
Posts: 2935
Location: York, United Kingdom
As a followup, the competition will be going ahead from this monday, the 4th October, and will run for 4 weeks.

Another post on Sunday.

Thanks for the interest those who replied; I'd really appreciate anyone's help, no matter how small!

James

_________________
Horizon - a framework and language for SAS-OS development
Project 'Pedigree'
Practical x86 OSDev tutorials


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Mon Oct 04, 2010 3:37 am 
Offline
Member
Member
User avatar

Joined: Tue Jul 10, 2007 5:27 am
Posts: 2935
Location: York, United Kingdom
Bump, competition now open. See the edit in the top post.

Bugs count as internal faults, incorrect LLVM code generated, obvious other bugs.

Bugs that include compiler FIXMEs or TODOs are valid too, as I want them documented.

Duplicate bugs are not counted, and whether a bug is valid or not is up to myself only (I'm not going to try and steal points from you - it's just so that anyone gaming the system can be stopped).

Cheers!

James

_________________
Horizon - a framework and language for SAS-OS development
Project 'Pedigree'
Practical x86 OSDev tutorials


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Sun Nov 21, 2010 11:00 am 
Offline
Member
Member
User avatar

Joined: Tue Jul 10, 2007 5:27 am
Posts: 2935
Location: York, United Kingdom
Noone entered, which is bad for my product but good for my wallet!

_________________
Horizon - a framework and language for SAS-OS development
Project 'Pedigree'
Practical x86 OSDev tutorials


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Thu Mar 17, 2011 6:04 am 
Offline
Member
Member

Joined: Wed Oct 31, 2007 9:09 am
Posts: 1385
So what's the latest status, given we're a half year futher?


JAL


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Thu Mar 17, 2011 6:43 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7614
Location: Germany
JamesM wrote:
Noone entered, which is bad for my product but good for my wallet!

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Thu Mar 17, 2011 2:47 pm 
Offline
Member
Member
User avatar

Joined: Tue Jul 10, 2007 5:27 am
Posts: 2935
Location: York, United Kingdom
jal wrote:
So what's the latest status, given we're a half year futher?


JAL


Like Solar quoted ;)

I started a new job, I haven't had much time to work on Horizon. When I left it, the bytecode compiler was fully functional, with a full language description and documentation. The high-level-language I was building along with it was at the AST->bytecode compilation stage, with tests still being written.

Horizon is pretty well tested.

My current project is a fork of that, applying some of the techniques I used with horizon to Python in an attempt to reach a larger audience.

EDIT: Current status of that:

Code:
[20:40:08] ~/Code/FastPy/build $ ./fastpy hello_world.pyc
   0 LOAD_NAME                       0
   3 LOAD_CONST                      0
   6 CALL_FUNCTION                   1
   9 POP_TOP                         
  10 LOAD_CONST                      1
  13 RETURN_VALUE                   
module __main__
@? = function __main___main {
?:
    %2 = load-global "print"
    %3 = call %2 ("Hello, world")
    %4 = return None

}
function __main___main() : nuint

/tmp/libjit-dump.o:     file format elf64-x86-64


Disassembly of section .text:

00007fd484fd9034 <.text>:
    7fd484fd9034:       55                      push   %rbp
    7fd484fd9035:       48 8b ec                mov    %rsp,%rbp
    7fd484fd9038:       48 83 ec 10             sub    $0x10,%rsp
    7fd484fd903c:       4c 89 3c 24             mov    %r15,(%rsp)
    7fd484fd9040:       ba 10 fd f7 00          mov    $0xf7fd10,%edx
    7fd484fd9045:       be 01 00 00 00          mov    $0x1,%esi
    7fd484fd904a:       bf 60 f0 f7 00          mov    $0xf7f060,%edi
    7fd484fd904f:       b8 08 00 00 00          mov    $0x8,%eax
    7fd484fd9054:       49 c7 c3 80 ac 43 00    mov    $0x43ac80,%r11
    7fd484fd905b:       41 ff d3                callq  *%r11
    7fd484fd905e:       48 8b f8                mov    %rax,%rdi
    7fd484fd9061:       48 89 45 f8             mov    %rax,-0x8(%rbp)
    7fd484fd9065:       b8 08 00 00 00          mov    $0x8,%eax
    7fd484fd906a:       49 c7 c3 90 bf 43 00    mov    $0x43bf90,%r11
    7fd484fd9071:       41 ff d3                callq  *%r11
    7fd484fd9074:       bf 60 07 f8 00          mov    $0xf80760,%edi
    7fd484fd9079:       4c 8b d8                mov    %rax,%r11
    7fd484fd907c:       4c 8b f8                mov    %rax,%r15
    7fd484fd907f:       b8 08 00 00 00          mov    $0x8,%eax
    7fd484fd9084:       41 ff d3                callq  *%r11
    7fd484fd9087:       33 c0                   xor    %eax,%eax
    7fd484fd9089:       4c 8b 3c 24             mov    (%rsp),%r15
    7fd484fd908d:       48 8b e5                mov    %rbp,%rsp
    7fd484fd9090:       5d                      pop    %rbp
    7fd484fd9091:       c3                      retq   

end

Hello, world


Still a way to go!

_________________
Horizon - a framework and language for SAS-OS development
Project 'Pedigree'
Practical x86 OSDev tutorials


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Fri Mar 18, 2011 1:59 am 
Offline
Member
Member

Joined: Wed Oct 31, 2007 9:09 am
Posts: 1385
JamesM wrote:
the bytecode compiler was fully functional


I have a question about that: a while ago (a year probably? time flies) there was a discussion on this forum on using bytecode for developing platform agnostic hardware drivers, and iirc LLVM was rejected because its bytecode lacked some features needed to be used for that. Did you run into anything like that?

Ah, yes, this was the post I had in mind.

JAL


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Fri Mar 18, 2011 3:34 am 
Offline
Member
Member
User avatar

Joined: Tue Jul 10, 2007 5:27 am
Posts: 2935
Location: York, United Kingdom
Short answer? No.

Longer answer? LLVM is extremely portable, however with C and C-like languages the IR is not expressive enough to cover some of the more technical features, for example:

* Proper union support
* Typedefs and enumerations
* Alignment information

The last is the most important - Clang and llvm-gcc both convert pretty much all structs into byte-arrays and back again to deal with alignment.

The IR that these frontends generate is not portable because it already has things like sizeof(void*) and native alignments baked in.

This doesn't mean that the IR itself isn't portable - it just isn't for C-like languages. I didn't run into this because my bytecode isn't C-like and lacks some of the more "unique" features to C, such as variable alignment and structure packing (the frontend relies on LLVM to pack and align appropriately instead of baking in explicit information).

_________________
Horizon - a framework and language for SAS-OS development
Project 'Pedigree'
Practical x86 OSDev tutorials


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Wed Apr 10, 2013 12:19 pm 
Offline

Joined: Wed Apr 10, 2013 12:10 pm
Posts: 7
JamesM wrote:
[b]The competition is now open! Cash prized paid via paypal for the most bugs and bugfixes as detailed below: USD$ 70, 50 and 30 for first, second and third place respectively. Please help me to make this product worthy of being released.

Is this still active?
Competition?
Are there final times?


Top
 Profile  
 
 Post subject: Re: Competition: Cash prizes offered for finding bugs
PostPosted: Wed Apr 10, 2013 8:35 pm 
Offline
Member
Member

Joined: Sat Oct 22, 2011 12:27 pm
Posts: 409
anftr wrote:
JamesM wrote:
[b]The competition is now open! Cash prized paid via paypal for the most bugs and bugfixes as detailed below: USD$ 70, 50 and 30 for first, second and third place respectively. Please help me to make this product worthy of being released.

Is this still active?
Competition?
Are there final times?

OP wrote:
The competition will run for 4 weeks from October 1st

Please read dead threads before reviving them. This is from October 2010

_________________
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 43 guests


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 © 2000, 2002, 2005, 2007 phpBB Group