Moving this thread to bug-cfengine. On Jul 10, 2007, at 1:17 PM, Eric Searcy wrote:
On Jul 10, 2007, at 12:39 PM, Jo Rhett wrote:I have no clue why nobody else has reported a problem with it, but I recreated the patch for you and it seems to work better. Try this one<cfengine_packages.patch2>Thank you, this works for me against both 2.2.1, and against the current revision of trunk (r402).
I should have been more specific, the `working' was that I was able to apply the patch against the bodies of code. Since then, the patch in question was applied to trunk as r403. For your feedback on the patch, here's my cfagent -nv output. This was built from SVN trunk- latest, r406.
Packages output: ********************************************************************* Main Tree Sched: packages pass 1 @ Thu Jul 12 20:55:36 2007 ********************************************************************* PortageCheckPackage(): Requested =sys-libs/glibc-2.3.6-r5 eq ANY Match status for =sys-libs/glibc-2.3.6-r5 is 1 Package =sys-apps/portage-2.1.2.7 not installed. Match status for =sys-apps/portage-2.1.2.7 is 0 cfengine:YYYYYYYYY: Package manager will be invoked as /usr/bin/emergeBuildCommandLine(): Adding package '=sys-apps/portage-2.1.2.7' to the list.
Resolved command is '/usr/bin/emerge =sys-apps/portage-2.1.2.7' InstallPackage(): using '/usr/bin/emerge =sys-apps/portage-2.1.2.7'--skipping because DONTDO is enabled.Package =net-misc/ cfengine-2.1.22-r1 not installed.
Match status for =net-misc/cfengine-2.1.22-r1 is 0 cfengine:YYYYYYYYY: Package manager will be invoked as /usr/bin/emerge BuildCommandLine(): Adding package 'hup_cfservd' to the list.BuildCommandLine(): Adding package '=net-misc/cfengine-2.1.22-r1' to the list. Resolved command is '/usr/bin/emerge hup_cfservd =net-misc/ cfengine-2.1.22-r1' InstallPackage(): using '/usr/bin/emerge hup_cfservd =net-misc/ cfengine-2.1.22-r1' --skipping because DONTDO is enabled.Package =mail-mta/postfix-2.2.10 not installed.
Match status for =mail-mta/postfix-2.2.10 is 0 cfengine:YYYYYYYYY: Package manager will be invoked as /usr/bin/emerge BuildCommandLine(): Adding package 'bounce_smtp' to the list.BuildCommandLine(): Adding package '=mail-mta/postfix-2.2.10' to the list. Resolved command is '/usr/bin/emerge bounce_smtp =mail-mta/ postfix-2.2.10' InstallPackage(): using '/usr/bin/emerge bounce_smtp =mail-mta/ postfix-2.2.10' --skipping because DONTDO is enabled.Package =sys-apps/ baselayout-1.12.9-r2 not installed.
Match status for =sys-apps/baselayout-1.12.9-r2 is 0 cfengine:YYYYYYYYY: Package manager will be invoked as /usr/bin/emergeBuildCommandLine(): Adding package '=sys-apps/baselayout-1.12.9-r2' to the list.
Resolved command is '/usr/bin/emerge =sys-apps/baselayout-1.12.9-r2' InstallPackage(): using '/usr/bin/emerge =sys-apps/baselayout-1.12.9-r2'--skipping because DONTDO is enabled.PortageCheckPackage(): Requested =sys-fs/udev-104-r12 eq ANY
Match status for =sys-fs/udev-104-r12 is 1 cfengine:YYYYYYYYY: Package manager will be invoked as /usr/bin/emerge BuildCommandLine(): Adding package 'x??r12' to the list. Resolved command is '/usr/bin/emerge x??r12' InstallPackage(): using '/usr/bin/emerge x??r12'*** glibc detected *** double free or corruption (fasttop): 0x8014c968 ***
--skipping because DONTDO is enabled.Aborted The issues I see:* The obvious problem I see is that it somehow parsed in garbage text, tried to do something with it, which caused the glibc output and `Aborted' on stderr. In vi, the same garbage string shows up as [EMAIL PROTECTED] On different runs, it comes up with different non-ASCII characters, even just changing things like excluding other actions, without changing any configs. I've also been rearranging the package order for the last half-hour to try and find some pattern for which package causes this, but it neither seems to be related to the number of packages added to the list, the current package line just added, or the next package to add. But, given a certain config and command line, it always happens in the same place.
* The package `hup_' and `bounce_' "packages" that were parsed are really elsedefine=() classes.
Here's the relevant packages config:
packages:
profile_hardened::
=sys-libs/glibc-2.3.6-r5 action=install
profile_2007_0::
=sys-libs/glibc-2.5-r3 action=install
any::
=sys-apps/portage-2.1.2.7 action=install
=net-misc/cfengine-2.1.22-r1 action=install
elsedefine=hup_cfservd
# bounce_smtp is handled in cf.smtp
=mail-mta/postfix-2.2.10 action=install elsedefine=bounce_smtp
=sys-apps/baselayout-1.12.9-r2 action=install
=sys-fs/udev-104-r12 action=install
# Force upgrade from stage tarball ncurses to pull in
unicode flag
sys-libs/ncurses cmp=gt version=5.5-r3 action=install
app-shells/bash cmp=ge version=3.1_p17 action=install
=sys-process/vixie-cron-4.1-r10 action=install
elsedefine=hup_cron
app-misc/ca-certificates action=install
[trim]
It goes on for some ways, but this is the top of the first packages:
section that cfagent parses.
I haven't had a chance to start debugging the code yet, but should be able to devote the next few hours to this.
-- Eric Searcy OSU Open Source Lab
PGP.sig
Description: This is a digitally signed message part
_______________________________________________ Bug-cfengine mailing list [email protected] https://cfengine.org/mailman/listinfo/bug-cfengine
