monotone-commits-diffs
[Top][All Lists]
Advanced

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

[Monotone-commits-diffs] org.debian.monotone: a8e035e6860231417732d0a78a


From: code
Subject: [Monotone-commits-diffs] org.debian.monotone: a8e035e6860231417732d0a78aea2051e8fc44e8
Date: Mon, 11 Mar 2013 21:54:25 +0100 (CET)

revision:            a8e035e6860231417732d0a78aea2051e8fc44e8
tag:                 debian-monotone-0.43-3
date:                2009-04-12T22:43:26
author:              address@hidden
branch:              org.debian.monotone
changelog:
0.43-3: allow building with boost 1.38, use glibc backtrace() instead of
gdb in the stacktrace-on-crash hack.

manifest:
format_version "1"

new_manifest [d5ceccbfee707500c5a20309f655311bc98501cb]

old_revision [9252c6a2acadf35c098d437bf84fbcbe515dbf69]

rename "patches/90-gdb-stacktrace-on-crash.diff"
    to "patches/90-stacktrace-on-crash.diff"

patch "changelog"
 from [4d05e82ecc253ba60113fa3b37a75c061ed77065]
   to [83cf180b320326785f89dc1f6cde2ee5956fe2d9]

patch "control"
 from [d24a9375cd00461d4c260854fce56d99a643e5d0]
   to [133b28ab0045bc2e6d23952c276a6ad7bf5b76e5]

patch "patches/90-stacktrace-on-crash.diff"
 from [9b823af97b480a2ed638801c885c0045722749ee]
   to [b2e12bcd791608afa8729fa452cf54a11b2b87a1]

patch "patches/series"
 from [f14ffdd20dc6a7f1a058bb1d4a1ed7aacc516440]
   to [2f9214be9ad3a6486b5776484a163bd4855e9f98]
============================================================
--- changelog	4d05e82ecc253ba60113fa3b37a75c061ed77065
+++ changelog	83cf180b320326785f89dc1f6cde2ee5956fe2d9
@@ -1,3 +1,11 @@
+monotone (0.43-3) unstable; urgency=low
+
+  * Verified to build with libboost1.38-dev, add to boost alternatives.
+  * Change backtrace-on-crash mechanism to use glibc's backtrace() instead
+    of gdb; less informative, hopefully more robust.
+
+ -- Zack Weinberg <address@hidden>  Sun, 12 Apr 2009 13:01:34 -0700
+
 monotone (0.43-2) unstable; urgency=low
 
   * Using quilt for patches to upstream code.
============================================================
--- control	d24a9375cd00461d4c260854fce56d99a643e5d0
+++ control	133b28ab0045bc2e6d23952c276a6ad7bf5b76e5
@@ -7,7 +7,7 @@ Build-Depends: debhelper (>= 7), autotoo
 Homepage: http://monotone.ca/
 Vcs-Browser: http://viewmtn.angrygoats.net/branch/changes/net.venge.monotone
 Build-Depends: debhelper (>= 7), autotools-dev, po-debconf, quilt, patch,
- gdb, libboost-dev (>= 1.34.1-2) | libboost1.35-dev | libboost1.37-dev,
+ libboost-dev (>= 1.34.1-2) | libboost1.35-dev | libboost1.37-dev | libboost1.38-dev, 
  libz-dev, libbotan1.8-dev, libsqlite3-dev, libpcre3-dev, libidn11-dev,
  liblua5.1-0-dev, libpcre3-dev
 Build-Depends-Indep: texinfo, xpdf-utils, ps2eps, texlive-generic-recommended,
============================================================
--- patches/90-gdb-stacktrace-on-crash.diff	9b823af97b480a2ed638801c885c0045722749ee
+++ patches/90-stacktrace-on-crash.diff	b2e12bcd791608afa8729fa452cf54a11b2b87a1
@@ -1,78 +1,63 @@ in the testsuite, we can get more detail
 Add a hack to the fatal signal handlers to invoke gdb and get a full stack
 trace on crash.  This won't fix anything, but by activating this mode
 in the testsuite, we can get more detail on the alpha and sparc FTBFSes.
-============================================================
---- monotone-0.43.orig/unix/main.cc
-+++ monotone-0.43.orig/unix/main.cc
-@@ -36,12 +36,18 @@
+
+Index: monotone-0.43/unix/main.cc
+===================================================================
+--- monotone-0.43.orig/unix/main.cc	2009-04-12 13:39:49.000000000 -0700
++++ monotone-0.43/unix/main.cc	2009-04-12 13:42:56.000000000 -0700
+@@ -36,12 +36,21 @@
  
  #include "base.hh"
  #include <signal.h>
+-#include <time.h>
 +#include <stdlib.h>
-+#include <string.h>
- #include <time.h>
--#include <string.h>
-+#include <unistd.h>
+ #include <string.h>
  #include <sys/resource.h>
--#include <unistd.h>
-+#include "lexical_cast.hh"
- 
-+using std::string;
-+using boost::lexical_cast;
+ #include <unistd.h>
++#include <time.h>
 +
++#if __GLIBC__ >= 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
++# define HAVE_BACKTRACE
++# include <execinfo.h>
++#endif
+ 
  static char const * argv0;
-+static char const * gdb_cmdline;
++#ifdef HAVE_BACKTRACE
++static bool backtrace_on_crash = false;
++#endif
  
  // a convenient wrapper
  inline void
-@@ -68,13 +74,18 @@ bug_signal(int signo)
- static void
- bug_signal(int signo)
- {
--  write_str_to_stderr(argv0);
--  write_str_to_stderr(": fatal signal: ");
--  write_str_to_stderr(strsignal(signo));
--  bug_report_message();
--  write_str_to_stderr("do not send a core dump, but if you have one, "
--                      "\nplease preserve it in case we ask you for "
--                      "information from it.\n");
-+  if (gdb_cmdline)
-+    system(gdb_cmdline);
-+  else
+@@ -75,6 +84,18 @@
+   write_str_to_stderr("do not send a core dump, but if you have one, "
+                       "\nplease preserve it in case we ask you for "
+                       "information from it.\n");
++#ifdef HAVE_BACKTRACE
++  if (backtrace_on_crash)
 +    {
-+      write_str_to_stderr(argv0);
-+      write_str_to_stderr(": fatal signal: ");
-+      write_str_to_stderr(strsignal(signo));
-+      bug_report_message();
-+      write_str_to_stderr("do not send a core dump, but if you have one, "
-+                          "\nplease preserve it in case we ask you for "
-+                          "information from it.\n");
++      void *tracebuf[20];
++      int frames = backtrace(tracebuf, 20);
++      if (frames)
++        {
++          write_str_to_stderr("stack trace:\n");
++          backtrace_symbols_fd(tracebuf, frames, 2);
++        }
 +    }
++#endif
  
    raise(signo);
    // The signal has been reset to the default handler by SA_RESETHAND
-@@ -129,6 +140,24 @@ main(int argc, char ** argv)
+@@ -129,6 +150,12 @@
  
    argv0 = argv[0];
  
++#ifdef HAVE_BACKTRACE
 +  char *ev = getenv("MTN_STACKTRACE_ON_CRASH");
-+  string gdb_cmd;
 +  if (ev && ev[0])
-+    {
-+      // Allocate this now so we don't have to do it from inside a signal
-+      // handler.  Its scope is this function, so it's live as long as
-+      // needed.
-+      gdb_cmd = ("gdb -batch -silent -ex 'set pagination off' -ex 'bt' "
-+                 "-ex 'frame 4' -ex 'info registers' "
-+                 "-ex 'disas $pc $pc+1' -- '");
-+      gdb_cmd += argv0;
-+      gdb_cmd += "' ";
-+      gdb_cmd += lexical_cast<string>(getpid());
++    backtrace_on_crash = true;
++#endif
 +
-+      gdb_cmdline = gdb_cmd.c_str();
-+    }
-+    
-+
    bug_signal_action.sa_flags   = SA_RESETHAND;
    bug_signal_action.sa_handler = &bug_signal;
    sigemptyset(&bug_signal_action.sa_mask);
============================================================
--- patches/series	f14ffdd20dc6a7f1a058bb1d4a1ed7aacc516440
+++ patches/series	2f9214be9ad3a6486b5776484a163bd4855e9f98
@@ -1,2 +1,2 @@ 00upstream-fix-test-spawn-redirected-hoo
 00upstream-fix-test-spawn-redirected-hook-helper.diff
-90-gdb-stacktrace-on-crash.diff
+90-stacktrace-on-crash.diff

reply via email to

[Prev in Thread] Current Thread [Next in Thread]