The Samba-Bugzilla – Attachment 7639 Details for
Bug 8975
winbindd can't coredump
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Updated version of the patch with comments
0001-s3-winbindd-call-dump_core_setup-after-command-line-.patch (text/plain), 2.33 KB, created by
Matthieu Patou
on 2012-06-12 17:45:47 UTC
(
hide
)
Description:
Updated version of the patch with comments
Filename:
MIME Type:
Creator:
Matthieu Patou
Created:
2012-06-12 17:45:47 UTC
Size:
2.33 KB
patch
obsolete
>From fdecc1a1a6f6b10927268bf4e49e0cb26c6a630d Mon Sep 17 00:00:00 2001 >From: Matthieu Patou <mat@matws.net> >Date: Fri, 1 Jun 2012 15:33:04 -0700 >Subject: [PATCH] s3-winbindd: call dump_core_setup after command line option > has been parsed > >Without this fix in some situations winbindd can't coredump. >Such cases append when samba is compiled in a custom prefix (ie. >/home/build/mat/prod/1/) in this case get_dyn_LOGFILEBASE or basename(lp_logfile) >before the configuration file and the command line is parsed will be something like /home/build/mat/prod/1/var >which might not exists on the host where you run it (where it's most >probably more "normal" directories). >Specifying --log-basename didn't help as dump_core_setup is called before the command line and >the config file is read so it didn't help getting a correct value in dump_core_setup. >We fix this issue by calling dump_core_setup() also after the command >line has been read and also after the configfile has been parsed so that >the final location for the coredump is coherent with the final logile >location. >--- > source3/winbindd/winbindd.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > >diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c >index 034e43b..abdf6f3 100644 >--- a/source3/winbindd/winbindd.c >+++ b/source3/winbindd/winbindd.c >@@ -1072,6 +1072,15 @@ int main(int argc, char **argv, char **envp) > } > } > >+ /* We call dump_core_setup one more time because the command line can >+ * set the log file or the log-basename and this will influence where >+ * cores are stored. Without this call get_dyn_LOGFILEBASE will be >+ * the default value derived from build's prefix. For EOM this value >+ * is often not related to the path where winbindd is actually run >+ * in production. >+ */ >+ dump_core_setup("winbindd"); >+ > if (is_daemon && interactive) { > d_fprintf(stderr,"\nERROR: " > "Option -i|--interactive is not allowed together with -D|--daemon\n\n"); >@@ -1106,6 +1115,11 @@ int main(int argc, char **argv, char **envp) > DEBUG(0, ("error opening config file\n")); > exit(1); > } >+ /* After parsing the configuration file we setup the core path one more time >+ * as the log file might have been set in the configuration and cores's >+ * path is by default basename(lp_logfile()). >+ */ >+ dump_core_setup("winbindd"); > > /* Initialise messaging system */ > >-- >1.7.9.5 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 8975
:
7621
|
7629
| 7639