Hi,
I'm trying to play around with the new lxip vfs plugin. First, I tried running the echo_udp.run test (on linux), but when I run the echo component it exits with the following error message:
"Error: no plugin found for socket()"
However, since I did create a network interface I am able to ping the network stack. Other than the IP address I did not change anything in the config (or somewhere else).
Can anyone help me out?
Hello Boris,
On Thu, Mar 09, 2017 at 12:00:23PM +0100, Boris Mulder wrote:
I'm trying to play around with the new lxip vfs plugin. First, I tried running the echo_udp.run test (on linux), but when I run the echo component it exits with the following error message:
"Error: no plugin found for socket()"
Unfortunately, a small bug slipped into the release which is already fixed in our staging branch
https://github.com/genodelabs/genode/commit/72d59719409070684d267487e8c3e048...
Greets
When I make my own component that uses libc sockets, whenever I call socket(), I get a segmentation fault.
If I edit the echo test and make it use Libc::Component::construct instead of posix libc 'int main()' (and adding the right dependencies to the makefiles), the same thing happens.
So it seems the libc sockets are only working under the posix libc API.
How can I make my own Genode component that uses both the genode Component API and the linux tcp/ip stack with sockets?
On 09-03-17 12:14, Christian Helmuth wrote:
Hello Boris,
On Thu, Mar 09, 2017 at 12:00:23PM +0100, Boris Mulder wrote:
I'm trying to play around with the new lxip vfs plugin. First, I tried running the echo_udp.run test (on linux), but when I run the echo component it exits with the following error message:
"Error: no plugin found for socket()"
Unfortunately, a small bug slipped into the release which is already fixed in our staging branch
https://github.com/genodelabs/genode/commit/72d59719409070684d267487e8c3e048...
Greets
Hi Boris,
On 10.03.2017 16:58, Boris Mulder wrote:
How can I make my own Genode component that uses both the genode Component API and the linux tcp/ip stack with sockets?
One important requirement when implementing 'Libc::Component::construct()' is to wrap the socket-using code in the 'Libc::with_libc()' function.
Please see https://genode.org/documentation/release-notes/17.02#New_execution_model_of_... for more details.
Well, the socket() call seems to work now, but somewhere within bind() it gives the following errors:
[init -> echo] Warning: getnameinfo: getnameinfo not implemented [init -> echo] Error: Uncaught exception of type '(anonymous namespace)::Address_conversion_failed'
it seems that inside libports/src/lib/libc/socket_fs_plugin.cc, it tries to call an unimplemented function getnameinfo() and throws an exception when that fails. Just to make sure, I attached the code I copied from the echo test and wrapped in the Component api.
On 10-03-17 17:59, Christian Prochaska wrote:
Hi Boris,
On 10.03.2017 16:58, Boris Mulder wrote:
How can I make my own Genode component that uses both the genode Component API and the linux tcp/ip stack with sockets?
One important requirement when implementing 'Libc::Component::construct()' is to wrap the socket-using code in the 'Libc::with_libc()' function.
Please see https://genode.org/documentation/release-notes/17.02#New_execution_model_of_... for more details.
Announcing the Oxford Dictionaries API! The API offers world-renowned dictionary content that is easy and intuitive to access. Sign up for an account today to start using our lexical data to power your apps and projects. Get started today and enter our developer competition. http://sdm.link/oxford _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hello Boris,
On Mon, Mar 13, 2017 at 10:07:57AM +0100, Boris Mulder wrote:
Well, the socket() call seems to work now, but somewhere within bind() it gives the following errors:
[init -> echo] Warning: getnameinfo: getnameinfo not implemented [init -> echo] Error: Uncaught exception of type '(anonymous namespace)::Address_conversion_failed'
it seems that inside libports/src/lib/libc/socket_fs_plugin.cc, it tries to call an unimplemented function getnameinfo() and throws an exception when that fails. Just to make sure, I attached the code I copied from the echo test and wrapped in the Component api.
You're missing the libc_resolv libc plugin in your scenario. We intend to merge this library back into the libc in the future but for historical reasons it is currently a separate binary libc_resolv.lib.so. Please refer to repos/libports/run/echo_udp.run for an example integrating the plugin into the boot modules.
Regards