summaryrefslogtreecommitdiff
path: root/docs/htmldocs/bugreport.html
blob: 0e963269d55556c1ef486102e7edefdb5a9157a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 35. Reporting Bugs</title><link rel="stylesheet" href="samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.60.1"><link rel="home" href="index.html" title="SAMBA Project Documentation"><link rel="up" href="troubleshooting.html" title="Part V. Troubleshooting"><link rel="previous" href="problems.html" title="Chapter 34. Analyzing and Solving Samba Problems"><link rel="next" href="Appendixes.html" title="Part VI. Appendixes"></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 35. 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="Appendixes.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 35. Reporting Bugs</h2></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><tt class="email">&lt;<a href="mailto:jht@samba.org">jht@samba.org</a>&gt;</tt></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="othername">R.</span> <span class="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><tt class="email">&lt;<a href="mailto:jelmer@samba.org">jelmer@samba.org</a>&gt;</tt></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Andrew</span> <span class="surname">Tridgell</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><tt class="email">&lt;<a href="mailto:tridge@samba.org">tridge@samba.org</a>&gt;</tt></p></div></div></div></div><div><p class="pubdate"> 27 June 1997 </p></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="bugreport.html#id2972309">Introduction</a></dt><dt><a href="bugreport.html#id2972372">General Information</a></dt><dt><a href="bugreport.html#id2972408">Debug Levels</a></dt><dt><a href="bugreport.html#id2972617">Internal Errors</a></dt><dt><a href="bugreport.html#id2972752">Attaching to a Running Process</a></dt><dt><a href="bugreport.html#id2972799">Patches</a></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2972309"></a>Introduction</h2></div></div><div></div></div><p>Please report bugs using Samba's
<ulink url="https://bugzilla.samba.org/">Bugzilla</ulink> facilities and
take the time to read this file before you submit a bug
report. Also, check to see if it has changed between releases, as we
may be changing the bug reporting mechanism at some point.
</p><p>
Please do as much as you can yourself to help track down the
bug. Samba is maintained by a dedicated group of people who volunteer
their time, skills and efforts. We receive far more mail than
we can possibly answer, so you have a much higher chance of a response
and a fix if you send us a &#8220;<span class="quote">developer friendly</span>&#8221; bug report that lets
us fix it fast. 
</p><p>
Do not assume that if you post the bug to the comp.protocols.smb
newsgroup or the mailing list that we will read it. If you suspect that your 
problem is not a bug but a configuration problem, it is better to send 
it to the Samba mailing list, as there are thousands of other users on
that list who may be able to help you.
</p><p>
You may also like to look though the recent mailing list archives,
which are conveniently accessible on the Samba Web pages
at <ulink url="http://samba.org/samba/">http://samba.org/samba/</ulink>.
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2972372"></a>General Information</h2></div></div><div></div></div><p>
Before submitting a bug report, check your config for silly
errors. Look in your log files for obvious messages that tell
you've misconfigured something. Run testparm to check your config
file for correct syntax.
</p><p>
	Have you looked through <link linkend="diagnosis">? This is extremely important.
</p><p>
If you include part of a log file with your bug report, then be sure to
annotate it with exactly what you were doing on the client at the
time and exactly what the results were.
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2972408"></a>Debug Levels</h2></div></div><div></div></div><p>
If the bug has anything to do with Samba behaving incorrectly as a
server (like refusing to open a file), then the log files will probably
be quite useful. Depending on the problem, a log level of between 3 and
10 showing the problem may be appropriate. A higher level gives more
detail, but may use too much disk space.
</p><p>
To set the debug level, use the <a class="indexterm" name="id2972430"></a><i class="parameter"><tt>log level</tt></i> in your 
<tt class="filename">smb.conf</tt>. You may also find it useful to set the log 
level higher for just one machine and keep separate logs for each machine. 
To do this, add the following lines to your main <tt class="filename">smb.conf</tt> file:
</p><table class="simplelist" border="0" summary="Simple list"><tr><td><i class="parameter"><tt>log level = 10</tt></i></td></tr><tr><td><i class="parameter"><tt>log file = /usr/local/samba/lib/log.%m</tt></i></td></tr><tr><td><i class="parameter"><tt>include = /usr/local/samba/lib/smb.conf.%m</tt></i></td></tr></table><p>
and create a file <tt class="filename">/usr/local/samba/lib/smb.conf.<i class="replaceable"><tt>machine</tt></i></tt> where
<i class="replaceable"><tt>machine</tt></i> is the name of the client you wish to debug. In that file
put any <tt class="filename">smb.conf</tt> commands you want, for example 
<a class="indexterm" name="id2972521"></a><i class="parameter"><tt>log level</tt></i> may be useful. This also allows you to 
experiment with different security systems, protocol levels and so on, on just 
one machine.
</p><p>
The <tt class="filename">smb.conf</tt> entry <a class="indexterm" name="id2972548"></a><i class="parameter"><tt>log level</tt></i> 
is synonymous with the parameter <a class="indexterm" name="id2972562"></a><i class="parameter"><tt>debuglevel</tt></i> that has
been used in older versions of Samba and is being retained for backward 
compatibility of <tt class="filename">smb.conf</tt> files.
</p><p>
As the <a class="indexterm" name="id2972588"></a><i class="parameter"><tt>log level</tt></i> value is increased, you will record 
a significantly greater level of debugging information. For most 
debugging operations, you may not need a setting higher than 
<tt class="constant">3</tt>. Nearly 
all bugs can be tracked at a setting of <tt class="constant">10</tt>, but be 
prepared for a large volume of log data.
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2972617"></a>Internal Errors</h2></div></div><div></div></div><p>
If you get the message &#8220;<span class="quote"><span class="errorname">INTERNAL ERROR</span></span>&#8221; in your log files, 
it means that Samba got an unexpected signal while running. It is probably a
segmentation fault and almost certainly means a bug in Samba (unless
you have faulty hardware or system software).
</p><p>
If the message came from smbd, it will probably be accompanied by
a message that details the last SMB message received by smbd. This
information is often useful in tracking down the problem so please
include it in your bug report.
</p><p>
You should also detail how to reproduce the problem, if
possible. Please make this reasonably detailed.
</p><p>
<a class="indexterm" name="id2972657"></a>
You may also find that a core file appeared in a <tt class="filename">corefiles</tt>
subdirectory of the directory where you keep your Samba log
files. This file is the most useful tool for tracking down the bug. To
use it, you do this:
<a class="indexterm" name="id2972676"></a>
<a class="indexterm" name="id2972684"></a>
</p><pre class="screen">
<tt class="prompt">$ </tt><b class="userinput"><tt>gdb smbd core</tt></b>
</pre><p>
adding appropriate paths to smbd and core so gdb can find them. If you
do not have gdb, try <b class="userinput"><tt>dbx</tt></b>. Then within the debugger,
use the command <b class="command">where</b> to give a stack trace of where the
problem occurred. Include this in your report.
</p><p>
If you know any assembly language, do a <b class="command">disass</b> of the routine
where the problem occurred (if its in a library routine, then
disassemble the routine that called it) and try to work out exactly
where the problem is by looking at the surrounding code. Even if you
do not know assembly, including this information in the bug report can be
useful. 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2972752"></a>Attaching to a Running Process</h2></div></div><div></div></div><p>
Unfortunately, some UNIXes (in particular some recent Linux kernels)
refuse to dump a core file if the task has changed uid (which smbd
does often). To debug with this sort of system, you could try to attach
to the running process using
<b class="userinput"><tt>gdb smbd <i class="replaceable"><tt>PID</tt></i></tt></b> where you get
<i class="replaceable"><tt>PID</tt></i> from <span class="application">smbstatus</span>.
Then use <b class="command">c</b> to continue and try to cause the core dump
using the client. The debugger should catch the fault and tell you
where it occurred.
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2972799"></a>Patches</h2></div></div><div></div></div><p>
<a class="indexterm" name="id2972810"></a>
<a class="indexterm" name="id2972818"></a>
The best sort of bug report is one that includes a fix! If you send us
patches, please use <b class="userinput"><tt>diff -u</tt></b> format if your version of 
diff supports it, otherwise use <b class="userinput"><tt>diff -c4</tt></b>. Make sure 
you do the diff against a clean version of the source and let me know 
exactly what version you used. 
</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="Appendixes.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 34. 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"> Part VI. Appendixes</td></tr></table></div></body></html>