[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#715212: marked as done (incompatability with 2.6.32; eventfd() fails with "Function not implemented")



Your message dated Wed, 17 Jul 2013 08:04:33 +0200
with message-id <20130717060433.GA11645@hall.aurel32.net>
and subject line Re: Bug#715212: incompatability with 2.6.32; eventfd() fails with "Function not implemented"
has caused the Debian Bug report #715212,
regarding incompatability with 2.6.32; eventfd() fails with "Function not implemented"
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
715212: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=715212
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.17-7
Severity: important

On a system with kernel 2.6.32 (forced by a hosting provider) and this
libc6, any calls to eventfd() fail. This causes at least all nontrivial
haskell programs to fail to run, since ghc uses eventfd in its
runtime system when performing IO.

Here is an upstream bug report in ghc about this problem:
http://ghc.haskell.org/trac/ghc/ticket/7926
(According to the comments there, wheezy is also affected.)

Here is a report of this problem breaking git-annex:
http://git-annex.branchable.com/bugs/hGetContents:_user_error/

Here is a simple test program I used to verify this problem is not specific to
ghc:

#include <sys/eventfd.h>
#include <errno.h>

main () {
        int i;
        i = eventfd(10, 0);
        if (i == -1) {
                perror("err");
        }
        else {
                printf("hello, world\n");
        }
}

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
On Sun, Jul 07, 2013 at 10:38:50PM +0200, Aurelien Jarno wrote:
> On Sun, Jul 07, 2013 at 02:17:47PM -0400, Joey Hess wrote:
> > Aurelien Jarno wrote:
> > > I am unable to reproduce the problem on a Debian 2.6.32-5 kernel. Could
> > > it be that the kernel that you are using does not have CONFIG_EVENTFD
> > > enabled? An strace of this test program could help to understand the
> > > problem.
> > 
> > That seems likely. FWIW, the hosting provider with this kernel is
> > strato.de. I don't know if that's a significant provider in Germany.
> > (If it doesn't let users boot their own kernels, I hope not!)
> > 
> > joeyh@h1658901:~/tmp$ strace ./test
> > execve("./test", ["./test"], [/* 19 vars */]) = 0
> > brk(0)                                  = 0x83e5000
> > uname({sys="Linux", node="h1658901.stratoserver.net", ...}) = 0
> > access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
> > mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f1c000
> > access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
> > open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
> > fstat64(3, {st_mode=S_IFREG|0644, st_size=38933, ...}) = 0
> > mmap2(NULL, 38933, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f12000
> > close(3)                                = 0
> > access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
> > open("/lib/i386-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
> > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\227\1\0004\0\0\0"..., 512) = 512
> > fstat64(3, {st_mode=S_IFREG|0755, st_size=1512872, ...}) = 0
> > mmap2(NULL, 1522332, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7d9e000
> > mmap2(0xb7f0c000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16e) = 0xb7f0c000
> > mmap2(0xb7f0f000, 10908, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f0f000
> > close(3)                                = 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7d9d000
> > set_thread_area({entry_number:-1 -> 6, base_addr:0xb7d9d900, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
> > mprotect(0xb7f0c000, 8192, PROT_READ)   = 0
> > mprotect(0xb7f3d000, 4096, PROT_READ)   = 0
> > munmap(0xb7f12000, 38933)               = 0
> > eventfd2(10, 0)                         = -1 ENOSYS (Function not implemented)
> 
> The kernel doesn't support the eventfd2 syscall, which has been added in
> kernel 2.6.27. There is nothing which can be done on the glibc side, it
> can't do a lot without a proper kernel support. Therefore it doesn't
> seem a bug for me, the hosting provider should provide a kernel with
> CONFIG_EVENTFD enabled.
> 

As explained, this is not a glibc bug, but rather a kernel one. I am
therefore closing the bug.

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

--- End Message ---

Reply to: