Bug#660860: Segfault workaround

2012-06-21 Thread Jimmy Thrasibule
Hello,

Just to let you know that the workaround I found was to use:

package_changes = individual instead of
package_changes = bulk

--
Jimmy




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#660860: cfengine3: segfaults when triggering some locks

2012-04-15 Thread Jimmy Thrasibule
Hello,

I backported the commit 253b3720fb43 from the upstream. Everything is
works fine when applied. You will find a patch for the package's
repository.

--
Jimmy
From 86877f0895a99f266cf4fa92d391d2be072dc397 Mon Sep 17 00:00:00 2001
From: Jimmy Thrasibule thrasibule.ji...@gmail.com
Date: Sun, 15 Apr 2012 19:33:36 +0200
Subject: [PATCH] add patch to fix bug #660860

---
 debian/patches/fix-bug-660860 |   53 +
 debian/patches/series |1 +
 2 files changed, 54 insertions(+), 0 deletions(-)
 create mode 100644 debian/patches/fix-bug-660860

diff --git a/debian/patches/fix-bug-660860 b/debian/patches/fix-bug-660860
new file mode 100644
index 000..ed9a4cc
--- /dev/null
+++ b/debian/patches/fix-bug-660860
@@ -0,0 +1,53 @@
+Index: cfengine-debian/src/cf.defs.h
+===
+--- cfengine-debian.orig/src/cf.defs.h
 cfengine-debian/src/cf.defs.h
+@@ -382,6 +382,7 @@ typedef int clockid_t;
+ #define CF_EXEC_EXPIREAFTER 1
+ 
+ #define MAXIP4CHARLEN 16
++#define PACK_UPIFELAPSED_SALT packageuplist
+ 
+ /***/
+ /*  DBM*/
+Index: cfengine-debian/src/promises.c
+===
+--- cfengine-debian.orig/src/promises.c
 cfengine-debian/src/promises.c
+@@ -776,7 +776,11 @@ md = EVP_get_digestbyname(FileHashName(t
+
+ EVP_DigestInit(context,md);
+ 
+-EVP_DigestUpdate(context,pp-promiser,strlen(pp-promiser));
++// multiple packages (promisers) may share same package_list_update_ifelapsed lock
++if(!(salt  (strncmp(salt, PACK_UPIFELAPSED_SALT, sizeof(PACK_UPIFELAPSED_SALT) - 1) == 0)))
++   {
++   EVP_DigestUpdate(context,pp-promiser,strlen(pp-promiser));
++   }
+ 
+ if (pp-ref)
+{
+Index: cfengine-debian/src/verify_packages.c
+===
+--- cfengine-debian.orig/src/verify_packages.c
 cfengine-debian/src/verify_packages.c
+@@ -59,7 +59,7 @@ PromiseBanner(pp);
+ 
+ if (a.packages.package_list_update_command)
+{
+-   snprintf(lockname,CF_BUFSIZE-1,package-%s-%s,pp-promiser,a.packages.package_list_update_command);
++   snprintf(lockname,CF_BUFSIZE-1,%s-%s,PACK_UPIFELAPSED_SALT,a.packages.package_list_update_command);
+ 
+al = a;
+
+@@ -73,9 +73,8 @@ if (a.packages.package_list_update_comma
+if (thislock.lock != NULL)
+   {
+   ExecPackageCommand(a.packages.package_list_update_command,false,al,pp);   
++  YieldCurrentLock(thislock);
+   }
+-   
+-   YieldCurrentLock(thislock);
+}
+ 
+ // Now verify the package itself
diff --git a/debian/patches/series b/debian/patches/series
index 6a99a2c..902d2e5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@ remove-man-errors
 fhs-compliance
 fix-examples-paths
 fix-error-typos
+fix-bug-660860
-- 
1.7.7.6



Bug#660860: cfengine3: segfaults when triggering some locks

2012-04-01 Thread Jimmy Thrasibule
Hi,

What is the status of this bug? The given workaround doesn't work for me
and I had to switch to the testing package.

We will have a solution to use the stable package?

--
Jimmy




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org