1!==
2!== BUGS.txt for Samba release 2.0.10 23 Jun 2001
3!==
4Contributor:	Samba Team
5Updated:	June 27, 1997
6
7Subject: This file describes how to report Samba bugs. 
8============================================================================
9
10>> The email address for bug reports is samba@samba.org <<
11
12Please take the time to read this file before you submit a bug
13report. Also, please see if it has changed between releases, as we
14may be changing the bug reporting mechanism at some time.
15
16Please also do as much as you can yourself to help track down the
17bug. Samba is maintained by a dedicated group of people who volunteer
18their time, skills and efforts. We receive far more mail about it than
19we can possibly answer, so you have a much higher chance of an answer
20and a fix if you send us a "developer friendly" bug report that lets
21us fix it fast. 
22
23Do not assume that if you post the bug to the comp.protocols.smb
24newsgroup or the mailing list that we will read it. If you suspect that your 
25problem is not a bug but a configuration problem then it is better to send 
26it to the Samba mailing list, as there are (at last count) 5000 other users on
27that list that may be able to help you.
28
29You may also like to look though the recent mailing list archives,
30which are conveniently accessible on the Samba web pages
31at http://samba.org/samba/ 
32
33
34GENERAL INFO
35------------
36
37Before submitting a bug report check your config for silly
38errors. Look in your log files for obvious messages that tell you that
39you've misconfigured something and run testparm to test your config
40file for correct syntax.
41
42Have you run through DIAGNOSIS.txt? This is very important.
43
44If you include part of a log file with your bug report then be sure to
45annotate it with exactly what you were doing on the client at the
46time, and exactly what the results were.
47
48
49DEBUG LEVELS
50------------
51
52If the bug has anything to do with Samba behaving incorrectly as a
53server (like refusing to open a file) then the log files will probably
54be very useful. Depending on the problem a log level of between 3 and
5510 showing the problem may be appropriate. A higher level givesmore
56detail, but may use too much disk space.
57
58To set the debug level use "log level =" in your smb.conf. You may
59also find it useful to set the log level higher for just one machine
60and keep separate logs for each machine. To do this use:
61
62log level = 10
63log file = /usr/local/samba/lib/log.%m
64include = /usr/local/samba/lib/smb.conf.%m
65
66then create a file "/usr/local/samba/lib/smb.conf.machine" where
67"machine" is the name of the client you wish to debug. In that file
68put any smb.conf commands you want, for example "log level=" may be
69useful. This also allows you to experiment with different security
70systems, protocol levels etc on just one machine.
71
72The smb.conf entry "log level =" is synonymous with the entry
73"debuglevel =" that has been used in older versions of Samba and
74is being retained for backwards compatibility of smb.conf files.
75
76As the "log level =" value is increased you will record a significantly
77increasing level of debugging information. For most debugging operations
78you may not need a setting higher than 3. Nearly all bugs can be tracked
79at a setting of 10, but be prepared for a VERY large volume of log data.
80
81
82INTERNAL ERRORs
83---------------
84
85If you get a "INTERNAL ERROR" message in your log files it means that
86Samba got an unexpected signal while running. It is probably a
87segmentation fault and almost certainly means a bug in Samba (unless
88you have faulty hardware or system software)
89
90If the message came from smbd then it will probably be accompanied by
91a message which details the last SMB message received by smbd. This
92info is often very useful in tracking down the problem so please
93include it in your bug report.
94
95You should also detail how to reproduce the problem, if
96possible. Please make this reasonably detailed.
97
98You may also find that a core file appeared in a "corefiles"
99subdirectory of the directory where you keep your samba log
100files. This file is the most useful tool for tracking down the bug. To
101use it you do this:
102
103gdb smbd core
104
105adding appropriate paths to smbd and core so gdb can find them. If you
106don't have gdb then try "dbx". Then within the debugger use the
107command "where" to give a stack trace of where the problem
108occurred. Include this in your mail.
109
110If you known any assembly language then do a "disass" of the routine
111where the problem occurred (if its in a library routine then
112disassemble the routine that called it) and try to work out exactly
113where the problem is by looking at the surrounding code. Even if you
114don't know assembly then incuding this info in the bug report can be
115useful. 
116
117
118ATTACHING TO A RUNNING PROCESS
119------------------------------
120
121Unfortunately some unixes (in particular some recent linux kernels)
122refuse to dump a core file if the task has changed uid (which smbd
123does often). To debug with this sort of system you could try to attach
124to the running process using "gdb smbd PID" where you get PID from
125smbstatus. Then use "c" to continue and try to cause the core dump
126using the client. The debugger should catch the fault and tell you
127where it occurred.
128
129
130PATCHES
131-------
132
133The best sort of bug report is one that includes a fix! If you send us
134patches please use "diff -u" format if your version of diff supports
135it, otherwise use "diff -c4". Make sure your do the diff against a
136clean version of the source and let me know exactly what version you
137used. 
138
139