Hi, all, I've got a strange SIGABRT issue with kcheckpass. Of course, kcheckpass is not contained in the base system, yet I write to this list since the base system could be able to help with tracking this down. (kcheckpass is called from a screen locker which fails to operate properly as a consequence of the SIGABRT.) Normal behaviour: (for example with wrong password) $ kcheckpass Password: Authentication failure Strange behaviour here (called mybox below): $ kcheckpass Abort trap: 6 I've recompiled the kcheckpass part of the kdebase3 port with option -g. Starting with debugger even doesn't let me reach a breakpoint at main(), because the SIGABRT happens earlier. # pwd /usr/ports/x11/kdebase3/work/kdebase-3.5.10/kcheckpass # ldd ./kcheckpass ./kcheckpass: libkdefakes.so.6 => /usr/local/lib/libkdefakes.so.6 (0x68193000) libpam.so.4 => /usr/lib/libpam.so.4 (0x68195000) libjpeg.so.10 => /usr/local/lib/libjpeg.so.10 (0x6819c000) libthr.so.3 => /lib/libthr.so.3 (0x681d0000) libc.so.7 => /lib/libc.so.7 (0x68080000) # gdb ./kcheckpass GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-marcel-freebsd"... (gdb) b main Breakpoint 1 at 0x1470: file kcheckpass.c, line 297. (gdb) r Starting program: /usr/ports/x11/kdebase3/work/kdebase-3.5.10/kcheckpass/kcheckpass Program terminated with signal SIGABRT, Aborted. The program no longer exists. You can't do that without a process to debug. (gdb) q $ uname -a FreeBSD mybox 7.2-STABLE FreeBSD 7.2-STABLE #18: Mon Dec 14 00:39:13 CET 2009 mybox i386 $ ls -ld /var/db/pkg/kdebase* drwxr-xr-x 2 root wheel 512 Jan 11 18:35 /var/db/pkg/kdebase-3.5.10_4/ drwxr-xr-x 2 root wheel 512 Jan 11 18:35 /var/db/pkg/kdebase-kompmgr-3.5.10_1/ Any ideas what's the cause or what I should try next to see where this abort comes from? Thanks, Damian
On Tuesday 12 January 2010 17:49:25 Damian Weber wrote:> Hi, all, > > I've got a strange SIGABRT issue with kcheckpass. > Of course, kcheckpass is not contained in the base > system, yet I write to this list since the base system > could be able to help with tracking this down. > (kcheckpass is called from a screen locker which fails > to operate properly as a consequence of the SIGABRT.) > > Normal behaviour: > (for example with wrong password) > $ kcheckpass > Password: > Authentication failure > > Strange behaviour here (called mybox below): > $ kcheckpass > Abort trap: 6 > > I've recompiled the kcheckpass part of the kdebase3 > port with option -g. > Starting with debugger even doesn't let me reach a > breakpoint at main(), because the SIGABRT happens > earlier. > > # pwd > /usr/ports/x11/kdebase3/work/kdebase-3.5.10/kcheckpass > > # ldd ./kcheckpass > ./kcheckpass: > libkdefakes.so.6 => /usr/local/lib/libkdefakes.so.6 (0x68193000) > libpam.so.4 => /usr/lib/libpam.so.4 (0x68195000) > libjpeg.so.10 => /usr/local/lib/libjpeg.so.10 (0x6819c000) > libthr.so.3 => /lib/libthr.so.3 (0x681d0000) > libc.so.7 => /lib/libc.so.7 (0x68080000) > > # gdb ./kcheckpass > GNU gdb 6.1.1 [FreeBSD] > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you > are welcome to change it and/or distribute copies of it under certain > conditions. Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i386-marcel-freebsd"... > (gdb) b main > Breakpoint 1 at 0x1470: file kcheckpass.c, line 297. > (gdb) r > Starting program: > /usr/ports/x11/kdebase3/work/kdebase-3.5.10/kcheckpass/kcheckpass > > Program terminated with signal SIGABRT, Aborted. > The program no longer exists. > You can't do that without a process to debug. > (gdb) q > > $ uname -a > FreeBSD mybox 7.2-STABLE FreeBSD 7.2-STABLE #18: Mon Dec 14 00:39:13 CET > 2009 mybox i386 $ ls -ld /var/db/pkg/kdebase* > drwxr-xr-x 2 root wheel 512 Jan 11 18:35 /var/db/pkg/kdebase-3.5.10_4/ > drwxr-xr-x 2 root wheel 512 Jan 11 18:35 > /var/db/pkg/kdebase-kompmgr-3.5.10_1/ > > Any ideas what's the cause or what I should try next to see where this > abort comes from? > > Thanks, > > Damiantry debugging kcheckpass --nofork, as it will prevent the process forking off into the background. A.
On Tue, 12 Jan 2010, Greg Rivers wrote:> Date: Tue, 12 Jan 2010 13:33:53 -0600 (CST) > From: Greg Rivers <gcr+freebsd-stable@tharned.org> > To: Damian Weber <dweber@htw-saarland.de> > Cc: freebsd-stable@freebsd.org > Subject: Re: strange abort with kcheckpass > > On Tue, 12 Jan 2010, Damian Weber wrote: > > > I've got a strange SIGABRT issue with kcheckpass. Of course, kcheckpass is > > not contained in the base system, yet I write to this list since the base > > system could be able to help with tracking this down. (kcheckpass is called > > from a screen locker which fails to operate properly as a consequence of the > > SIGABRT.) > > > > Normal behaviour: > > (for example with wrong password) > > $ kcheckpass > > Password: > > Authentication failure > > > > Strange behaviour here (called mybox below): > > $ kcheckpass > > Abort trap: 6 > > > > Have you set security.bsd.map_at_zero=0 ? In my experience, several ports > (eg. samba, cups, parts of kde3) depend on PIE and will not run with this > disabled on 7.x. >Yes - that was the problem. Thanks a lot. # sysctl security.bsd.map_at_zero=1 security.bsd.map_at_zero: 0 -> 1 magritte# kcheckpass Password: Authentication failure Best regards Damian
On Tue, 12 Jan 2010, Damian Weber wrote:> I've got a strange SIGABRT issue with kcheckpass. Of course, kcheckpass > is not contained in the base system, yet I write to this list since the > base system could be able to help with tracking this down. (kcheckpass > is called from a screen locker which fails to operate properly as a > consequence of the SIGABRT.) > > Normal behaviour: > (for example with wrong password) > $ kcheckpass > Password: > Authentication failure > > Strange behaviour here (called mybox below): > $ kcheckpass > Abort trap: 6 >Have you set security.bsd.map_at_zero=0 ? In my experience, several ports (eg. samba, cups, parts of kde3) depend on PIE and will not run with this disabled on 7.x. References: http://security.freebsd.org/advisories/FreeBSD-EN-09:05.null.asc http://lists.freebsd.org/pipermail/freebsd-stable/2009-October/052235.html -- Greg Rivers