1 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 40. Reporting Bugs</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="The Official Samba 3.0.x HOWTO and Reference Guide"><link rel="up" href="troubleshooting.html" title="Part V. Troubleshooting"><link rel="prev" href="problems.html" title="Chapter 39. Analyzing and Solving Samba Problems"><link rel="next" href="msdfs.html" title="Chapter 41. Managing TDB Files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 40. Reporting Bugs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="problems.html">Prev</a> </td><th width="60%" align="center">Part V. Troubleshooting</th><td width="20%" align="right"> <a accesskey="n" href="msdfs.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="bugreport"></a>Chapter 40. Reporting Bugs</h2></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="orgname">Samba Team</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jht@samba.org">jht@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="othername">R.</span> <span class="orgname">The Samba Team</span> <span class="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jelmer@samba.org">jelmer@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Andrew</span> <span class="orgname">Samba Team</span> <span class="surname">Tridgell</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:tridge@samba.org">tridge@samba.org</a>></code></p></div></div></div></div><div><p class="pubdate"> 27 June 1997 </p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="bugreport.html#id2686006">Introduction</a></span></dt><dt><span class="sect1"><a href="bugreport.html#id2686096">General Information</a></span></dt><dt><span class="sect1"><a href="bugreport.html#dbglvl">Debug Levels</a></span></dt><dd><dl><dt><span class="sect2"><a href="bugreport.html#id2686331">Debugging-Specific Operations</a></span></dt></dl></dd><dt><span class="sect1"><a href="bugreport.html#id2686534">Internal Errors</a></span></dt><dt><span class="sect1"><a href="bugreport.html#id2686667">Attaching to a Running Process</a></span></dt><dt><span class="sect1"><a href="bugreport.html#id2686792">Patches</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2686006"></a>Introduction</h2></div></div></div><p>
|
---|
2 | <a class="indexterm" name="id2686014"></a>
|
---|
3 | <a class="indexterm" name="id2686021"></a>
|
---|
4 | Please report bugs using Samba's <a class="ulink" href="https://bugzilla.samba.org/" target="_top">Bugzilla</a> facilities and take
|
---|
5 | the time to read this file before you submit a bug report. Also, check to see if it has changed between
|
---|
6 | releases, as we may be changing the bug reporting mechanism at some point.
|
---|
7 | </p><p>
|
---|
8 | Please do as much as you can yourself to help track down the
|
---|
9 | bug. Samba is maintained by a dedicated group of people who volunteer
|
---|
10 | their time, skills, and efforts. We receive far more mail than
|
---|
11 | we can possibly answer, so you have a much higher chance of a response
|
---|
12 | and a fix if you send us a “<span class="quote">developer-friendly</span>” bug report that lets
|
---|
13 | us fix it fast.
|
---|
14 | </p><p>
|
---|
15 | <a class="indexterm" name="id2686054"></a>
|
---|
16 | <a class="indexterm" name="id2686061"></a>
|
---|
17 | <a class="indexterm" name="id2686068"></a>
|
---|
18 | If you post the bug to the comp.protocols.smb
|
---|
19 | newsgroup or the mailing list, do not assume that we will read it. If you suspect that your
|
---|
20 | problem is not a bug but a configuration problem, it is better to send
|
---|
21 | it to the Samba mailing list, as there are thousands of other users on
|
---|
22 | that list who may be able to help you.
|
---|
23 | </p><p>
|
---|
24 | You may also like to look though the recent mailing list archives,
|
---|
25 | which are conveniently accessible on the Samba Web pages
|
---|
26 | at <a class="ulink" href="http://samba.org/samba/" target="_top">http://samba.org/samba/</a>.
|
---|
27 | </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2686096"></a>General Information</h2></div></div></div><p>
|
---|
28 | Before submitting a bug report, check your config for silly
|
---|
29 | errors. Look in your log files for obvious messages that tell
|
---|
30 | you've misconfigured something. Run testparm to check your config
|
---|
31 | file for correct syntax.
|
---|
32 | </p><p>
|
---|
33 | Have you looked through <a class="link" href="diagnosis.html" title="Chapter 38. The Samba Checklist">The Samba Checklist</a>? This is extremely important.
|
---|
34 | </p><p>
|
---|
35 | If you include part of a log file with your bug report, then be sure to
|
---|
36 | annotate it with exactly what you were doing on the client at the
|
---|
37 | time and exactly what the results were.
|
---|
38 | </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dbglvl"></a>Debug Levels</h2></div></div></div><p>
|
---|
39 | If the bug has anything to do with Samba behaving incorrectly as a
|
---|
40 | server (like refusing to open a file), then the log files will probably
|
---|
41 | be quite useful. Depending on the problem, a log level of between 3 and
|
---|
42 | 10 showing the problem may be appropriate. A higher level gives more
|
---|
43 | detail but may use too much disk space.
|
---|
44 | </p><p>
|
---|
45 | <a class="indexterm" name="id2686148"></a>
|
---|
46 | <a class="indexterm" name="id2686154"></a>
|
---|
47 | To set the debug level, use the <a class="link" href="smb.conf.5.html#LOGLEVEL" target="_top">log level</a> in your
|
---|
48 | <code class="filename">smb.conf</code>. You may also find it useful to set the log
|
---|
49 | level higher for just one machine and keep separate logs for each machine.
|
---|
50 | To do this, add the following lines to your main <code class="filename">smb.conf</code> file:
|
---|
51 | </p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="indexterm" name="id2686195"></a><em class="parameter"><code>log level = 10</code></em></td></tr><tr><td><a class="indexterm" name="id2686206"></a><em class="parameter"><code>log file = /usr/local/samba/lib/log.%m</code></em></td></tr><tr><td><a class="indexterm" name="id2686217"></a><em class="parameter"><code>include = /usr/local/samba/lib/smb.conf.%m</code></em></td></tr></table><p>
|
---|
52 | and create a file <code class="filename">/usr/local/samba/lib/smb.conf.<em class="replaceable"><code>machine</code></em></code> where
|
---|
53 | <em class="replaceable"><code>machine</code></em> is the name of the client you wish to debug. In that file put any
|
---|
54 | <code class="filename">smb.conf</code> commands you want; for example, <a class="link" href="smb.conf.5.html#LOGLEVEL" target="_top">log level</a> may be useful. This also allows
|
---|
55 | you to experiment with different security systems, protocol levels, and so on, on just one machine.
|
---|
56 | </p><p>
|
---|
57 | The <code class="filename">smb.conf</code> entry <a class="link" href="smb.conf.5.html#LOGLEVEL" target="_top">log level</a> is synonymous with the parameter <a class="link" href="smb.conf.5.html#DEBUGLEVEL" target="_top">debuglevel</a> that has been used in older versions of Samba and is being retained for backward
|
---|
58 | compatibility of <code class="filename">smb.conf</code> files.
|
---|
59 | </p><p>
|
---|
60 | As the <a class="link" href="smb.conf.5.html#LOGLEVEL" target="_top">log level</a> value is increased, you will record a significantly greater level of
|
---|
61 | debugging information. For most debugging operations, you may not need a setting higher than
|
---|
62 | <code class="constant">3</code>. Nearly all bugs can be tracked at a setting of <code class="constant">10</code>, but be
|
---|
63 | prepared for a large volume of log data.
|
---|
64 | </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2686331"></a>Debugging-Specific Operations</h3></div></div></div><p>
|
---|
65 | <a class="indexterm" name="id2686340"></a>
|
---|
66 | <a class="indexterm" name="id2686346"></a>
|
---|
67 | <a class="indexterm" name="id2686353"></a>
|
---|
68 | <a class="indexterm" name="id2686360"></a>
|
---|
69 | Samba-3.x permits debugging (logging) of specific functional components without unnecessarily
|
---|
70 | cluttering the log files with detailed logs for all operations. An example configuration to
|
---|
71 | achieve this is shown in:
|
---|
72 | </p><p>
|
---|
73 | </p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="indexterm" name="id2686379"></a><em class="parameter"><code>log level = 0 tdb:3 passdb:5 auth:4 vfs:2</code></em></td></tr><tr><td><a class="indexterm" name="id2686390"></a><em class="parameter"><code>max log size = 0</code></em></td></tr><tr><td><a class="indexterm" name="id2686402"></a><em class="parameter"><code>log file = /var/log/samba/%U.%m.log</code></em></td></tr></table><p>
|
---|
74 | </p><p>
|
---|
75 | This will cause the level of detail to be expanded to the debug class (log level) passed to
|
---|
76 | each functional area per the value shown above. The first value passed to the <em class="parameter"><code>log level</code></em>
|
---|
77 | of <code class="constant">0</code> means turn off all unnecessary debugging except the debug classes set for
|
---|
78 | the functional areas as specified. The table shown in <a class="link" href="bugreport.html#dbgclass" title="Table 40.1. Debuggable Functions">Debuggable Functions</a>
|
---|
79 | may be used to attain very precise analysis of each SMB operation Samba is conducting.
|
---|
80 | </p><div class="table"><a name="dbgclass"></a><p class="title"><b>Table 40.1. Debuggable Functions</b></p><div class="table-contents"><table summary="Debuggable Functions" border="1"><colgroup><col><col></colgroup><thead><tr><th align="center">Function Name</th><th align="center">Function Name</th></tr></thead><tbody><tr><td align="center">all</td><td align="center">passdb</td></tr><tr><td align="center">tdb</td><td align="center">sam</td></tr><tr><td align="center">printdrivers</td><td align="center">auth</td></tr><tr><td align="center">lanman</td><td align="center">winbind</td></tr><tr><td align="center">smb</td><td align="center">vfs</td></tr><tr><td align="center">rpc_parse</td><td align="center">idmap</td></tr><tr><td align="center">rpc_srv</td><td align="center">quota</td></tr><tr><td align="center">rpc_cli</td><td align="center">acls</td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2686534"></a>Internal Errors</h2></div></div></div><p>
|
---|
81 | If you get the message “<span class="quote"><span class="errorname">INTERNAL ERROR</span></span>” in your log files,
|
---|
82 | it means that Samba got an unexpected signal while running. It is probably a
|
---|
83 | segmentation fault and almost certainly means a bug in Samba (unless
|
---|
84 | you have faulty hardware or system software).
|
---|
85 | </p><p>
|
---|
86 | If the message came from smbd, it will probably be accompanied by
|
---|
87 | a message that details the last SMB message received by smbd. This
|
---|
88 | information is often useful in tracking down the problem, so please
|
---|
89 | include it in your bug report.
|
---|
90 | </p><p>
|
---|
91 | You should also detail how to reproduce the problem, if
|
---|
92 | possible. Please make this reasonably detailed.
|
---|
93 | </p><p>
|
---|
94 | <a class="indexterm" name="id2686566"></a>
|
---|
95 | You may also find that a core file appeared in a <code class="filename">corefiles</code>
|
---|
96 | subdirectory of the directory where you keep your Samba log
|
---|
97 | files. This file is the most useful tool for tracking down the bug. To
|
---|
98 | use it, you do this:
|
---|
99 | <a class="indexterm" name="id2686582"></a>
|
---|
100 | <a class="indexterm" name="id2686588"></a>
|
---|
101 | </p><pre class="screen">
|
---|
102 | <code class="prompt">$ </code><strong class="userinput"><code>gdb smbd core</code></strong>
|
---|
103 | </pre><p>
|
---|
104 | </p><p>
|
---|
105 | <a class="indexterm" name="id2686614"></a>
|
---|
106 | <a class="indexterm" name="id2686621"></a>
|
---|
107 | adding appropriate paths to smbd and core so gdb can find them. If you
|
---|
108 | do not have gdb, try <strong class="userinput"><code>dbx</code></strong>. Then within the debugger,
|
---|
109 | use the command <code class="literal">where</code> to give a stack trace of where the
|
---|
110 | problem occurred. Include this in your report.
|
---|
111 | </p><p>
|
---|
112 | <a class="indexterm" name="id2686646"></a>
|
---|
113 | If you know any assembly language, do a <code class="literal">disass</code> of the routine
|
---|
114 | where the problem occurred (if it's in a library routine, then
|
---|
115 | disassemble the routine that called it) and try to work out exactly
|
---|
116 | where the problem is by looking at the surrounding code. Even if you
|
---|
117 | do not know assembly, including this information in the bug report can be
|
---|
118 | useful.
|
---|
119 | </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2686667"></a>Attaching to a Running Process</h2></div></div></div><p>
|
---|
120 | <a class="indexterm" name="id2686675"></a>
|
---|
121 | <a class="indexterm" name="id2686682"></a>
|
---|
122 | <a class="indexterm" name="id2686688"></a>
|
---|
123 | Unfortunately, some UNIXes (in particular some recent Linux kernels)
|
---|
124 | refuse to dump a core file if the task has changed UID (which smbd
|
---|
125 | does often). To debug with this sort of system, you could try to attach
|
---|
126 | to the running process using
|
---|
127 | <strong class="userinput"><code>gdb smbd <em class="replaceable"><code>PID</code></em></code></strong>, where you get
|
---|
128 | <em class="replaceable"><code>PID</code></em> from <span class="application">smbstatus</span>.
|
---|
129 | Then use <code class="literal">c</code> to continue and try to cause the core dump
|
---|
130 | using the client. The debugger should catch the fault and tell you
|
---|
131 | where it occurred.
|
---|
132 | </p><p>
|
---|
133 | Sometimes it is necessary to build Samba binary files that have debugging
|
---|
134 | symbols so as to make it possible to capture enough information from a crashed
|
---|
135 | operation to permit the Samba Team to fix the problem.
|
---|
136 | </p><p>
|
---|
137 | Compile with <code class="constant">-g</code> to ensure you have symbols in place.
|
---|
138 | Add the following line to the <code class="filename">smb.conf</code> file global section:
|
---|
139 | </p><pre class="screen">
|
---|
140 | panic action = "/bin/sleep 90000"
|
---|
141 | </pre><p>
|
---|
142 | to catch any panics. If <code class="literal">smbd</code> seems to be frozen, look for any sleep
|
---|
143 | processes. If it is not, and appears to be spinning, find the PID
|
---|
144 | of the spinning process and type:
|
---|
145 | </p><pre class="screen">
|
---|
146 | <code class="prompt">root# </code> gdb /usr/local/samba/sbin/smbd
|
---|
147 | </pre><p>
|
---|
148 | <a class="indexterm" name="id2686774"></a>
|
---|
149 | then “<span class="quote">attach `pid'</span>” (of the spinning process), then type “<span class="quote">bt</span>” to
|
---|
150 | get a backtrace to see where the smbd is in the call path.
|
---|
151 | </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2686792"></a>Patches</h2></div></div></div><p>
|
---|
152 | <a class="indexterm" name="id2686800"></a>
|
---|
153 | <a class="indexterm" name="id2686806"></a>
|
---|
154 | The best sort of bug report is one that includes a fix! If you send us
|
---|
155 | patches, please use <strong class="userinput"><code>diff -u</code></strong> format if your version of
|
---|
156 | diff supports it; otherwise, use <strong class="userinput"><code>diff -c4</code></strong>. Make sure
|
---|
157 | you do the diff against a clean version of the source and let me know
|
---|
158 | exactly what version you used.
|
---|
159 | </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="problems.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="troubleshooting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="msdfs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 39. Analyzing and Solving Samba Problems </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 41. Managing TDB Files</td></tr></table></div></body></html>
|
---|