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>