Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Nathan Moos
@moosingin3space
Thanks! That looks like a nice pitch
Eloha
@EloD10
Hello! Is there a chance to have more explanations on slides like it for example: https://docs.google.com/presentation/d/1wucDZ59tZU5z4cXW317tz-1GhTKH3Z1wIAJ53dRmsf4/edit#slide=id.p25 ? Or a blog post! I would love more details! Otherwise awesome work Lachlan!
Lachlan Sneff
@lachlansneff
Yeah, I was explaining the slides as I went through them
Probably could've made more speaker notes
I think I did write a blog post about that subject actually
Eloha
@EloD10
Oh sorry forgot about it: https://lsneff.me/why-nebulet.html
Lachlan Sneff
@lachlansneff
I don't think it was particularly well written haha
Nathan Moos
@moosingin3space
Fastly is using cranelift!
Nopey Nope
@Nopey
who is fastly? I couldn't find them
Levente Kurusa
@levex
isn’t that the CDN?
https://fastly.com/
Nopey Nope
@Nopey
https://wasm.fastlylabs.com/ is powered by cranelift. clicked the Credits button
cool stuff!
Levente Kurusa
@levex
That is indeed cool!
Nopey Nope
@Nopey

I've compiled nebulet, following the directions in README.md, and with a few minor adjustments I had qemu booting. If I make a debug (non --release) build, it freezes with this log:

in sipinit
path "e1000.wasm"
path "ps2.wasm"
path "sipinit.wasm"
path "vga.wasm"

and if I do a release build, it crashes with an Option unwrapped on None, with the panic handled by nebulet's panic handler. I was able to connect gdb to qemu remotely with gdbserver, and after telling gdb it's debugging the nebulet binary, got a meaningless backtrace:
```

#0  0x00000000002f9121 in rust_begin_unwind  ()
#1  0x0000000000329000 in ?? ()
#2  0x0000000080110de8 in ?? ()
#3  0x00000000002f6d50 in ?? ()
#4  0x0000000000337cf8 in ?? ()
#5  0x0000000000000002 in ?? ()
#6  0x00000000002120d8 in ?? ()
#7  0x0000000000000001 in ?? ()
#8  0x0000000080110da8 in ?? ()
#9  0x0000000000000001 in ?? ()
#10 0x0000000080110e30 in ?? ()
#11 0x0000000000000000 in ?? ()
is this a known issue, or have I not set things up correctly?
Nopey Nope
@Nopey
#0  0x00000000002f9121 in hashmap_core::map::pop_internal (starting_bucket=...)
    at /home/magnus/.cargo/registry/src/github.com-1ecc6299db9ec823/hashmap_core-0.1.9/src/map.rs:483
#1  <hashmap_core::map::OccupiedEntry<'a, K, V>>::remove_entry (self=...)
    at /home/magnus/.cargo/registry/src/github.com-1ecc6299db9ec823/hashmap_core-0.1.9/src/map.rs:2149
#2  0x000000000000006b in ?? ()
#3  0x0000001500000163 in ?? ()
#4  0x0000000080110e68 in ?? ()
#5  0x0000000000000001 in ?? ()
#6  0x0000000000000000 in ?? ()
Same backtrace, but with the debug nebulet's binary's symbols. (i don't know why this works, since i ran a release build, but the two functions at the top make sense)
Lachlan Sneff
@lachlansneff
Huh, that's odd.
I've had that issue in the past, the initial initfs gets searched for sipinit.wasm and sometimes it randomly can't find it.
Lachlan Sneff
@lachlansneff
Never figured out why
Try backtracing in a debug build of nebulet.
Nopey Nope
@Nopey
Debug build output finds sipinit (as shown in first code block)
Is something supposed to happen after the first four WASM modules?
going to see what qemu's cpu is doin in teh debug build
Nopey Nope
@Nopey
All thats running after loading the four wasm files is the idle_thread. the kernel thread isn't even present
Lachlan Sneff
@lachlansneff
Strange...
I'll have to look into this.
It's been a while since I've worked on nebulet, I will have to familiarize myself with thr codebase again.
Nathan Moos
@moosingin3space
The wasmer post on /r/rust today looks to be good news
more Cranelift-based WASM runtimes
Lachlan Sneff
@lachlansneff
I guess
Rob Gries
@robert-w-gries
@lachlansneff I see you've been working more on wasmer lately. What are your thoughts on the current status of nebulet? Is this just a hiatus or do you think the project should be forked if people wanted to continue the grand experiment?
Lachlan Sneff
@lachlansneff

Hey @robert-w-gries, thanks for asking.

I suppose the answer is that I'm not sure. In some ways, I feel like I'm in a different stage of my life right now, and that I've moved on.
That being said, I really believe in the vision of nebulet. I think that this kind of operating system is the future. Maybe it's a little too forward thinking.

I'd be happy to give you write access to the nebulet organization if you'd like to continue work on it.

I'd like to work more on nebulet, but I've found something else to do (wasmer, that is) that's more interesting for the time being.
Rob Gries
@robert-w-gries
Thanks for the update! I'm not at a place where I can dedicate the necessary time to nebulet, but I think there will come a point where my work with rXinu is done and I'll want to dedicate my rust osdev work towards nebulet. I share a similar belief in the concept behind nebulet, and I'm sure there will always be someone willing to work on it.
Nathan Moos
@moosingin3space
Lachlan Sneff
@lachlansneff
@moosingin3space Haha, I saw that on reddit. Looks like they already got someone!
Lachlan Sneff
@lachlansneff
Actually speaking of, I'm not sure wasm is something I want to stay in in the long term.
Angelo Bulfone
@boomshroom
In addition, WASI was announced as a system interface for WASM. It might be worth looking into for anyone trying to implement a kernel that runs WASM. (which may or may not be nebulet given the current state of the project)
Lachlan Sneff
@lachlansneff
Yep, if I go and maintain nebulet again sometime in the future, I will probably adopt wasi.
I'd honestly love to just spend a year rewriting nebulet, making it better, rewriting the runtime, but I doubt that'll happen. I'm working on a wasm runtime now, but I'll be interning somewhere else this summer, and will be at university after that most likely.
Angelo Bulfone
@boomshroom
I'm thinking of trying my hand at something similar starting from a fresh slate. After seeing that several wasmtime libraries support no_std, I'm probably going to piggyback off of that.
Lachlan Sneff
@lachlansneff
Definitely, that'd be cool!
I'd like to write a multi-tier no_std runtime at some point as well
Lachlan Sneff
@lachlansneff
Some parts of the community have been a little hostile to the project I'm in now, so I'm feeling a bit burnt out unfortunately.
Lane Rettig
@lrettig
@lachlansneff I feel you on the hostility and burnout - I work on Ethereum and sad to say this is our daily experience. But, you know, stay heads down and do meaningful work! Haters gonna hate, builders gonna build 🤓
From my perspective in the blockchain world, Wasm is more important and more exciting than ever. More and more blockchains are embracing it and it's rapidly emerging as a standard. @lachlansneff I'm really curious to hear why you don't feel that you want to keep working on it!
Lachlan Sneff
@lachlansneff
I'm giving a talk about nebulet at the wasmsf meetup on the 25th. https://www.meetup.com/wasmsf/events/260288977/
Connor
@ConnorBP
what on earth is this exactly????
this is an OS level thing right
for WASM 0.o