summaryrefslogtreecommitdiff
path: root/docs/htmldocs/bugreport.html
blob: 516d187e6ad313615490a2055fa82806658d269b (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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML
><HEAD
><TITLE
>Reporting Bugs</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="SAMBA Project Documentation"
HREF="samba-howto-collection.html"><LINK
REL="UP"
TITLE="Appendixes"
HREF="appendixes.html"><LINK
REL="PREVIOUS"
TITLE="How to compile SAMBA"
HREF="compiling.html"><LINK
REL="NEXT"
TITLE="The samba checklist"
HREF="diagnosis.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>SAMBA Project Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="compiling.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="diagnosis.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="BUGREPORT"
></A
>Chapter 32. Reporting Bugs</H1
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN4634"
>32.1. Introduction</A
></H1
><P
>The email address for bug reports for stable releases is <A
HREF="mailto:samba@samba.org"
TARGET="_top"
>samba@samba.org</A
>. 
Bug reports for alpha releases should go to <A
HREF="mailto:samba-technical@samba.org"
TARGET="_top"
>samba-technical@samba.org</A
>.</P
><P
>Please take the time to read this file before you submit a bug
report. Also, please see if it has changed between releases, as we
may be changing the bug reporting mechanism at some time.</P
><P
>Please also 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 about it than
we can possibly answer, so you have a much higher chance of an answer
and a fix if you send us a "developer friendly" 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 then it is better to send 
it to the Samba mailing list, as there are (at last count) 5000 other users on
that list that 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 <A
HREF="http://samba.org/samba/"
TARGET="_top"
>http://samba.org/samba/</A
>.</P
></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN4644"
>32.2. General info</A
></H1
><P
>Before submitting a bug report check your config for silly
errors. Look in your log files for obvious messages that tell you that
you've misconfigured something and run testparm to test your config
file for correct syntax.</P
><P
>Have you run through the <A
HREF="diagnosis.html"
>diagnosis</A
>? 
This is very 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"
><H1
CLASS="SECT1"
><A
NAME="AEN4650"
>32.3. Debug levels</A
></H1
><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 very useful. Depending on the problem a log level of between 3 and
10 showing the problem may be appropriate. A higher level givesmore
detail, but may use too much disk space.</P
><P
>To set the debug level use <B
CLASS="COMMAND"
>log level =</B
> 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 use:</P
><P
><PRE
CLASS="PROGRAMLISTING"
>log level = 10
log file = /usr/local/samba/lib/log.%m
include = /usr/local/samba/lib/smb.conf.%m</PRE
></P
><P
>then create a file 
<TT
CLASS="FILENAME"
>/usr/local/samba/lib/smb.conf.<VAR
CLASS="REPLACEABLE"
>machine</VAR
></TT
> where
<VAR
CLASS="REPLACEABLE"
>machine</VAR
> 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 
<B
CLASS="COMMAND"
>log level=</B
> may be useful. This also allows you to 
experiment with different security systems, protocol levels etc on just 
one machine.</P
><P
>The <TT
CLASS="FILENAME"
>smb.conf</TT
> entry <B
CLASS="COMMAND"
>log level =</B
> 
is synonymous with the entry <B
CLASS="COMMAND"
>debuglevel =</B
> that has been 
used in older versions of Samba and is being retained for backwards 
compatibility of <TT
CLASS="FILENAME"
>smb.conf</TT
> files.</P
><P
>As the <B
CLASS="COMMAND"
>log level =</B
> value is increased you will record 
a significantly increasing level of debugging information. For most 
debugging operations you may not need a setting higher than 3. Nearly 
all bugs can be tracked at a setting of 10, but be prepared for a VERY 
large volume of log data.</P
></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN4671"
>32.4. Internal errors</A
></H1
><P
>If you get a "INTERNAL ERROR" message 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 then it will probably be accompanied by
a message which details the last SMB message received by smbd. This
info is often very 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
>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:</P
><P
><B
CLASS="COMMAND"
>gdb smbd core</B
></P
><P
>adding appropriate paths to smbd and core so gdb can find them. If you
don't have gdb then try <KBD
CLASS="USERINPUT"
>dbx</KBD
>. Then within the debugger use the
command <KBD
CLASS="USERINPUT"
>where</KBD
> to give a stack trace of where the problem
occurred. Include this in your mail.</P
><P
>If you known any assembly language then do a <KBD
CLASS="USERINPUT"
>disass</KBD
> 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
don't know assembly then incuding this info in the bug report can be
useful. </P
></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN4685"
>32.5. Attaching to a running process</A
></H1
><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 <KBD
CLASS="USERINPUT"
>gdb smbd <VAR
CLASS="REPLACEABLE"
>PID</VAR
></KBD
> where you get <VAR
CLASS="REPLACEABLE"
>PID</VAR
> from
<SPAN
CLASS="APPLICATION"
>smbstatus</SPAN
>. Then use <KBD
CLASS="USERINPUT"
>c</KBD
> 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"
><H1
CLASS="SECT1"
><A
NAME="AEN4693"
>32.6. Patches</A
></H1
><P
>The best sort of bug report is one that includes a fix! If you send us
patches please use <KBD
CLASS="USERINPUT"
>diff -u</KBD
> format if your version of 
diff supports it, otherwise use <KBD
CLASS="USERINPUT"
>diff -c4</KBD
>. Make sure 
your 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
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="compiling.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="samba-howto-collection.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="diagnosis.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>How to compile SAMBA</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="appendixes.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The samba checklist</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>