Rev 58549 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/utils/man/bug.report.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2011 R Core Team% Distributed under GPL 2 or later\name{bug.report}\alias{bug.report}\title{Send a Bug Report}\usage{bug.report(subject = "", address,file = "R.bug.report", package = NULL, lib.loc = NULL,\dots)}\arguments{\item{subject}{Subject of the email.}\item{address}{Recipient's email address, where applicable: forpackage bug reports sent by email this defaults to the address ofthe package maintainer (the first if more than one is listed).}\item{file}{filename to use (if needed) for setting up the email.}\item{package}{Optional character vector naming a single package which isthe subject of the bug report.}\item{lib.loc}{A character vector describing the location of \Rlibrary trees in which to search for the package, or \code{NULL}.The default value of \code{NULL} corresponds to all librariescurrently known.}\item{\dots}{additional named arguments such as \code{method} and\code{ccaddress} to pass to \code{\link{create.post}}.}}\description{Invokes an editor or email program to write a bug report or opens aweb page for bug submission. Some standard information on the currentversion and configuration of \R are included automatically.}\details{If \code{package} is \code{NULL} or a base package, this opens the Rbugs tracker at \url{http://bugs.r-project.org/}.If \code{package} is specified, it is assumed that the bug report isabout that package, and parts of its \file{DESCRIPTION} file areadded to the standard information. If the package has a\code{BugReports} field in the \file{DESCRIPTION} file, that URLwill be opened using \code{\link{browseURL}}, otherwise an emaildirected to the package maintainer will be generated using\code{\link{create.post}}.}\value{Nothing useful.}\section{When is there a bug?}{If \R executes an illegal instruction, or dies with an operatingsystem error message that indicates a problem in the program (asopposed to something like \dQuote{disk full}), then it is certainly abug.Taking forever to complete a command can be a bug, but you must makecertain that it was really \R's fault. Some commands simply take along time. If the input was such that you KNOW it should have beenprocessed quickly, report a bug. If you don't know whether thecommand should take a long time, find out by looking in the manual orby asking for assistance.If a command you are familiar with causes an \R error message in acase where its usual definition ought to be reasonable, it is probablya bug. If a command does the wrong thing, that is a bug. But be sureyou know for certain what it ought to have done. If you aren'tfamiliar with the command, or don't know for certain how the commandis supposed to work, then it might actually be working right. Ratherthan jumping to conclusions, show the problem to someone who knows forcertain.Finally, a command's intended definition may not be best forstatistical analysis. This is a very important sort of problem, butit is also a matter of judgement. Also, it is easy to come to such aconclusion out of ignorance of some of the existing features. It isprobably best not to complain about such a problem until you havechecked the documentation in the usual ways, feel confident that youunderstand it, and know for certain that what you want is notavailable. The mailing list \code{r-devel@r-project.org} is a betterplace for discussions of this sort than the bug list.If you are not sure what the command is supposed to doafter a careful reading of the manual this indicates a bug in themanual. The manual's job is to make everything clear. It is just asimportant to report documentation bugs as program bugs.If the online argument list of a function disagrees with the manual,one of them must be wrong, so report the bug.}\section{How to report a bug}{When you decide that there is a bug, it is important to report it andto report it in a way which is useful. What is most useful is anexact description of what commands you type, from when you start \Runtil the problem happens. Always include the version of \R, machine,and operating system that you are using; type \kbd{version} in \R toprint this. To help us keep track of which bugs have been fixed andwhich are still open please send a separate report for each bug.The most important principle in reporting a bug is to report FACTS,not hypotheses or categorizations. It is always easier to report thefacts, but people seem to prefer to strain to posit explanations andreport them instead. If the explanations are based on guesses abouthow \R is implemented, they will be useless; we will have to try tofigure out what the facts must have been to lead to suchspeculations. Sometimes this is impossible. But in any case, it isunnecessary work for us.For example, suppose that on a data set which you know to be quitelarge the command \code{data.frame(x, y, z, monday, tuesday)} neverreturns. Do not report that \code{data.frame()} fails for large datasets. Perhaps it fails when a variable name is a day of the week. Ifthis is so then when we got your report we would try out the\code{data.frame()} command on a large data set, probably with no dayof the week variable name, and not see any problem. There is no way inthe world that we could guess that we should try a day of the weekvariable name.Or perhaps the command fails because the last command you used was a\code{[} method that had a bug causing \R's internal data structuresto be corrupted and making the \code{data.frame()} command fail fromthen on. This is why we need to know what other commands you havetyped (or read from your startup file).It is very useful to try and find simple examples that produceapparently the same bug, and somewhat useful to find simple examplesthat might be expected to produce the bug but actually do not. If youwant to debug the problem and find exactly what caused it, that iswonderful. You should still report the facts as well as anyexplanations or solutions.Invoking \R with the \option{--vanilla} option may help in isolating abug. This ensures that the site profile and saved data files are notread.A bug report can be generated using the function \code{bug.report()}.For reports on \R this will open the Web page at\url{http://bugs.R-project.org/}: for a contributed package it willopen the package's bug tracker Web page or help you compose an emailto the maintainer.Bug reports on \strong{contributed packages} should not be sent to theR bug tracker: rather make use of the \code{package} argument.}\seealso{\code{\link{help.request}} which you possibly should try\emph{before} \code{bug.report}.\code{\link{create.post}}, which handles emailing reports.The R FAQ, also \code{\link{sessionInfo}()} from which you may addto the bug report.}\author{This help page is adapted from the Emacs manual and the R FAQ}\keyword{utilities}\keyword{error}