The R Project SVN R

Rev

Rev 71942 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 71942 Rev 88849
Line 1... Line 1...
1
% File src/library/utils/man/bug.report.Rd
1
% File src/library/utils/man/bug.report.Rd
2
% Part of the R package, https://www.R-project.org
2
% Part of the R package, https://www.R-project.org
3
% Copyright 1995-2017 R Core Team
3
% Copyright 1995-2025 R Core Team
4
% Distributed under GPL 2 or later
4
% Distributed under GPL 2 or later
5
 
5
 
6
\name{bug.report}
6
\name{bug.report}
7
\alias{bug.report}
7
\alias{bug.report}
8
\title{Send a Bug Report}
8
\title{Send a Bug Report}
9
\usage{
9
\usage{
10
bug.report(subject = "",  address,
10
bug.report(subject = "", address, file = "R.bug.report",
11
           file = "R.bug.report", package = NULL, lib.loc = NULL,
11
           package = NULL, lib.loc = NULL, \dots)
12
           \dots)
-
 
13
}
12
}
14
\arguments{
13
\arguments{
15
  \item{subject}{Subject of the email.}
14
  \item{subject}{the subject of the email (if one is composed).}
16
  \item{address}{Recipient's email address, where applicable: for
15
  \item{address}{the recipient's email address, which is by default
17
    package bug reports sent by email this defaults to the address of
16
    inferred from the \code{\link{packageDescription}}
18
    the package maintainer (the first if more than one is listed).}
17
    (see \sQuote{Details}).}
19
  \item{file}{filename to use (if needed) for setting up the email.}
18
  \item{file}{filename to use (if needed) for setting up the email.}
20
  \item{package}{Optional character vector naming a single package which is
19
  \item{package}{an optional character string naming a single package which is
21
    the subject of the bug report.}
20
    the subject of the bug report.}
22
  \item{lib.loc}{A character vector describing the location of \R
21
  \item{lib.loc}{a character vector describing the location of \R
23
    library trees in which to search for the package, or \code{NULL}.
22
    library trees in which to search for the package, or \code{NULL}.
24
    The default value of \code{NULL} corresponds to all libraries
23
    The default value of \code{NULL} corresponds to all libraries
25
    currently known.}
24
    currently known.}
26
  \item{\dots}{additional named arguments such as \code{method} and
25
  \item{\dots}{additional named arguments such as \code{method} and
27
    \code{ccaddress} to pass to \code{\link{create.post}}.}
26
    \code{ccaddress} to pass to \code{\link{create.post}}.}
28
}
27
}
29
\description{
28
\description{
30
  Invokes an editor or email program to write a bug report or opens a
29
  Invokes an editor or email program to write a bug report or opens a
31
  web page for bug submission.  Some standard information on the current
30
  web page for bug submission.  Some standard information on the current
32
  version and configuration of \R are included automatically.
31
  version and configuration of \R are generated automatically.
33
}
32
}
34
\details{
33
\details{
35
  If \code{package} is \code{NULL} or a base package, this opens the R
34
  If \code{package} is \code{NULL} or a base package, this opens the \R
36
  bugs tracker at \url{https://bugs.r-project.org/}.
35
  bug tracker at \url{https://bugs.R-project.org/}.
37
 
36
 
38
  If \code{package} is specified, it is assumed that the bug report is
37
  If \code{package} is specified, it is assumed that the bug report is
39
  about that package, and parts of its \file{DESCRIPTION} file are added
38
  about that package, and parts of its \file{DESCRIPTION} file are added
40
  to the standard information.  If the package has a non-empty
39
  to the standard information.  If the package has a non-empty
41
  \code{BugReports} field in the \file{DESCRIPTION} file specifying the
40
  \code{BugReports} field in the \file{DESCRIPTION} file specifying the
Line 44... Line 43...
44
  maintainer will be generated using \code{\link{create.post}}.  If
43
  maintainer will be generated using \code{\link{create.post}}.  If
45
  there is any other form of \code{BugReports} field or a \code{Contact}
44
  there is any other form of \code{BugReports} field or a \code{Contact}
46
  field, this is examined as it may provide a preferred email address.
45
  field, this is examined as it may provide a preferred email address.
47
}
46
}
48
\value{Nothing useful.}
47
\value{Nothing useful.}
49
\section{When is there a bug?}{
-
 
50
  If \R executes an illegal instruction, or dies with an operating
-
 
51
  system error message that indicates a problem in the program (as
-
 
52
  opposed to something like \dQuote{disk full}), then it is certainly a
-
 
53
  bug.
-
 
54
 
-
 
55
  Taking forever to complete a command can be a bug, but you must make
-
 
56
  certain that it was really \R's fault.  Some commands simply take a
-
 
57
  long time.  If the input was such that you KNOW it should have been
-
 
58
  processed quickly, report a bug.  If you don't know whether the
-
 
59
  command should take a long time, find out by looking in the manual or
-
 
60
  by asking for assistance.
-
 
61
 
-
 
62
  If a command you are familiar with causes an \R error message in a
-
 
63
  case where its usual definition ought to be reasonable, it is probably
-
 
64
  a bug.  If a command does the wrong thing, that is a bug.  But be sure
-
 
65
  you know for certain what it ought to have done.  If you aren't
-
 
66
  familiar with the command, or don't know for certain how the command
-
 
67
  is supposed to work, then it might actually be working right.  Rather
-
 
68
  than jumping to conclusions, show the problem to someone who knows for
-
 
69
  certain.
-
 
70
 
-
 
71
   Finally, a command's intended definition may not be best for
-
 
72
   statistical analysis.  This is a very important sort of problem, but
-
 
73
   it is also a matter of judgement.  Also, it is easy to come to such a
-
 
74
   conclusion out of ignorance of some of the existing features.  It is
-
 
75
   probably best not to complain about such a problem until you have
-
 
76
   checked the documentation in the usual ways, feel confident that you
-
 
77
   understand it, and know for certain that what you want is not
-
 
78
   available. The mailing list \code{r-devel@r-project.org} is a better
-
 
79
   place for discussions of this sort than the bug list.
-
 
80
 
-
 
81
   If you are not sure what the command is supposed to do
-
 
82
   after a careful reading of the manual this indicates a bug in the
-
 
83
   manual.  The manual's job is to make everything clear.  It is just as
-
 
84
   important to report documentation bugs as program bugs.
-
 
85
 
-
 
86
   If the online argument list of a function disagrees with the manual,
-
 
87
   one of them must be wrong, so report the bug.
-
 
88
}
-
 
89
\section{How to report a bug}{
-
 
90
  When you decide that there is a bug, it is important to report it and
-
 
91
  to report it in a way which is useful.  What is most useful is an
-
 
92
  exact description of what commands you type, from when you start \R
-
 
93
  until the problem happens.  Always include the version of \R, machine,
-
 
94
  and operating system that you are using; type \kbd{version} in \R to
-
 
95
  print this.  To help us keep track of which bugs have been fixed and
-
 
96
  which are still open please send a separate report for each bug.
-
 
97
 
-
 
98
  The most important principle in reporting a bug is to report FACTS,
-
 
99
  not hypotheses or categorizations.  It is always easier to report the
-
 
100
  facts, but people seem to prefer to strain to posit explanations and
-
 
101
  report them instead.  If the explanations are based on guesses about
-
 
102
  how \R is implemented, they will be useless; we will have to try to
-
 
103
  figure out what the facts must have been to lead to such
-
 
104
  speculations.  Sometimes this is impossible.  But in any case, it is
-
 
105
  unnecessary work for us.
-
 
106
 
-
 
107
  For example, suppose that on a data set which you know to be quite
-
 
108
  large the command \code{data.frame(x, y, z, monday, tuesday)} never
-
 
109
  returns.  Do not report that \code{data.frame()} fails for large data
-
 
110
  sets.  Perhaps it fails when a variable name is a day of the week.  If
-
 
111
  this is so then when we got your report we would try out the
-
 
112
  \code{data.frame()} command on a large data set, probably with no day
-
 
113
  of the week variable name, and not see any problem. There is no way in
-
 
114
  the world that we could guess that we should try a day of the week
-
 
115
  variable name.
-
 
116
 
-
 
117
  Or perhaps the command fails because the last command you used was a
-
 
118
  \code{[} method that had a bug causing \R's internal data structures
-
 
119
  to be corrupted and making the \code{data.frame()} command fail from
-
 
120
  then on.  This is why we need to know what other commands you have
-
 
121
  typed (or read from your startup file).
-
 
122
 
-
 
123
  It is very useful to try and find simple examples that produce
-
 
124
  apparently the same bug, and somewhat useful to find simple examples
-
 
125
  that might be expected to produce the bug but actually do not.  If you
-
 
126
  want to debug the problem and find exactly what caused it, that is
-
 
127
  wonderful.  You should still report the facts as well as any
-
 
128
  explanations or solutions.
-
 
129
 
-
 
130
  Invoking \R with the \option{--vanilla} option may help in isolating a
-
 
131
  bug.  This ensures that the site profile and saved data files are not
-
 
132
  read.
-
 
133
 
-
 
134
  A bug report can be generated using the function \code{bug.report()}.
-
 
135
  For reports on \R this will open the Web page at
-
 
136
  \url{https://bugs.r-project.org/}: for a contributed package it will
-
 
137
  open the package's bug tracker Web page or help you compose an email
-
 
138
  to the maintainer.
-
 
139
 
-
 
140
  Bug reports on \strong{contributed packages} should not be sent to the
-
 
141
  R bug tracker: rather make use of the \code{package} argument.
-
 
142
}
-
 
143
\seealso{
48
\seealso{
144
  \code{\link{help.request}} which you possibly should try
49
  \code{\link{help.request}} which you possibly should try
145
  \emph{before} \code{bug.report}.
50
  \emph{before} \code{bug.report}.
146
 
51
 
147
  \code{\link{create.post}}, which handles emailing reports.
52
  \code{\link{create.post}}, which handles emailing reports.
148
 
53
 
149
  The R FAQ, also \code{\link{sessionInfo}()} from which you may add
54
  \code{\link{sessionInfo}()} from which you may add to the bug report.
-
 
55
 
-
 
56
  Chapter \manual{R-FAQ}{R Bugs} for more information on when and how to
150
  to the bug report.
57
  report a bug in \R.
151
}
58
}
152
\author{This help page is adapted from the Emacs manual and the R FAQ}
-
 
153
\keyword{utilities}
59
\keyword{utilities}
154
\keyword{error}
60
\keyword{error}