Bug 230377 - unhandled syscall splice README_MISSING_SYSCALL_OR_IOCTL
Summary: unhandled syscall splice README_MISSING_SYSCALL_OR_IOCTL
Status: RESOLVED DUPLICATE of bug 205788
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-11 23:06 UTC by Martin Olsson
Modified: 2010-03-11 23:29 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Olsson 2010-03-11 23:06:52 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

Put this into main.c:

#include <fcntl.h>
main(void) {
        loff_t offset;
        splice (0, &offset, 0, 0, 0, 0);
        return 0;
}

...then do "gcc main.c" followed by "valgrind ./a.out" (it also happen when you valgrind certain GNOME apps like for example Shotwell etc).

On Ubuntu Lucid (snapshot, close to beta) you get:
--11637-- WARNING: unhandled syscall: 275
--11637-- You may be able to write your own handler.
--11637-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
--11637-- Nevertheless we consider this a bug. Please report
--11637-- it at http://valgrind.org/support/bug_reports.html.
This distro has valgrind package version "1:3.6.0~svn20100212-0ubuntu2" and kernel "2.6.32-16-generic". It's a 64-bit machine.

On Ubuntu Karmic (stable) you get:
--6196-- WARNING: unhandled syscall: 313
--6196-- You may be able to write your own handler.
--6196-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
--6196-- Nevertheless we consider this a bug. Please report
--6196-- it at http://valgrind.org/support/bug_reports.html.
This distro has valgrind package version "1:3.5.0-2ubuntu2" and kernel "2.6.31-20-generic". It's a 32-bit machine.

The splice syscall is very mature/established so I don't get why this is happening. Also, if I grep through the valgrind source package provided by my distro I see several references to the splice syscall, for example:

valgrind-3.6.0~svn20100212/coregrind/m_syswrap/syswrap-x86-linux.c://   LINX_(__NR_splice,            sys_ni_syscall),       // 313
valgrind-3.6.0~svn20100212/coregrind/m_syswrap/syswrap-x86-linux.c://   LINX_(__NR_vmsplice,          sys_ni_syscall),       // 316
valgrind-3.6.0~svn20100212/coregrind/m_syswrap/syswrap-amd64-linux.c://   LINX_(__NR_splice,            sys_ni_syscall),       // 275
valgrind-3.6.0~svn20100212/coregrind/m_syswrap/syswrap-amd64-linux.c://   LINX_(__NR_vmsplice,          sys_ni_syscall),       // 278

---

It's cluttering up my logs and it asks me to open a bug report, so I am reporting it. I'd be happy to help out writing/testing a fix for this if someone explains to me what the problem is and what I should do about it. 

The downstream bug report tracking this issue is here:
https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/537688
Comment 1 Tom Hughes 2010-03-11 23:29:28 UTC
It's not implemented (in the current release) because it's a new system call that nobody had run into it until recently. When somebody did encounter it and report that, it got implemented and it will be in the next release.

*** This bug has been marked as a duplicate of bug 205788 ***