bug-findutils
[Top][All Lists]
Advanced

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

findutils-4.3.2: core dump when run as root on Solaris 10 SPARC


From: Nelson H. F. Beebe
Subject: findutils-4.3.2: core dump when run as root on Solaris 10 SPARC
Date: Wed, 28 Feb 2007 18:04:15 -0700 (MST)

The findutils-4.3.2 locate utility dumps core when run as root on
Solaris 10 SPARC:

        # gdb /usr/local/bin/locate-4.3.2-dumps-core-as-root 
        GNU gdb 6.6
        ...
        (gdb) run
        Program received signal SIGSEGV, Segmentation fault.
        0xff130db0 in strlen () from /lib/libc.so.1
        (gdb) where
        #0  0xff130db0 in strlen () from /lib/libc.so.1
        #1  0xff1963c0 in _ndoprnt () from /lib/libc.so.1
        #2  0xff1983d0 in fprintf () from /lib/libc.so.1
        #3  0x000185a0 in error ()
        #4  0x00014f10 in drop_privs ()
        #5  0x00015c88 in main ()

SIGSEGV inside str*() routines is often caused by NULL pointer, and
that is confirmed in this case by dbx, which reports this traceback:

        signal SEGV (no mapping at the fault address) in strlen at 0xff130db0
        0xff130db0: strlen+0x0050:      ld       [%o2], %o1
        (dbx) where
        =>[1] strlen(0x0, 0xfffffaf0, 0x0, 0x2d, 0x0, 0x2b), at 0xff130db0 
          [2] _ndoprnt(0x37aaa, 0xffbfd4a0, 0xffbfcd19, 0x0, 0x0, 0x0), at 
0xff1963b8 
          [3] _fprintf(0x48c30, 0x37aa8, 0x0, 0x4ff9c, 0x0, 0xff1e8298), at 
0xff1983c8 
          [4] error(0x1, 0x0, 0x376fc, 0x376e0, 0xff312000, 0x3), at 0x18598 
          [5] drop_privs(0x3, 0xff1ecbc0, 0x4, 0xff312000, 0x0, 0x376e0), at 
0x14f08 
          [6] main(0x1, 0xffbfd5f4, 0xffbfd5fc, 0x48800, 0xff3100c0, 0x3), at 
0x15c80 

The same executable works fine when run by an ordinary user.

I built findutils-4.3.2 on about 20 flavors of Unix in more than 40
compilation environments, and pretty much all of them passed their
validation tests (but these were run as an ordinary user, not as
root).

The drop_privs() routine in the call stack suggests that something
special is going on for the root user.

As a temporary workaround, I copied a snapshot of our previous
installation (4.2.29) into /usr/local/bin/locate, so I was able to
make a quick temporary patch for the problem without having to rebuild
anything.

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                    FAX: +1 801 581 4148                  -
- Department of Mathematics, 110 LCB    Internet e-mail: address@hidden  -
- 155 S 1400 E RM 233                       address@hidden  address@hidden -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]