mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
147 lines
4.8 KiB
Plaintext
147 lines
4.8 KiB
Plaintext
@c Generated by the sb-manual contrib. Do not edit.
|
|
|
|
@node support and bugs
|
|
@chapter Getting Support and Reporting Bugs
|
|
|
|
@menu
|
|
* Volunteer Support: volunteer support.
|
|
* Commercial Support: commercial support.
|
|
* Reporting Bugs: reporting bugs.
|
|
@end menu
|
|
|
|
@node volunteer support
|
|
@section Volunteer Support
|
|
|
|
Your primary source of SBCL support should probably be the mailing
|
|
list @code{sbcl-help}: in addition to other users SBCL developers monitor
|
|
this list and are available for advice. As an anti-spam measure
|
|
subscription is required for posting:
|
|
|
|
@url{https://lists.sourceforge.net/lists/listinfo/sbcl-help}
|
|
|
|
Remember that the people answering your question are volunteers, so
|
|
you stand a much better chance of getting a good answer if you ask a
|
|
good question.
|
|
|
|
Before sending mail, check the list archives at either
|
|
|
|
@url{http://sourceforge.net/mailarchive/forum.php?forum_name=sbcl-help}
|
|
|
|
or
|
|
|
|
@url{http://news.gmane.org/gmane.lisp.steel-bank.general}
|
|
|
|
to see if your question has been answered already. Checking the bug
|
|
database is also worth it (see @ref{reporting bugs}), to see if the issue
|
|
is already known.
|
|
|
|
For general advice on asking good questions, see
|
|
|
|
@url{http://www.catb.org/~esr/faqs/smart-questions.html}.
|
|
|
|
@node commercial support
|
|
@section Commercial Support
|
|
|
|
There is no formal organization developing SBCL, but if you need a
|
|
paid support arrangement or custom SBCL development, we maintain the
|
|
list of companies and consultants below. Use it to identify service
|
|
providers with appropriate skills and interests, and contact them
|
|
directly.
|
|
|
|
The SBCL project cannot verify the accuracy of the information or
|
|
the competence of the people listed, and they have provided their
|
|
own blurbs below: you must make your own judgement of suitability
|
|
from the available information - refer to the links they provide,
|
|
the CREDITS file, mailing list archives, CVS commit messages, and so
|
|
on. Please feel free to ask for advice on the sbcl-help list.
|
|
|
|
(At present, no companies or consultants wish to advertise paid
|
|
support or custom SBCL development in this manual).
|
|
|
|
@node reporting bugs
|
|
@section Reporting Bugs
|
|
|
|
@menu
|
|
* How to Report Bugs Effectively: how to report bugs effectively.
|
|
* How to Report Signal-related Bugs: how to report signal related bugs.
|
|
@end menu
|
|
|
|
SBCL uses Launchpad to track bugs. The bug database is available at
|
|
|
|
@url{https://bugs.launchpad.net/sbcl}
|
|
|
|
Reporting bugs there requires registering at Launchpad. However,
|
|
bugs can also be reported on the mailing list @code{sbcl-bugs},
|
|
which is moderated but does @emph{not} require subscribing.
|
|
|
|
Simply send email to @code{sbcl-bugs@@lists.sourceforge.net} and the bug
|
|
will be checked and added to Launchpad by SBCL maintainers.
|
|
|
|
@node how to report bugs effectively
|
|
@subsection How to Report Bugs Effectively
|
|
|
|
Please include enough information in a bug report that someone reading
|
|
it can reproduce the problem, i.e. don't write
|
|
|
|
@example
|
|
Subject: apparent bug in PRINT-OBJECT (or *PRINT-LENGTH*?)
|
|
PRINT-OBJECT doesn't seem to work with *PRINT-LENGTH*. Is this a bug?
|
|
@end example
|
|
|
|
but instead
|
|
|
|
@example
|
|
Subject: apparent bug in PRINT-OBJECT (or *PRINT-LENGTH*?)
|
|
In sbcl-1.2.3 running under OpenBSD 4.5 on my Alpha box, when
|
|
I compile and load the file
|
|
(DEFSTRUCT (FOO (:PRINT-OBJECT (LAMBDA (X Y)
|
|
(LET ((*PRINT-LENGTH* 4))
|
|
(PRINT X Y)))))
|
|
X Y)
|
|
then at the command line type
|
|
(MAKE-FOO)
|
|
the program loops endlessly instead of printing the object.
|
|
@end example
|
|
|
|
A more in-depth discussion on reporting bugs effectively can be
|
|
found at
|
|
|
|
@url{http://www.chiark.greenend.org.uk/~sgtatham/bugs.html}.
|
|
|
|
@node how to report signal related bugs
|
|
@subsection How to Report Signal-related Bugs
|
|
|
|
If you run into a signal related bug, you are getting fatal errors
|
|
such as @code{signal N is [un]blocked} or just hangs, and you want to
|
|
send a useful bug report then:
|
|
|
|
@cindex LDB
|
|
@itemize
|
|
@item Compile SBCL with LDB enabled (feature @code{:sb-ldb}, see
|
|
@code{base-target-features.lisp-expr}).
|
|
|
|
@item Isolate a smallish test case, run it.
|
|
|
|
@item If it just hangs kill it with @code{sigabrt}: @code{kill -ABRT <pidof sbcl>}.
|
|
|
|
@item Print the backtrace from ldb by typing @code{ba}.
|
|
|
|
@item Attach gdb: @code{gdb -p <pidof sbcl>} and get backtraces for all
|
|
threads: @code{thread apply all ba}.
|
|
|
|
@item If multiple threads are in play then still in gdb, try to get Lisp
|
|
backtrace for all threads: @code{thread apply all call
|
|
backtrace_from_fp($ebp, 100, 0)}. Substitute @code{$ebp} with @code{$rbp} on
|
|
x86-64. The backtraces will appear in the stdout of the SBCL
|
|
process.
|
|
|
|
@item Send a report with the backtraces and the output (both stdout and
|
|
stderr) produced by SBCL.
|
|
|
|
@item Don't forget to include OS and SBCL version.
|
|
|
|
@item If available, include information on outcome of the same test with
|
|
other versions of SBCL, OS, ...
|
|
@end itemize
|
|
|