as it is leads to segfault due to reference to args0. Also, there's less help from the tool of what parameters it expects.
Moreover, there's an assert() failure when checking the return value of buffer::list::write_fd():
int rc = bl.write_fd(fd);
assert(rc == r);
... write_fd() returns 0 on success.