aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix indentationChristian Grothoff2019-02-17
|
* Merge branch 'master' of git+ssh://gnunet.org/gnunetSchanzenbach, Martin2019-02-17
|\
| * guile 1.6.4 is an optional dependencyng02019-02-17
| |
* | attempt fix #5578Schanzenbach, Martin2019-02-17
| |
* | Merge branch 'master' of git+ssh://gnunet.org/gnunetSchanzenbach, Martin2019-02-17
|\|
| * filenames can exceed 128 bytes, even in testcasesChristian Grothoff2019-02-17
| |
* | fix path lengthSchanzenbach, Martin2019-02-17
|/
* fix 128Christian Grothoff2019-02-17
|
* add gnunet homebrew formulaSchanzenbach, Martin2019-02-17
|
* Merge branch 'master' of gnunet.org:gnunetng02019-02-17
|\
| * skip if timeout not installedSchanzenbach, Martin2019-02-16
| |
| * Florian Weimer writes:Christian Grothoff2019-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Christian Grothoff: > I'm seeing some _very_ odd behavior with processes hanging on exit (?) > with GNU libc 2.28-6 on Debian (amd64 threadripper). This seems to > happen at random (for random tests, with very low frequency!) in the > GNUnet (Git master) testsuite when a child process is about to exit. It looks like you call exit from a signal handler, see src/util/scheduler.c: /** * Signal handler called for signals that should cause us to shutdown. */ static void sighandler_shutdown () { static char c; int old_errno = errno; /* backup errno */ if (getpid () != my_pid) exit (1); /* we have fork'ed since the signal handler was created, * ignore the signal, see https://gnunet.org/vfork discussion */ GNUNET_DISK_file_write (GNUNET_DISK_pipe_handle (shutdown_pipe_handle, GNUNET_DISK_PIPE_END_WRITE), &c, sizeof (c)); errno = old_errno; } In general, this results in undefined behavior because exit (unlike _exit) is not an async-signal-safe function. I suspect you either call the exit function while a fork is in progress, or since you register this signal handler multiple times for different signals: sh->shc_int = GNUNET_SIGNAL_handler_install (SIGINT, &sighandler_shutdown); sh->shc_term = GNUNET_SIGNAL_handler_install (SIGTERM, &sighandler_shutdown); one call to exit might interrupt another call to exit if both signals are delivered to the process. The deadlock you see was introduced in commit 27761a1042daf01987e7d79636d0c41511c6df3c ("Refactor atfork handlers"), first released in glibc 2.28. The fork deadlock will be gone (in the single-threaded case) if Debian updates to the current release/2.28/master branch because we backported commit 60f80624257ef84eacfd9b400bda1b5a5e8e7816 ("nptl: Avoid fork handler lock for async-signal-safe fork [BZ #24161]") there. But this will not help you. Even without the deadlock, I expect you still experience some random corruption during exit, but it's going to be difficult to spot. Thanks, Florian
| * fix another linker errorSchanzenbach, Martin2019-02-16
| |
| * Merge branch 'master' of git+ssh://gnunet.org/gnunetChristian Grothoff2019-02-16
| |\
| * | fix assertion failure reported in #5578Christian Grothoff2019-02-16
| | |
* | | AUTHORS: Change bugtracker URL and change GPL3 to AGPL3ng02019-02-17
| | |
* | | AUTHORS: Add myself as netbsd maintainerng02019-02-17
| |/ |/|
* | more loggerng02019-02-16
| |
* | more loggingng02019-02-16
| |
* | gnunet_testing.py.in: first set of loggingng02019-02-16
|/
* add debug output to py.inChristian Grothoff2019-02-16
|
* add loggingChristian Grothoff2019-02-16
|
* cast no longer required for modern curlChristian Grothoff2019-02-16
|
* make clang shut up about #5573Christian Grothoff2019-02-16
|
* Merge branch 'master' of gnunet.org:gnunetng02019-02-15
|\
| * fix some compiler warningsSchanzenbach, Martin2019-02-15
| |
| * fix dist buildSchanzenbach, Martin2019-02-15
| |
| * fix macos build of dist tarballSchanzenbach, Martin2019-02-15
| |
* | text-only variant of svg logong02019-02-15
|/
* Merge branch 'master' of gnunet.org:gnunetng02019-02-15
|\
| * die dv.pcChristian Grothoff2019-02-15
| |
* | Fix bug reported by schanzen@ where bootstrap is not enough for our ↵ng02019-02-15
|/ | | | python2.7 script.
* fix #5571Christian Grothoff2019-02-15
|
* fix nat-auto port conflictChristian Grothoff2019-02-15
|
* skip instead of fail hard on testbed link failures in cadet testsChristian Grothoff2019-02-14
|
* fix build atsSchanzenbach, Martin2019-02-14
|
* fix HAVE_MEMRCHRSchanzenbach, Martin2019-02-14
|
* README: we are on python3.7 nowng02019-02-14
| | | | Signed-off-by: ng0 <ng0@n0.is>
* Merge branch 'master' of gnunet.org:gnunetng02019-02-14
|\
| * DCEChristian Grothoff2019-02-14
| |
* | Switch to python3.7 (integration-tests incomplete), continue using python2.7 ↵ng02019-02-14
|/ | | | | | for gnunet-qr with an incredible annoying workaround for autotools inability to deal with 2 major python versions at the same time Signed-off-by: ng0 <ng0@n0.is>
* fix #3329Christian Grothoff2019-02-14
|
* mystery solved?Christian Grothoff2019-02-14
|
* fix uninit e_hash issueChristian Grothoff2019-02-14
|
* add missing ignoresChristian Grothoff2019-02-14
|
* use disjoint UNIXPATHs and PORT for NATChristian Grothoff2019-02-13
|
* trying to improve things for #5560Christian Grothoff2019-02-13
|
* ignore generated files, one mroeChristian Grothoff2019-02-13
|
* ignore generated files, one per lineChristian Grothoff2019-02-13
|
* ignore generated filesChristian Grothoff2019-02-13
|