• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1---
2name: Bug report
3about: Create a report to help us improve
4
5---
6
7First of all, when reporting a bug, give the issue a descriptive title.
8
9In the body of the issue, optionally give a free-form text description of the
10bug. Give the context necessary for others to understand the problem.
11
12Then, provide information necessary to reproduce the bug.
13Omit sections that are irrelevant for the bug report, but note that information
14like git revision, build platform, build command, and test case are required in
15almost all cases.
16
17###### JerryScript revision
18Identify the git hash(es) or tag(s) where the issue was observed.
19
20###### Build platform
21Name the build platform. E.g., copy the output of
22`echo "$(lsb_release -ds) ($(uname -mrs))"` (on Linux),
23`echo "$(sw_vers -productName) $(sw_vers -productVersion) ($(uname -mrs))"` (on macOS), or
24`python -c "import platform; print(platform.platform())"` (should work everywhere).
25
26###### Build steps
27Describe how to build JerryScript. Give all the necessary details of the build
28(e.g., environment variables, command(s), profile, command line options, etc.).
29
30E.g.:
31```sh
32tools/build.py --clean --debug
33```
34Or:
35```sh
36mkdir build && cmake -H. -Bbuild && make -C build
37```
38
39Even if the bug was originally observed when JerryScript was integrated into a
40larger project, try to reproduce it with as few external code as possible,
41preferably by building the `jerry` command line tool.
42
43###### Build log
44Copy the build log if the reported issue is a build problem. Do a verbose build
45if necessary. Try and trim the log to relevant parts.
46
47###### Test case
48Give the JavaScript input that should be passed to the engine to trigger the
49bug. Try and post a reduced test case that is minimally necessary to reproduce
50the issue. As a rule of thumb, use Markdown's fenced code block syntax for the
51test case. Attach the file (renamed to .txt) if the test case contains
52'problematic' bytes that cannot be copied in the bug report directly.
53
54###### Execution platform
55Unnecessary if the same as the build platform.
56
57###### Execution steps
58List the steps that trigger the bug.
59
60E.g., if a bug is snapshot-specific:
61```sh
62build/bin/jerry-snapshot generate -o testcase.js.snapshot testcase.js
63build/bin/jerry --exec-snapshot testcase.js.snapshot
64```
65
66Unnecessary if trivial (i.e., `build/bin/jerry testcase.js`).
67
68###### Output
69Copy relevant output from the standard output and/or error channels.
70
71###### Backtrace
72In case of a crash (assertion failure, etc.), try to copy the backtrace from a
73debugger at the point of failure.
74
75###### Expected behavior
76Describe what should happen instead of current behavior. Unnecessary if trivial
77(e.g., in case of a crash, the trivial expected behavior is not to crash).
78