The library was copying the swap structures badly. Attached is a patch file that fixes the issue.
Thanks.
--- ./memory.c 2010-08-16 16:28:21.623394753 +0200 +++ Programación/workspace/libsysactivity/src/Linux/memory.c 2010-08-16 16:18:16.863387894 +0200 @@ -157,12 +157,12 @@ *written = 0; int i; - for (i = 0; i < dst_size; i++) { - if (fgets(line_buffer, sizeof line_buffer, file_swaps) == NULL) - return EIO; + for (i = 0; fgets(line_buffer, sizeof line_buffer, file_swaps) != NULL; i++) { + if (i >= dst_size) + return ENOMEM; errno = 0; - parse_swap(dst, line_buffer); + parse_swap(&dst[i], line_buffer); if (errno != 0) return ENOSYS;