Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Daniel Sanabria
@dansanabria
@karra88 .bashrc doesn't get sourced when sshing unless you instruct it to be sourced in .bash_profile. I suggest you go in the machine and clean the build dir. Then try something like this: ssh -c "export CC="clang-5.0"; export CXX="clang++-5.0"; cd /vagrant/test/net/integration/udp; python test.py"
the above works for me . In my case I'm passwordless but I don't think it matters , however I had to manually clean the build dir because I had a previous failed attempt that was messing up all subsequent attempts
karra88
@karra88
@dansanabria In the above command mentioned, there is no mention of remote machine's name and its ip address for ssh. Is this command for local machine or remote machine ?
Daniel Sanabria
@dansanabria
sorry typo there, it was supposed to read vagrant ssh -c ... . I tested against a vagrant vm
so in your case ignore the -c flag assuming you are using a local *nix ssh client
what was important is that you were probably missing setting up CC and CXX
karra88
@karra88

@dansanabria sshpass -p 'password' ssh vm2@'ip_address' "export CC="clang-6.0"; export CXX="clang++-6.0"; cd 'path to the directory of udp'; python test.py"
I have used the above one only after making sure that I have cleaned the build directory. I am still facing the error

https://drive.google.com/file/d/1gpdLyvm8GdFOdv3l6oaW7sxCA3dlbbgR/view?usp=sharing

Daniel Sanabria
@dansanabria
udp11 ? is that a new dir + contents you have created? ... I'm assuming it runs fine when you are on a shell session on vm2 ?
also not really sure if sshpass is messing up your session because I've never used it
karra88
@karra88
Yes, I have checked individually. Its runs fine on both the VMs.
This is the first time I am running ssh with sshpass. So I am not sure if thats the reason.
Thanks for your help.
Daniel Sanabria
@dansanabria
no problem
karra88
@karra88

I guess I found the problem. Of course I am not sure.

I am placing the includeos directory in the folder named IncludeOS_install (bcoz of previous discussions I had in this group) in home folder. The error which I posted earlier is mentioning about not able to load fileas it is searching in the \usr\localwhich is the default place for the includeos.
I am not sure why it is searching over there as I have changed the entry of INCLUDE_PREFIX in the ./install.sh.
So I have changed the entry of ENV{INCLUDE_PREFIX}in CMakeLists.txt of udp folder which I am using.
But I am facing this error

https://drive.google.com/file/d/1y2M5mI6pRZa0hsihxoVrGye4uvJZ_r6-/view?usp=sharing

One more issue is, when ever I run in individual VMs, I run as root and while running from shell script to connect to remote machine it will run as a user. Will this make difference ?

Daniel Sanabria
@dansanabria
Well, this was an interesting debugging weekend. Regarding tricks I suggest you look at gef - "GDB Enhanced Features” (https://github.com/hugsy/gef) if you haven’t done yet, I can’t recommend it enough. For a newbie like me it was a real time saver, and it works pretty well against remote targets which really made a difference for me.
Currently, I’m kind of looking at the current POSIX support (which I know is a work in progress) and trying to learn about memory management under these conditions. I’m using this service for debugging purposes (https://github.com/dansanabria/unikernels/tree/master/includeos/pocservice) and while running the service I noticed some interested behaviours which I still can’t fully explain so looking for some help.
When running the service as it is, and sending input larger than 80 bytes, I was expecting either a segmentation fault or a stack protection related error but instead the service carries on running. I can keep sending larger inputs and the service will read them all the way until I hit 2048 bytes, anything larger (tried 5000 & 10000) the service seems to read the first 2048 and ignore the rest (I don’t know if this limit gets imposed by qemu or IncludeOS). A few months ago I had a brief chat with @fwsGonzo about this, but what was never clear to me was if this was the product of some protection mechanism in IncludeOS, clang, C++ or this is just unintended behaviour.
When I follow @fwsGonzo suggestion of adding the attribute noinline to the function subject, I can see stackguard kicking in and producing the expected CPU Panic since guard checks are failing. This makes me raise two questions: what is noinline really doing in this context? and how can I pass no-stack-protector and execstack flags/options at compile time? I’m kind of lost when trying to follow the cmake/make workflow in includeOS :(
Sorry about the long entries, just wanted to share my experiences and hopefully get some help and learn about IncludeOS internals.
MateoMiccino
@MateoMiccino
Hello, a question, is there an async database project for IncludeOS?
I saw the SQLite example, and test it, but this does not look like async
I was thinking to use an external Storage Service like Google Storage, but i want to make it compact just in one service, with a option to service storage.
(I'm starting to make a simple opensource MMORPG 2D Server on IncludeOS, with Protobuf and TCP/IP)
Alfred Bratterud
@alfred-bratterud
Hi @/all we've been trying out slack recently for day to day comms and looks like we'll be making the move permanent. We're sorting out a way to get invites to everybody who wants to join. In the meantime sorry for being a bit late to respond.
Per Buer
@perbu
@MateoMiccino Not anything that I know of. I'm thinking LMDB would be a great fit. It's small, very fast and flexible. And the author is brilliant. :)
We'll likely add support for writable filesystems in 2019 and porting a key/value-store would likely follow not too long after it.
Alfred Bratterud
@alfred-bratterud
@dansanabria thanks for link to gef - looks useful will try :-) Regarding your stack protector issue; I'm assuming noinline has the effect of forcing the creation of a stack frame and hence also a set of stack protectors. Passing compiler flags via cmake should be doable by export CXXFLAGS but it might not work. If you want to make sure I'd edit <your-install>/includeos/post.service.cmake which comes out of <repo>/cmake/post.service.cmake. Or I'd ask @KristianJerpetjon :-)
Martin Nordsletten
@mnordsletten
@all IncludeOS has migrated to slack. Please join us over at: https://goo.gl/NXBVsc
Per Buer
@perbu
There are free cookies being handed out in the slack channel. :cookie: :cookie: :cookie:
MateoMiccino
@MateoMiccino
Thanks! I'm in Slack now! Thanks! On the main web http://www.includeos.org/ still having a link for gitter, this is why i joined here
karra88
@karra88
Does mem option in vm.json says about the memory occupied by that Unikernel process while running ?
What are the units ? The value is 256 for mem for UDP. Is it KB ?
Taiyeba
@staiyeba
@karra88 IncludeOS has migrated to slack. Please join us over at: https://goo.gl/NXBVsc
Chris Woods
@woodsmc
Hi Folks, Not sure if we should be chatting here or on slack. I checked slack and got the following message "Hello there! Please visit https://janitr.net to configure your installation or contact me for feedback and bugs. Thank you!" ...
I think I'll ask here too...
Taiyeba
@staiyeba
hi Chris @woodsmc , the invitation link (https://goo.gl/NXBVsc) doesn't work for you? Janitr is a plugin we use to greet our new users on slack with some information about IncludeOS :) If the invitation link isn't allowing you to chat on the general channel please let us know.
Chris Woods
@woodsmc
@staiyeba It works it says I'm in the channel but I can only see replies from the bot, which asks me to follow a URL to configure it's installation.... is the bot correctly configured in the channel for new arrivals?
Just in case I will post my question here too..
I'm trying to connect IncludeOS to a Siemens IoT Server (mindsphere) to post data via a REST API. I've used the HTTP / SHTTP example code as the basis of my first implementation - keeping it simple for now. The SHTTP I got working and the demo runs great against google etc. However against the mindsphere server the connection is dropped. I got out wireshark and did some debugging. The server rejects the IncludeOS client connection. The client posts a 'CLIENT HELLO' and the server then rejects the connection. A bit of digging seems to indicate both client and server are running TLS1.2 (great) and that the client doesn't get the chance to sent its list of certificates. So I'm guessing it's a cipher issue. The IncludeOS client reports only one cipher "TLS_RSA_WITH_AES_256_CBC_SHA". I have a bash script which uses cURL and it works great from a linux host. In that case I can see that "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" is picked as a cipher. Is it possible to add additional cipher's to the stack? Or is there a configuration change I can use? Or perhaps I've barking up the wrong tree and it's not cipher related... any help at all would be pretty awesome!
Taiyeba
@staiyeba
hmm, I see, we will have a look. I will let the kernel team know you have a question here :)
Chris Woods
@woodsmc
I'm happy to supply some additional debugging info if it helps and / or perform additional steps.
Taiyeba
@staiyeba
You can create an issue with some additional debugging information over at https://github.com/hioa-cs/IncludeOS/issues that would be helpful :)
i see you made it onto slack. glad it worked out :)
karra88
@karra88
Do any one have experience of working with open vswitch and IncludeOS ?
Per Buer
@perbu
@karra88 We've entertained the thought. But we've never done anything about it. Could be a strong use-case.
Also, asking questions in the Slack® channel is likely to yield better results. :-) (https://goo.gl/NXBVsc)
I'm guessing openvswitch only needs a very few api-calls to work (send packet, recv packet) and since the payload (a frame in binary format) is likely the same, it should be possible to port reasonably quickly.
bala219
@bala219
Hello All, I am trying to understand working of includeOS and hence my question would be very basic. I am able to install the library files but my example is not executing when I execute "boot ." command. I get a warning
+--> WARNiNG: Environment unsafe for production
+--> Stop option enabled. Shutting down now...
Could someone help me with this? Thanks a lot for your assistance.
Ingve Vormestrand
@ingve
Hi @bala219 ! The "Environment unsafe for production" error will be documented when the new release is made (real soon now!). If you look at https://github.com/includeos/IncludeOS/pull/2148/files you can see the new output, which should instruct you to run Cmake with -DFOR_PRODUCTION=OFF
Also, this gitter workspace is not used much anymore, as we have migrated to Slack. Please join us there! https://goo.gl/NXBVsc
bala219
@bala219
Hey thanks for faster response i will check it out. Moving to slack now 🙂
Stian Soiland-Reyes
@stain
oh no, moving to Slack? :-( -- sorry, my 8 CPU cores are busy enough.. :)
Ingve Vormestrand
@ingve
:D
Alf-André Walla
@fwsGonzo
we are reading the chatrooms now and then, so feel free to ask anywhere