[Barrelfish-users] Corruption sending buffer

Baumann Andrew andrewb at inf.ethz.ch
Mon Jan 16 20:58:15 CET 2012

Hi Zeus,

At first look your program appears to be correct if sizeof(unsigned) == 4 on both source and destination. Although sending 4kB buffers through the IDC system in this way is madness, it should work.

Unfortunately I'm not in a good position to run this right now (... it's a long story involving snow and an out-of-date QEMU). When it fails, is the incorrect value one from the previous iteration, or is it garbage?

BTW, there is a minor use-after-free bug in your debug_printf() in the receive handler.


From: Zeus Gómez Marmolejo [mailto:zeus.gomez at bsc.es]
Sent: Monday, 16 January 2012 11:39
To: barrelfish-users at lists.inf.ethz.ch
Subject: [Barrelfish-users] Corruption sending buffer

Dear Barrelfish developers,

I believe that I've found a bug in the message passing interface when a buffer is sent between two endpoints. I would like you to have a look at this example I'm sending to you. You can copy it to the folder "usr/tests/idctest" of the latest version of the public repository. It should build correctly.

This is a very simple example: it has 2 cores, with one thread per core. Only one core is sending a message to the other core. The message is a simple buffer of 1024 unsigned integers where the first integer and the last one is the same, it's incremented in each message sent. The message handler on the receiver is just checking that the first and the last integer of the buffer are the same.

The application keeps running until it finds that the two integers differ. This means that the buffer has been sent incorrectly. I've tested this in qemu and in a real machine and after a while the program aborts because of a corrupt buffer. In both systems, the error happens before 2 minutes approx.

Can you have a look at this example and check whether I'm doing something wrong?

Many thanks!!

Zeus Gómez Marmolejo
Barcelona Supercomputing Center
PhD student

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120116/09e4ac6f/attachment.html 

More information about the Barrelfish-users mailing list