Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Aug 2002 13:00:07 -0400
From:      Alexander Kabaev <ak03@gte.com>
To:        "David W. Chapman Jr." <dwcjr@inethouston.net>
Cc:        current@FreeBSD.ORG, ports@FreeBSD.ORG
Subject:   Re: pkg_version and no origin found == SEGFAULT
Message-ID:  <20020825130007.35cdd0b9.ak03@gte.com>
In-Reply-To: <20020825164731.GA88696@leviathan.inethouston.net>
References:  <20020825164731.GA88696@leviathan.inethouston.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> It seems when pkg_version hits an installed port that has no origin 
> found it segfaults.  I have found other people to verify that it 
> segfaults for them too.  DWhite seems to think that it may be pointer 
> corruption in libc, specifically snprintf, fopen, strlcpy or strncpy

Have you checked your /var/db/pkg/<port_name>/+CONTENTS files? For some
reason some ports on my relatively stale -CURRENT box had these files
truncated to zero length, and this caused some package tools (namely
pkg_version) to crash. The procedure to read plist simply returns with
all plist struct members set to zero without indicating any errors when
CONTENTS file is empty, and the pkg_version crashes trying to
defererence null 'origin' pointer.

> Here is the backtrace
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x28204e57 in strlcpy () from /usr/lib/libc.so.5
> (gdb) bt
> #0  0x28204e57 in strlcpy () from /usr/lib/libc.so.5
> #1  0x0804a003 in pkg_do (pkg=0x0)
>     at /usr/src/usr.sbin/pkg_install/version/perform.c:169
> #2  0x08049bfc in pkg_perform (indexarg=0x0)
>     at /usr/src/usr.sbin/pkg_install/version/perform.c:71
> #3  0x08049a45 in main (argc=1, argv=0xbfbffc0c)
>     at /usr/src/usr.sbin/pkg_install/version/main.c:79
> #4  0x08049879 in _start ()

-- 
Alexander Kabaev

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020825130007.35cdd0b9.ak03>