| 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>
|
|---|