Regarding bug 101323, we're seeing either crashes or hangs, on occasion, when our multi-threaded process nanny does a fork+exec sequence. We are using FreeBSD 7.2 and libthr We are super careful with signal masks, and do the bare minimum between fork and exec. However, due to various libraries that we use, we have a bunch of threads running in the main process. We've been using this code on 4.6.2 and uniprocessors for years w/out issue. We are using 7.2 on 64-bit multi-core platforms. We do: m_pid = fork(); if (m_pid == 0 { /* pseudo code */ fstat() and close() file descriptors 3 and above setuid() if necessary restore signal masks setpgid() creat() a log file and dup to stdout and stderr execve() } Is this approach doomed to failure, or should we be able to get this working? It doesn't look like Daniel's patch is in our libthr/thread/thr_fork.c So, I can do the obvious and try that. I'm curious about just running __sys_fork() instead, however, as the process is going to obliterate itself with execve() anyway. -- Brent Welch Director, Software Architecture, Panasas Inc The Leader in Parallel Storage www.panasas.com welch@panasas.com
Responsible Changed From-To: gnats-admin->freebsd-bugs Rescue from 'pending'. To submitter: did you intend to have this tracked as a followup to kern/101323, or do you want it as a separate PR?
State Changed From-To: open->feedback Note that submitter was asked for feedback.
Let's leave this as its own case. I still need to confirm the effectiveness of the other patch. I may also choose to use an unwrapped sysfork(). -- Brent Welch Director, Software Architecture, Panasas Inc The Leader in Parallel Storage www.panasas.com welch@panasas.com
State Changed From-To: feedback->open Feedback was received. To the submitter: also consider vfork() or posix_spawn(). More information about the crashes will also be helpful.
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped