summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--open_issues/fork_deadlock.mdwn41
1 files changed, 40 insertions, 1 deletions
diff --git a/open_issues/fork_deadlock.mdwn b/open_issues/fork_deadlock.mdwn
index f8bf936e..884ee601 100644
--- a/open_issues/fork_deadlock.mdwn
+++ b/open_issues/fork_deadlock.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
@@ -3405,3 +3405,42 @@ Thread 1 (Thread 9076.1):
# [[!message-id "877govry7a.fsf@kepler.schwinge.homeip.net"]]
+
+## 2013-02-08
+
+With Richard's `2.13-39+hurd.rbraun.3` packages (but doesn't seem related to
+the issues he's working on), which includes the hack from the email above,
+during a GDB build's `make install`:
+
+ PID UID PPID PGrp Sess TH Vmem RSS %CPU User System Args
+ 1988 1000 1986 1715 420 2 146M 204K 97.6 0:01.49 3:19.91 /bin/dash -c catalogs='da.gmo de.gmo es.gmo fi.gmo fr.gmo ga.gmo id.gmo it.gm
+
+ Thread 1 (Thread 1988.1):
+ #0 0x0105b82c in swtch_pri () at /home/rbraun/devel/debian/packages/eglibc/eglibc-2.13/build-tree/hurd-i386-libc/mach/swtch_pri.S:2
+ No locals.
+ #1 0x0105d0b4 in __spin_lock_solid (lock=0x121900c) at spin-solid.c:27
+ No locals.
+ #2 0x01071e73 in __spin_lock (__lock=<optimized out>) at ../mach/lock-intern.h:55
+ No locals.
+ #3 _hurd_sigstate_lock (ss=0x1219008) at hurdsig.c:174
+ No locals.
+ #4 0x0110f59c in _hurd_critical_section_unlock (our_lock=<optimized out>) at ../hurd/hurd/signal.h:235
+ No locals.
+ #5 __fork () at ../sysdeps/mach/hurd/fork.c:716
+ env = {{__jmpbuf = {18698228, 18972616, 0, 16926424, 16926052, 17887119}, __mask_was_saved = 0, __saved_mask = 5}}
+ pid = 0
+ err = <optimized out>
+ __PRETTY_FUNCTION__ = "__fork"
+ ss = 0x1219008
+ threads = 0x0
+ nthreads = 0
+ stopped = 1
+ i = 6
+ #6 0x08051620 in forkshell (jp=jp@entry=0x8064600, n=0x806378c, mode=0) at /home/thomas/tmp/dash/debian/dash-0.5.7/build-tmp/../src/jobs.c:934
+ pid = <optimized out>
+ [...]
+
+This time, it's our own sigstate, not the global one:
+
+ (gdb) print _hurd_global_sigstate
+ $1 = (struct hurd_sigstate *) 0x1219808