[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-diffutils] [platform-testers] new snapshot available: diffutils
From: |
Dagobert Michelsen |
Subject: |
Re: [bug-diffutils] [platform-testers] new snapshot available: diffutils-3.2.37-f0b0 |
Date: |
Fri, 2 Nov 2012 11:26:08 +0100 |
Hi Paul,
Am 31.10.2012 um 17:31 schrieb Paul Eggert <address@hidden>:
> Thanks, but I'm afraid that's still not enough information.
> I don't know which assertion has failed, or why.
>
> Perhaps you can single-step through the failed programs?
> They shouldn't take long to run.
It looks like that SIGABRT does not call the callback, but crashes the process.
> unstable9s% gdb test-sigaction
> GNU gdb (GDB) 7.4.1
> Copyright (C) 2012 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "sparc-sun-solaris2.9".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from
> /home/dam/mgar/pkg/diffutils/trunk/work/solaris9-sparc/build-isa-sparcv8/diffutils-3.2.37-f0b0/gnulib-tests/test-sigaction...done.
> (gdb) b 90
> Breakpoint 1 at 0x110ec: file test-sigaction.c, line 90.
> (gdb) r
> Starting program:
> /home/dam/mgar/pkg/diffutils/trunk/work/solaris9-sparc/build-isa-sparcv8/diffutils-3.2.37-f0b0/gnulib-tests/test-sigaction
>
>
> Breakpoint 1, main () at test-sigaction.c:94
> 94 sa.sa_handler = handler;
> (gdb) n
> 96 sa.sa_flags = 0;
> (gdb)
> 97 ASSERT (sigemptyset (&sa.sa_mask) == 0);
> (gdb)
> 98 ASSERT (sigaction (SIGABRT, &sa, NULL) == 0);
> (gdb)
> 99 ASSERT (raise (SIGABRT) == 0);
> (gdb) stepi
> 0x000111c0 99 ASSERT (raise (SIGABRT) == 0);
> (gdb)
> 0x000219ac in address@hidden ()
> (gdb) step
> Single stepping until exit from function address@hidden,
> which has no line number information.
> 0xff1a0ae8 in raise () from /usr/lib/libc.so.1
> (gdb)
> Single stepping until exit from function raise,
> which has no line number information.
> 0xff1f081c in _libc_kill () from /usr/lib/libc.so.1
> (gdb)
> Single stepping until exit from function _libc_kill,
> which has no line number information.
> Warning:
> Cannot insert breakpoint 0.
> Error accessing memory address 0xc: I/O error.
>
> 0x00000008 in ?? ()
> (gdb)
> Cannot find bounds of current function
> (gdb)
> Cannot find bounds of current function
> (gdb)
> Cannot find bounds of current function
> (gdb)
> Cannot find bounds of current function
> (gdb)
> Cannot find bounds of current function
> (gdb) quit
> A debugging session is active.
>
> Inferior 1 [process 23220] will be killed.
>
> Quit anyway? (y or n) y
> unstable9s% gdb test-sigaction
> GNU gdb (GDB) 7.4.1
> Copyright (C) 2012 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "sparc-sun-solaris2.9".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from
> /home/dam/mgar/pkg/diffutils/trunk/work/solaris9-sparc/build-isa-sparcv8/diffutils-3.2.37-f0b0/gnulib-tests/test-sigaction...done.
> (gdb) b 90
> Breakpoint 1 at 0x110ec: file test-sigaction.c, line 90.
> (gdb) step
> The program is not being run.
> (gdb) r
> Starting program:
> /home/dam/mgar/pkg/diffutils/trunk/work/solaris9-sparc/build-isa-sparcv8/diffutils-3.2.37-f0b0/gnulib-tests/test-sigaction
>
>
> Breakpoint 1, main () at test-sigaction.c:94
> 94 sa.sa_handler = handler;
> (gdb) step
> 96 sa.sa_flags = 0;
> (gdb)
> 97 ASSERT (sigemptyset (&sa.sa_mask) == 0);
> (gdb)
> 98 ASSERT (sigaction (SIGABRT, &sa, NULL) == 0);
> (gdb)
> 99 ASSERT (raise (SIGABRT) == 0);
> (gdb)
>
> Program received signal SIGABRT, Aborted.
> 0xff3dc738 in ?? ()
> (gdb)
> Cannot find bounds of current function
>
> unstable9s% gdb test-sigaction
> GNU gdb (GDB) 7.4.1
> Copyright (C) 2012 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "sparc-sun-solaris2.9".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from
> /home/dam/mgar/pkg/diffutils/trunk/work/solaris9-sparc/build-isa-sparcv8/diffutils-3.2.37-f0b0/gnulib-tests/test-sigaction...done.
> (gdb) l 60
> 55
> 56 /* This test is unsafe in the presence of an asynchronous SIGABRT,
> 57 because we install a signal-handler that is intentionally not
> 58 async-safe. Hopefully, this does not lead to too many reports of
> 59 false failures, since people don't generally use 'kill -s SIGABRT'
> 60 to end a runaway program. */
> 61
> 62 static void
> 63 handler (int sig)
> 64 {
> (gdb) b 63
> Breakpoint 1 at 0x10e20: file test-sigaction.c, line 63.
> (gdb) run
> Starting program:
> /home/dam/mgar/pkg/diffutils/trunk/work/solaris9-sparc/build-isa-sparcv8/diffutils-3.2.37-f0b0/gnulib-tests/test-sigaction
>
>
> Program received signal SIGABRT, Aborted.
> 0xff3dc738 in ?? ()
On test-raise.c for some obscure reason SIG_ERR is ( void ( * ) ( ) ) 0 which
then
fails the assert as "0" usually means no error. This is because "lint" is
defined:
> ../config.log:#define lint 1
and hence in /usr/include/sys/iso/signal_iso.h this breaks:
> #elif defined(lint)
>
> #define SIG_DFL (void(*)())0
> #define SIG_ERR (void(*)())0
> #define SIG_IGN (void (*)())0
> #define SIG_HOLD (void(*)())0
>
> #else
>
> #define SIG_DFL (void(*)())0
> #define SIG_ERR (void(*)())-1
> #define SIG_IGN (void (*)())1
> #define SIG_HOLD (void(*)())2
>
> #endif
Undefining "lint" in lib/config.h makes this test pass immediately.
Hopefully this helps.
Best regards
-- Dago
--
"You don't become great by trying to be great, you become great by wanting to
do something,
and then doing it so hard that you become great in the process." - xkcd #896
- Re: [bug-diffutils] [platform-testers] new snapshot available: diffutils-3.2.37-f0b0,
Dagobert Michelsen <=