[Mono-bugs] [Bug 592981] UnixSignal.WaitAny not interrupted when exiting
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Sep 3 08:40:02 EDT 2010
https://bugzilla.novell.com/show_bug.cgi?id=592981
https://bugzilla.novell.com/show_bug.cgi?id=592981#c10
Dick Porter <dick at acm.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
--- Comment #10 from Dick Porter <dick at acm.org> 2010-09-03 12:39:59 UTC ---
I'm reopening this, as I think it's causing a segfault with our server.
When running mono git head with Boehm GC, I'm consistently (ie, every time)
getting a segfault inside UnixSignal.WaitAny:
Plastic SCM daemon up. 3.0.187.2 1267 ms startup time
Stacktrace:
at (wrapper managed-to-native) Mono.Unix.UnixSignal.WaitAny
(intptr[],int,int) <0x00003>
at (wrapper managed-to-native) Mono.Unix.UnixSignal.WaitAny
(intptr[],int,int) <0x00003>
at Mono.Unix.UnixSignal.WaitAny (Mono.Unix.UnixSignal[],int) <0x0011e>
at Mono.Unix.UnixSignal.WaitAny (Mono.Unix.UnixSignal[]) <0x00012>
at Codice.CM.Daemon.Daemon.HandleSignals () <0x0013a>
at Codice.CM.Daemon.Daemon.LaunchUnixDaemon
(Codice.CM.Server.ISystemRunner,string) <0x00036>
at xy.c (Codice.CM.Server.SystemRunner) <0x0005f>
at xy.a (an) <0x0035c>
at xy.a (string[]) <0x000b1>
at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object
(object,intptr,intptr,intptr) <0x0008f>
gdb fingers the line in support/signal.c in wait_for_any() that calls the
shutting_down delegate. Indeed, this patch fixes the crash, at the expense of
breaking the bug fix:
diff --git a/support/signal.c b/support/signal.c
index abd7638..a7f97fa 100644
--- a/support/signal.c
+++ b/support/signal.c
@@ -351,7 +351,7 @@ wait_for_any (signal_info** signals, int count, int
*currfd,
ptv = &tv;
}
r = poll (fd_structs, count, timeout);
- } while (keep_trying (r) && !shutting_down ());
+ } while (keep_trying (r) /*&& !shutting_down ()*/);
idx = -1;
if (r == 0)
The crash is not triggered if I run the server with sgen GC, possibly
suggesting some sort of memory corruption? I've also been unable to reproduce
the crash with a small test case.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list