[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18896: regressions in coreutils 8.23 on Yosemite
From: |
Jack Howarth |
Subject: |
bug#18896: regressions in coreutils 8.23 on Yosemite |
Date: |
Fri, 31 Oct 2014 11:41:08 -0400 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Fri, Oct 31, 2014 at 03:56:06AM +0000, Pádraig Brady wrote:
> On 10/31/2014 03:30 AM, Jack Howarth wrote:
> > On Fri, Oct 31, 2014 at 02:29:05AM +0000, Pádraig Brady wrote:
> >>
> >> So linkat() is now available but doesn't support hardlinks to symlinks
> >> contrary to the POSIX spec. So it would be best we consider linkat()
> >> unavailable, which can be done manually like:
> >>
> >> ac_cv_func_linkat=no ./configure
> >>
> >> We'll have to augment the gnulib linkat check to actually check
> >> that linkat() works, rather than just being available.
> >
> > Passing ac_cv_func_linkat=no to configure and using your attached patch
> > results in a large number of failures on x86_64-apple-darwin14.
>
> Good that's better. coreutils tests have passed, and you're getting
> to gnulib issues below.
>
>
> > FAIL: test-readlinkat
> > =====================
> > ./test-readlink.h:71: assertion 'func (BASE "link2/", buf, sizeof buf) ==
> > -1' failed
> >
> > FAIL: test-symlinkat
> > ====================
> > ./test-symlink.h:83: assertion 'func (BASE "nowhere", BASE "link1/") == -1'
> > failed
> >
> > FAIL: test-unlinkat
> > ===================
> > ./test-unlink.h:49: assertion 'func ("..") == -1' failed
> > This is indicating these system functions are succeeding (or failing with a
> > different return value)
> while their non "at" equivalents are failing as expected. That's surprising.
> It would be useful to determine (with printf/gdb) the return value and errno
> in the above tests.
Interestingly some of these asserts seem to be suppressed when I run the
failing testcases through
lldb or gdb.
% sudo lldb ./test-fdutimensat
(lldb) target create "./test-fdutimensat"
Current executable set to './test-fdutimensat' (x86_64).
(lldb) r
Process 26490 launched: './test-fdutimensat' (x86_64)
Process 26490 exited with status = 0 (0x00000000)
(lldb)
% sudo lldb ./test-unlinkat
(lldb) target create "./test-unlinkat"
Current executable set to './test-unlinkat' (x86_64).
(lldb) r
Process 51535 launched: './test-unlinkat' (x86_64)
Process 51535 exited with status = 0 (0x00000000)
(lldb)
whereas others aren't...
% sudo lldb ./test-readlinkat
(lldb) target create "./test-readlinkat"
Current executable set to './test-readlinkat' (x86_64).
(lldb) r
Process 51522 launched: './test-readlinkat' (x86_64)
./test-readlink.h:71: assertion 'func (BASE "link2/", buf, sizeof buf) == -1'
failed
Process 51522 stopped
* thread #1: tid = 0x74d0e9, 0x00007fff962cd282
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGABRT
frame #0: 0x00007fff962cd282 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill + 10:
-> 0x7fff962cd282: jae 0x7fff962cd28c ; __pthread_kill + 20
0x7fff962cd284: movq %rax, %rdi
0x7fff962cd287: jmp 0x7fff962c8ca3 ; cerror_nocancel
0x7fff962cd28c: retq
(lldb) bt
* thread #1: tid = 0x74d0e9, 0x00007fff962cd282
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGABRT
* frame #0: 0x00007fff962cd282 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff8ffc44c3 libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x00007fff8bfe7b73 libsystem_c.dylib`abort + 129
frame #3: 0x0000000100001c2b
test-readlinkat`test_readlink(print=<unavailable>, func=<unavailable>) + 3083
at test-readlink.h:34
frame #4: 0x000000010000096e test-readlinkat`main + 174 at
test-readlinkat.c:76
frame #5: 0x00007fff999935c9 libdyld.dylib`start + 1
(lldb)
h% sudo lldb ./test-symlinkat
(lldb) target create "./test-symlinkat"
Current executable set to './test-symlinkat' (x86_64).
(lldb) r
Process 51529 launched: './test-symlinkat' (x86_64)
./test-symlink.h:83: assertion 'func (BASE "nowhere", BASE "link1/") == -1'
failed
Process 51529 stopped
* thread #1: tid = 0x74d1b5, 0x00007fff962cd282
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGABRT
frame #0: 0x00007fff962cd282 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill + 10:
-> 0x7fff962cd282: jae 0x7fff962cd28c ; __pthread_kill + 20
0x7fff962cd284: movq %rax, %rdi
0x7fff962cd287: jmp 0x7fff962c8ca3 ; cerror_nocancel
0x7fff962cd28c: retq
(lldb) bt
* thread #1: tid = 0x74d1b5, 0x00007fff962cd282
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGABRT
* frame #0: 0x00007fff962cd282 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff8ffc44c3 libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x00007fff8bfe7b73 libsystem_c.dylib`abort + 129
frame #3: 0x0000000100001293
test-symlinkat`test_symlink(print=<unavailable>, func=<unavailable>) + 2211 at
test-symlink.h:43
frame #4: 0x0000000100000849 test-symlinkat`main + 169 at
test-symlinkat.c:79
frame #5: 0x00007fff999935c9 libdyld.dylib`start + 1
frame #6: 0x00007fff999935c9 libdyld.dylib`start + 1
(lldb)
where the error is at...
static int
test_symlink (int (*func) (char const *, char const *), bool print)
{
if (func ("nowhere", BASE "link1"))
{
if (print)
fputs ("skipping test: symlinks not supported on this file system\n",
stderr);
return 77;
}
/* Some systems allow the creation of 0-length symlinks as a synonym
for "."; but most reject it. */
{
int status;
errno = 0;
status = func ("", BASE "link2");
if (status == -1)
ASSERT (errno == ENOENT || errno == EINVAL); <<<<<<<<<--------- crash
on Yosemite
else
{
ASSERT (status == 0);
ASSERT (unlink (BASE "link2") == 0);
}
}
>
> > FAIL: test-fdutimensat
> > ======================
> > ./test-utimens.h:113: assertion 'st3.st_atime == Y2K' failed
> >
> > FAIL: test-futimens
> > ===================
> > ./test-futimens.h:112: assertion 'st1.st_atime == st2.st_atime' failed
> >
> > FAIL: test-utimens
> > ==================
> > ./test-futimens.h:112: assertion 'st1.st_atime == st2.st_atime' failed
>
> I've not looked into these at all.
>
> This information is very useful.
>
> thanks!
> Pádraig.
- bug#18896: regressions in coreutils 8.23 on Yosemite, Jack Howarth, 2014/10/29
- bug#18896: regressions in coreutils 8.23 on Yosemite, Pádraig Brady, 2014/10/29
- bug#18896: regressions in coreutils 8.23 on Yosemite, Jack Howarth, 2014/10/31
- bug#18896: regressions in coreutils 8.23 on Yosemite, Jack Howarth, 2014/10/31
- bug#18896: regressions in coreutils 8.23 on Yosemite, Pádraig Brady, 2014/10/31
- bug#18896: regressions in coreutils 8.23 on Yosemite, Jack Howarth, 2014/10/31
- bug#18896: regressions in coreutils 8.23 on Yosemite, Pádraig Brady, 2014/10/31
- bug#18896: regressions in coreutils 8.23 on Yosemite,
Jack Howarth <=
- bug#18896: regressions in coreutils 8.23 on Yosemite, Pádraig Brady, 2014/10/31
- bug#18896: regressions in coreutils 8.23 on Yosemite, Jack Howarth, 2014/10/31