Bug#452081: makedb broken on alpha/sid
clone 452081 -1
reassign -1 gcc-4.2
retitle -1 gcc-4.2 generates bad code on alpha
block 452081 by -1
thanks
On Tue, Nov 20, 2007 at 12:05:25PM +0100, Aurelien Jarno wrote:
> Peter Palfrader a écrit :
> > Package: libc6.1
> > Version: 2.6.1-6
> > Severity: important
> >
> > Hi,
> >
> > In the sid chroot of albeniz.debian.org, an alpha machine, makedb cannot
> > build the passwd database:
> >
> > albeniz:~# strace -f chroot /srv/albeniz.debian.org/chroot/sid makedb /var/lib/misc/albeniz.debian.org/passwd.tdb -o /var/lib/misc/passwd.db.t
> > [..]
> > munmap(0x20000022000, 8192) = 0
> > open("/var/lib/misc/passwd.db.t", O_RDWR) = -1 ENOENT (No such file or directory)
> > open("/var/lib/misc/passwd.db.t", O_RDWR) = -1 ENOENT (No such file or directory)
> > open("/var/lib/misc/passwd.db.t", O_RDWR) = -1 ENOENT (No such file or directory)
> > stat64("/var/lib/misc/passwd.db.t", 0x11f80f4f0) = -1 ENOENT (No such file or directory)
> > open("/var/lib/misc/__db.passwd.db.t", O_RDWR|O_CREAT|O_EXCL, 0644) = 4
> > fcntl(4, F_SETFD, FD_CLOEXEC) = 0
> > fstat64(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> > stat64("/var/lib/misc/__db.passwd.db.t", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> > getxpid() = 1001
> > gettimeofday({1195551626, 918567}, NULL) = 0
> > lseek(4, 0, SEEK_SET) = 0
> > write(4, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\t\0\0\0\0 \0\0\0\t\0\0\0"..., 8192) = 8192
> > lseek(4, 8192, SEEK_SET) = 8192
> > write(4, "\0\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \1\5\0\0"..., 8192) = 8192
> > osf_mincore(0x4, 0x120015470, 0x1200154a0, 0x1, 0x11f80f3e8) = 6
> > osf_syscall(0x4, 0x120015470, 0x200002e933c, 0, 0, 0x5) = 378
> > open("/proc/self/task/1001/attr/fscreate", O_RDWR) = 4
> > write(4, NULL, 0) = -1 EINVAL (Invalid argument)
> > close(4) = 0
> > write(2, "makedb: ", 8makedb: ) = 8
> > write(2, "cannot open output file `/var/li"..., 77cannot open output file `/var/lib/misc/passwd.db.t': Function not implemented) = 77
> > write(2, "\n", 1
> > ) = 1
> > exit_group(1) = ?
> > Process 1001 detached
> >
> > it appears the db_open fails for some reason or other.
> >
> > The same command works without problems in the lenny chroot. With the
> > same libdb4.3, with the same libnss-db (which is the package that has
> > makedb). Downgrading the libc in sid to the one in lenny (2.6.1-6 ->
> > 2.6.1-1) makes makedb work.
> >
> >
> > Since albeniz is our alpha porter box you should have accounts on it,
> > and it's no problem to reproduce it as a user:
> >
> > [sid] @albeniz:~$ rm -f __db.test test
> > [sid] @albeniz:~$ makedb /var/lib/misc/albeniz.debian.org/passwd.tdb -o test
> > makedb: cannot open output file `test': Function not implemented
> >
>
> Thanks for the informations you provided. I have been able to narrow the
> problem to version 2.6.1-6 (ie 2.6.1-5 works). Given the short changelog
> of this version, I guess the problem is located in the following changes:
> * Add any/cvs-posix-glob.diff, fixing improper of treatment of \
> in glob(). closes: #445210
>
> I need some more tests to confirm that the problem comes from this change.
>
The problem does not comes from there. It is very probably a compiler
problem, as rebuilding glibc 2.6.1-5 with the current gcc-4.2 make it
failing. I observe the samble behaviour with gcc-4.1.
works: Compiled by GNU CC version 4.2.1 (Debian 4.2.1-5).
fails: Compiled by GNU CC version 4.2.3 20071014 (prerelease) (Debian 4.2.2-3).
I am therefore cloning this bug to gcc-4.2.
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32@debian.org | aurelien@aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
Reply to: