pkgsrc-Bugs archive

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

Re: pkg/55845: pkgin may cause pkg_add to dump core



The following reply was made to PR pkg/55845; it has been noted by GNATS.

From: Havard Eidnes <he%NetBSD.org@localhost>
To: gnats-bugs%netbsd.org@localhost, jperkin%joyent.com@localhost
Cc: pkg-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, pkgsrc-bugs%netbsd.org@localhost
Subject: Re: pkg/55845: pkgin may cause pkg_add to dump core
Date: Sun, 06 Dec 2020 13:21:00 +0100 (CET)

 >  > # pkgin in p5-DBD-postgresql
 >  > calculating dependencies...done.
 >  > postgresql12-client-12.4nb1 (to be installed) conflicts with insta=
 lled package postgresql95-client-9.5.23nb1.
 >  > proceed ? [y/N] n
 >  > Segmentation fault (core dumped)
 >  > # pkg_info | grep pkgin
 >  > pkgin-20.8.0        Apt / yum like tool for managing pkgsrc binary=
  packages
 >
 >  This is a known bug in 20.8.0, fixed in 20.11.0
 
 Ah, that's encouraging.  I'll upgrade and this bug report can be
 closed.
 
 Following up on the other points:
 
 >  > # ls -l *.core
 >  > -rw-------  1 root  wsrc  4885936 Dec  4 14:33 pkg_add.core
 >
 >  Are you sure this is the core that was dumped above?  I would expect=
 
 >  to see a pkgin core.
 
 I've searched, and I can't find the pkgin.core file.
 Besides, the timestamp on the pkg_add.core file matches the above
 action.
 
 >  > 	What?!?  Why would pkgin run pkg_add behind my back when I
 >  > 	said that pkgin should *not* proceed?
 >
 >  I'm almost certain it wouldn't, certainly the only place it does run=
 
 >  (actions.c, do_pkg_install()), you would expect to see some further
 >  output beforehand, which doesn't match your output.
 >
 >  If this really is a pkg_add.core from a pkgin segfault, then I think=
 
 >  the only thing that would explain this is a really bad build that is=
 
 >  completely re-arranging some of the code.
 
 Strange.  I see the above comes from
 
                 /* check for conflicts */
                 if (pkg_has_conflicts(pkg))
                         if (!check_yesno(DEFAULT_NO))
                                 goto installend;
 
 but from the installend label it will return from the
 pkg_install() function, and rc may be defaulted to EXIT_SUCCESS
 still.
 
 Well.  I've browsed some more at the code, and can't find a
 smoking gun, and it's possible I wasn't fully alert until the
 above happened.  I'm satisfied with upgrading pkgin and let it be
 with that.
 
 Regards,
 
 - H=E5vard
 


Home | Main Index | Thread Index | Old Index