Hi,
In moving my sampling code to version 10.02 of genode, and running the sampling functionality, I keep getting the following message during runtime:
void copy_utcb_to_msgbuf(Okl4::L4_MsgTag_t, Genode::Msgbuf_base*): receive message buffer too small msg size=2c, buf size=16
Is there a way for me to change the size? Another point I should mention is that this output appears as a result of using L4 IPC.
Peter
Hi Peter,
Peter Nguyen wrote:
In moving my sampling code to version 10.02 of genode, and running the sampling functionality, I keep getting the following message during runtime:
void copy_utcb_to_msgbuf(Okl4::L4_MsgTag_t, Genode::Msgbuf_base*): receive message buffer too small msg size=2c, buf size=16
Is there a way for me to change the size? Another point I should mention is that this output appears as a result of using L4 IPC.
you can specify the size of your communication buffers as template argument to the 'Msgbuf' template. On the server side, the send and receive message buffers are passed to the 'Server_activation' constructor, on the client side, they are passed to the 'Ipc_client' constructor. The error you see is about the reception of a message, when the message is copied from the thread's UTCB to the 'Msgbuf' object.
Norman
Hi,
In doing some further investigating, i discovered that the message was popping as a result of using sleep_forever(). I changed the associated Msgbuf size in base/sleep.h to 64, which has resulted in the code now working.
Peter
Norman Feske wrote:
Hi Peter,
Peter Nguyen wrote:
In moving my sampling code to version 10.02 of genode, and running the sampling functionality, I keep getting the following message during runtime:
void copy_utcb_to_msgbuf(Okl4::L4_MsgTag_t, Genode::Msgbuf_base*): receive message buffer too small msg size=2c, buf size=16
Is there a way for me to change the size? Another point I should mention is that this output appears as a result of using L4 IPC.
you can specify the size of your communication buffers as template argument to the 'Msgbuf' template. On the server side, the send and receive message buffers are passed to the 'Server_activation' constructor, on the client side, they are passed to the 'Ipc_client' constructor. The error you see is about the reception of a message, when the message is copied from the thread's UTCB to the 'Msgbuf' object.
Norman
Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hey,
On Wed, Apr 28, 2010 at 10:24:43AM +0930, Peter Nguyen wrote:
In doing some further investigating, i discovered that the message was popping as a result of using sleep_forever(). I changed the associated Msgbuf size in base/sleep.h to 64, which has resulted in the code now working.
You're right, Genode implements sleep_forever() via waiting for incoming messages in an endless loop. Did you discover which client was sending unexpected messages to your server? Maybe you just conceal a bug by increasing the Msgbuf size.
Regards