> 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 [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to