Giter Club home page Giter Club logo

Comments (12)

tweekley49 avatar tweekley49 commented on June 21, 2024 1

Interestingly enough...it appears the TKILL error is super random. Sometimes it does it, some times it doesn't. Sadly, specifying SMP and adequate memory was not the fix.

from includeos.

fwsGonzo avatar fwsGonzo commented on June 21, 2024

I don't know - thats a weird crash. You could always give it more RAM, just change the "mem" value in vm.json. Also, try updating your branch to my latest simpler_clone branch. No need to run conan for anything.

from includeos.

tweekley49 avatar tweekley49 commented on June 21, 2024

I will do that and let you know of the results. I think I am on the latest simpler_clone branch, but I will verify that.

from includeos.

tweekley49 avatar tweekley49 commented on June 21, 2024

image
I am STUMPED. I am able to run the program everywhere else without any problem but for some reason I get the error above when I run it inside IncludeOS. I made sure qemu had what it needed so I am perplexed.

from includeos.

fwsGonzo avatar fwsGonzo commented on June 21, 2024

It's probably a bug in IncludeOS then, it's calling TKILL on an invalid tid which is never good. I don't have any things for you to try, but can you show your code? Do you use cooperative threads? Are you using SMP for multiprocessing?

from includeos.

tweekley49 avatar tweekley49 commented on June 21, 2024

The code I am using is located at github.com/ProfessorWest/splash2-posix and I am using radix in the kernel folder.

Code isn't pretty, we just smashed everything into one file for simplicity. Also, no cooperative threads are being used and I updated src/musl/futex.cpp as you recommended to stabilize multi-processing.

from includeos.

fwsGonzo avatar fwsGonzo commented on June 21, 2024

I'll take a look at this when I have some time. Definitely interesting test. It looks like it uses all kinds of pthread stuff which might not be tested yet.

from includeos.

tweekley49 avatar tweekley49 commented on June 21, 2024

Awesome! Do let me know if your findings!

from includeos.

tweekley49 avatar tweekley49 commented on June 21, 2024

I fixed the problem. So inside of vm.json, I had to give more CPUs and had to make sure I gave enough memory too!

from includeos.

fwsGonzo avatar fwsGonzo commented on June 21, 2024

Good to hear! Yes, there is no SMP without -smp XXX to Qemu.

from includeos.

tweekley49 avatar tweekley49 commented on June 21, 2024

I will be attempting to bare metal boot it next with the benchmark to see the speed up from qemu -> bare metal

from includeos.

fwsGonzo avatar fwsGonzo commented on June 21, 2024

Yep, that's a known problem. I've been trying to fix it for a while but I'm having a break now. There is clearly some sharing in the thread code, so the only multiprocessing-safe interface is the SMP interface itself. Threads do work, but only if they can start properly. If you use a threadpool and create the threads on startup, then as long as it doesn't crash at the start, it will remain up forever.

So, the problem is during thread creation. I don't have any ideas atm.

from includeos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.