[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-commits-diffs] org.debian.monotone: 9252c6a2acadf35c098d437bf8
From: |
code |
Subject: |
[Monotone-commits-diffs] org.debian.monotone: 9252c6a2acadf35c098d437bf84fbcbe515dbf69 |
Date: |
Mon, 11 Mar 2013 21:54:20 +0100 (CET) |
revision: 9252c6a2acadf35c098d437bf84fbcbe515dbf69
tag: debian-monotone-0.43-2
date: 2009-04-07T05:07:11
author: address@hidden
branch: org.debian.monotone
changelog:
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.
manifest:
format_version "1"
new_manifest [b1ac9039896c4c3bbaf15ccc35c5871ac10f1059]
old_revision [a47c58f580e7dd246231c1b40d4044739c4c1b86]
add_file "patches/90-gdb-stacktrace-on-crash.diff"
content [9b823af97b480a2ed638801c885c0045722749ee]
patch "changelog"
from [491ea84d67a01cb9b7ae7e41e22bcbdbdf424504]
to [4d05e82ecc253ba60113fa3b37a75c061ed77065]
patch "control"
from [7f11743edcf3a1230c1832adc94c898cd993f222]
to [d24a9375cd00461d4c260854fce56d99a643e5d0]
patch "patches/series"
from [60165b9a40ea66e79f8716a9f31f6999c957c530]
to [f14ffdd20dc6a7f1a058bb1d4a1ed7aacc516440]
patch "rules"
from [e036629708781bf015fa5311c9e93f736cf74a9e]
to [aefe7ae2c0beee3d9a17d2dda16e92f40732085e]
============================================================
--- changelog 491ea84d67a01cb9b7ae7e41e22bcbdbdf424504
+++ changelog 4d05e82ecc253ba60113fa3b37a75c061ed77065
@@ -3,6 +3,10 @@ monotone (0.43-2) unstable; urgency=low
* Using quilt for patches to upstream code.
* Backport upstream fix for unreliable test "spawn_redirected_hook_helper";
should fix FTBFS on powerpc and mips.
+ * Temporarily introduce a mode where the fatal signal handler invokes
+ gdb to print a stack trace, and activate it in the testsuite.
+ This will hopefully reveal the cause of the alpha and sparc FTBFSes.
+ Temporarily add build-dep on gdb for this.
-- Zack Weinberg <address@hidden> Mon, 06 Apr 2009 17:00:59 -0700
============================================================
--- control 7f11743edcf3a1230c1832adc94c898cd993f222
+++ control d24a9375cd00461d4c260854fce56d99a643e5d0
@@ -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,
- libboost-dev (>= 1.34.1-2) | libboost1.35-dev | libboost1.37-dev,
+ gdb, libboost-dev (>= 1.34.1-2) | libboost1.35-dev | libboost1.37-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,
============================================================
--- /dev/null
+++ patches/90-gdb-stacktrace-on-crash.diff 9b823af97b480a2ed638801c885c0045722749ee
@@ -0,0 +1,78 @@
+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 @@
+
+ #include "base.hh"
+ #include <signal.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <time.h>
+-#include <string.h>
++#include <unistd.h>
+ #include <sys/resource.h>
+-#include <unistd.h>
++#include "lexical_cast.hh"
+
++using std::string;
++using boost::lexical_cast;
++
+ static char const * argv0;
++static char const * gdb_cmdline;
+
+ // 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
++ {
++ 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");
++ }
+
+ raise(signo);
+ // The signal has been reset to the default handler by SA_RESETHAND
+@@ -129,6 +140,24 @@ main(int argc, char ** argv)
+
+ argv0 = argv[0];
+
++ 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());
++
++ 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 60165b9a40ea66e79f8716a9f31f6999c957c530
+++ patches/series f14ffdd20dc6a7f1a058bb1d4a1ed7aacc516440
@@ -1 +1,2 @@ 00upstream-fix-test-spawn-redirected-hoo
00upstream-fix-test-spawn-redirected-hook-helper.diff
+90-gdb-stacktrace-on-crash.diff
============================================================
--- rules e036629708781bf015fa5311c9e93f736cf74a9e
+++ rules aefe7ae2c0beee3d9a17d2dda16e92f40732085e
@@ -50,7 +50,11 @@ export DH_VERBOSE = 1
export DISABLE_NETWORK_TESTS = 1
export DH_VERBOSE = 1
+# This is a hack to get more detail out of the alpha and sparc testsuite
+# crashes.
+export MTN_STACKTRACE_ON_CRASH = 1
+
# Building
config.status: configure
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-commits-diffs] org.debian.monotone: 9252c6a2acadf35c098d437bf84fbcbe515dbf69,
code <=