[SCM] SETI at home packaging branch, master, updated. debian/6.12_svn1305-2-28-g5687f4a

Steffen Moeller steffen_moeller at gmx.de
Tue Aug 14 07:54:56 UTC 2012


The following commit has been merged in the master branch:
commit 5687f4a7c40b5130ab4edc7b2d4e6d80ca4ca5cf
Author: Steffen Moeller <steffen_moeller at gmx.de>
Date:   Sun Aug 12 19:54:23 2012 +0200

    Addressing signal 11 crash.
    
    The problem was with BOINC, not with SETI, from what I think to have
    observed. Anyway, I am leaving the changes in.

diff --git a/debian/changelog b/debian/changelog
index b123ca4..6f00740 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,10 @@
 boinc-app-seti (6.12~svn1306-2) unstable; urgency=low
 
   * debian/rules: auto_clean improved.
+  * increased verbosity of stderr
+  * someone somewhen changed build-dependency to boinc-dev
+    (from libboinc-app-dev) (Closes: #679757).
+  * fixes crash on amd64 as it seems (Closes: #674248)
 
  -- Steffen Moeller <moeller at debian.org>  Sun, 12 Aug 2012 00:31:34 +0200
 
diff --git a/debian/patches/210_fix_fgets_warning.patch b/debian/patches/210_fix_fgets_warning.patch
new file mode 100644
index 0000000..058fc7a
--- /dev/null
+++ b/debian/patches/210_fix_fgets_warning.patch
@@ -0,0 +1,62 @@
+Index: boinc-app-seti/client/seti_header.cpp
+===================================================================
+--- boinc-app-seti.orig/client/seti_header.cpp	2012-08-12 11:22:38.866054523 +0200
++++ boinc-app-seti/client/seti_header.cpp	2012-08-12 11:45:01.923825804 +0200
+@@ -170,8 +170,9 @@
+ static workunit *wu;
+ 
+ int seti_parse_wu_header(FILE* f) {
+-  char buf[256];
++  char buf[2560];
+   int found=0;
++  buf[0]=0;
+  
+   std::string buffer("");
+   buffer.reserve(10*1024);
+@@ -183,13 +184,14 @@
+   //swi.fft_len=2048;
+   //swi.ifft_len=8;
+ 
++  char *fgets_return_value;
+   do {
+-    fgets(buf, 256, f);
+-  } while (!feof(f) && !xml_match_tag(buf,"<workunit_header")) ;
++    fgets_return_value=fgets(buf, sizeof(buf), f);
++  } while (!feof(f) && fgets_return_value && !xml_match_tag(buf,"<workunit_header")) ;
+  
+   buffer+=buf;
+ 
+-  while (fgets(buf, 256, f) && !xml_match_tag(buf,"</workunit_header")) {
++  while (fgets(buf, sizeof(buf), f) && !xml_match_tag(buf,"</workunit_header")) {
+     buffer+=buf;
+   }
+   buffer+=buf;
+@@ -207,8 +209,9 @@
+ }
+ 
+ int seti_parse_wu_header(FILE* f, SETI_WU_INFO &swi) {
+-  char buf[256];
++  char buf[2560];
+   int found=0;
++  buf[0]=0;
+   
+   std::string buffer("");
+   buffer.reserve(10*1024);
+@@ -219,13 +222,14 @@
+   //swi.fft_len=2048;
+   //swi.ifft_len=8;
+ 
++  char *fgets_return_value;
+   do {
+-    fgets(buf, 256, f);
+-  } while (!feof(f) && !xml_match_tag(buf,"<workunit_header")) ;
++    fgets_return_value=fgets_return_value=fgets(buf, sizeof(buf), f);
++  } while (!feof(f) && fgets_return_value && !xml_match_tag(buf,"<workunit_header")) ;
+   
+   buffer+=buf;
+ 
+-  while (fgets(buf, 256, f) && !xml_match_tag(buf,"</workunit_header")) {
++  while (fgets(buf, sizeof(buf), f) && !xml_match_tag(buf,"</workunit_header")) {
+     buffer+=buf;
+   }
+   buffer+=buf;
diff --git a/debian/patches/211_give_stderr_some_output.patch b/debian/patches/211_give_stderr_some_output.patch
new file mode 100644
index 0000000..e55759d
--- /dev/null
+++ b/debian/patches/211_give_stderr_some_output.patch
@@ -0,0 +1,55 @@
+Index: boinc-app-seti/client/main.cpp
+===================================================================
+--- boinc-app-seti.orig/client/main.cpp	2012-08-12 11:22:38.806055337 +0200
++++ boinc-app-seti/client/main.cpp	2012-08-12 14:26:58.348202488 +0200
+@@ -160,7 +160,7 @@
+ 
+ extern APP_INIT_DATA app_init_data;
+ 
+-int main(int argc, char** argv) {
++int main(int argc, char* argv[]) {
+   int retval = 0, i;
+   FORCE_FRAME_POINTER;
+   run_stage=PREGRX;
+@@ -176,7 +176,10 @@
+   bool standalone = false;
+   g_argv[0]=argv[0];
+ 
++  fprintf(stderr,"boinc-app-seti is invoked with the following arguments: \n");
++  fprintf(stderr,"--start\n");
+   for (i=1; i<argc; i++) {
++    fprintf(stderr,"  %d: '%s'\n",i,argv[i]);
+     g_argv[i]=argv[i];
+     char *p=argv[i];
+     while (*p=='-') p++;
+@@ -204,6 +207,7 @@
+       exit(1);
+     }
+   }
++  fprintf(stderr,"--end.\n");
+ 
+   try {
+ 
+@@ -236,16 +240,22 @@
+     // Initialize BOINC
+     //
+ 
++    fprintf(stderr,"I: boinc_parse_init_data_file\n");
+     boinc_parse_init_data_file();
++    fprintf(stderr,"I: boinc_get_init_data\n");
+     boinc_get_init_data(app_init_data);
+ #ifdef BOINC_APP_GRAPHICS
++    fprintf(stderr,"I: sah_graphics_init\n");
+     sah_graphics_init(app_init_data);
+ #endif
++    fprintf(stderr,"I: boinc_init\n");
+     retval = boinc_init();
+     if (retval) {
+       SETIERROR(retval, "from boinc_init()");
+     }
++    fprintf(stderr,"I: worker\n");
+     worker();
++    fprintf(stderr,"I: end.\n");
+   }
+   catch (seti_error e) {
+     e.print();
diff --git a/debian/patches/212_increase_buffers.patch b/debian/patches/212_increase_buffers.patch
new file mode 100644
index 0000000..13f198f
--- /dev/null
+++ b/debian/patches/212_increase_buffers.patch
@@ -0,0 +1,52 @@
+Index: boinc-app-seti/client/seti.cpp
+===================================================================
+--- boinc-app-seti.orig/client/seti.cpp	2012-08-12 11:22:38.858054631 +0200
++++ boinc-app-seti/client/seti.cpp	2012-08-12 11:57:46.509452468 +0200
+@@ -784,10 +784,11 @@
+   unsigned long nbytes, nsamples,samples_per_byte;
+   sah_complex *data;
+   unsigned long i;
+-  char *p, buf[256];
++  char *p, buf[2560];
+   sah_complex *bin_data=0;
+   int retval=0;
+   FORCE_FRAME_POINTER;
++  buf[0]=0;
+ 
+   nsamples = swi.nsamples;
+   samples_per_byte=(8/swi.bits_per_sample);
+@@ -799,7 +800,7 @@
+   switch(swi.data_type) {
+     case DATA_ASCII:
+       for (i=0; i<nsamples; i++) {
+-        p = fgets(buf, 256, f);
++        p = fgets(buf, sizeof(buf), f);
+         if (!p) {
+           SETIERROR(READ_FAILED,"in seti_parse_data");
+         }
+Index: boinc-app-seti/tools/workunit_resample.cpp
+===================================================================
+--- boinc-app-seti.orig/tools/workunit_resample.cpp	2012-08-12 11:22:39.962039644 +0200
++++ boinc-app-seti/tools/workunit_resample.cpp	2012-08-12 12:04:42.411810919 +0200
+@@ -62,7 +62,7 @@
+ workunit_header header;
+ 
+ int main(int argc, char *argv[]) {
+-  char *outfile=NULL, buf[256];
++  char *outfile=NULL, buf[2560];
+   struct stat statbuf;
+   int nbytes,nread,nsamples;
+   std::string tmpbuf("");
+Index: boinc-app-seti/tools/workunit_to_ascii.cpp
+===================================================================
+--- boinc-app-seti.orig/tools/workunit_to_ascii.cpp	2012-08-12 11:22:39.966039590 +0200
++++ boinc-app-seti/tools/workunit_to_ascii.cpp	2012-08-12 12:04:02.952346162 +0200
+@@ -62,7 +62,7 @@
+ workunit_header header;
+ 
+ int main(int argc, char *argv[]) {
+-  char *outfile=NULL, buf[256];
++  char *outfile=NULL, buf[2560];
+   struct stat statbuf;
+   int nbytes,nread,nsamples;
+   std::string tmpbuf("");
diff --git a/debian/patches/series b/debian/patches/series
index b5d95d9..574d9db 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,6 @@
 #003_dont_use_own_jpeglib.patch
 101_freebsd_build.patch
 102_powerpc_altivec.patch
+210_fix_fgets_warning.patch
+211_give_stderr_some_output.patch
+212_increase_buffers.patch
diff --git a/debian/rules b/debian/rules
index be2e0f0..d773545 100755
--- a/debian/rules
+++ b/debian/rules
@@ -44,6 +44,8 @@ export LDFLAGS  := $(shell dpkg-buildflags --get LDFLAGS)
 # Append this to CFLAGS and CXXFLAGS.
 CFLAGS_APPEND += -O3
 CFLAGS_APPEND += -I/usr/include/boinc -I/usr/include/boinc/lib -I/usr/include/boinc/api
+# we want informative backtraces when things crash
+CFLAGS_APPEND += -g
 
 # Although all source file are C++, some handwritten rules in
 # client/Makefile.am seem to use CFLAGS only.
@@ -80,13 +82,13 @@ override_dh_auto_configure:
 	# it breaks some handwritten rules in client/Makefile.am which require
 	# that DEPDIR exists.
 	BOINCDIR=/usr/share/boinc-dev ./configure \
-	  --disable-static-client \
+	  --enable-static-client \
+	  --enable-static \
+	  --disable-shared \
 	  --enable-client \
 	  --disable-graphics \
 	  --disable-server \
 	  --enable-dependency-tracking \
-	  --disable-static \
-	  --enable-shared \
 	  --with-gnu-ld
 
 override_dh_auto_clean:
@@ -99,7 +101,7 @@ override_dh_auto_clean:
 	  client/setiathome_enhanced \
 	  debian/extra/app_info.xml
 	# may be seen after invoking binary
-	rm -f client/boinc_finish_called client/result.sah client/state.sah client/stderr.txt client/wisdom.sah client/work_unit.sah
+	rm -f client/boinc_finish_called client/result.sah client/state.sah client/stderr.txt client/wisdom.sah client/work_unit.sah client/boinc_lockfile
 	# generated by autoconf
 	rm -f  Makefile Makefile.in aclocal.m4 assimilator/Makefile assimilator/Makefile.in client/Makefile client/Makefile.in config.log config.status configure db/Makefile db/schema_to_class db/tools/Makefile jpeglib/Makefile jpeglib/Makefile.in libtool sah_config.h.in splitter/Makefile splitter/Makefile.in stamp-h1 tools/Makefile tools/Makefile.in validate/Makefile
 	rm -f sah_config.h

-- 
SETI at home packaging



More information about the pkg-boinc-commits mailing list