Bug Tracker

From Second Life Wiki
Revision as of 10:37, 31 December 2007 by Torley Linden (talk | contribs)
Jump to navigation Jump to search

The JIRA Issue Tracker is not for technical support-type requests. If you're looking for account-specific help, please use our support resources.

NOTE: All submissions to this site (JIRA included) are governed by the Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you've read, understood, and agreed to those terms.

What is the Issue Tracker or PJIRA?

The public issue tracker, known as "Public JIRA", "PJIRA", or just "JIRA", is an issue-tracking project management tool made by Atlassian that is located at http://jira.secondlife.com. It's used by the Second Life open source initiative to organize issues (i.e. bugs and feature requests) submitted by the Second Life community into a searchable database. You, too, can submit issues you find when using the open source or standard versions of Second Life. Please familiarize yourself with the information in this page before proceeding to JIRA.

How it works

Bug reports created in JIRA are composed of a description of the problem and, if possible, a reproduction. New features are composed of descriptions of the proposed feature and how it should work. Both types of issues then get contributions from other users, such as better or simpler descriptions and reproductions, and popular issues accumulate votes from other users. Programmers in the open source community can attach "patches", changes to the code that fix or implement the issue. These votes, as well as events like bug triages, help prioritize the issues. Those which are acknowledged are "imported" into the Lindens' private copy of JIRA.

After the issue gets Linden attention, others can still continue to help.:

  • Once the changes are completed and awaiting release to the public, the bug is resolved as "Fix Pending".
  • When the change has been made available, it's resolved as "Fixed".
  • Generally, after being confirmed by Linden Lab's Quality Assurance Team and our community, its status is changed from "Resolved" to "Closed".

In addition to "Fix Pending" and "Fixed", an issue can also be resolved or closed if it appears to be a duplicate of another issue, unreproducible, misfiled, not a bug, incomplete, etc.

Second Life JIRA FAQ

Caveats

The JIRA Issue Tracker is not for technical support, so please do not enter issues like:

Entering misfiled issues which aren't actionable and don't contain clear instructions (see below for more info) makes it harder for your fellow Residents to use the Issue Tracker. If you're looking for personal assistance, please send your message to the right place by contacting Support (towards the bottom of the page), and be sure to include useful details to help us help you.

Before reporting issues, we recommend you thoroughly search the support resources first and look for the latest news and status reports on the Official Linden Blog.

If you cannot log-in after *repeated attempts* this is regarded by Linden Labs as a Showstopper Issue. At present, JIRA is the approved way for Linden Lab to discover widespread log-in difficulties, it will be dealt with promptly, but you should not post a separate issue that you cannot log in, add a comment or vote to the first cannot log-in issue raised on that day.

Logging in

  • Visit https://jira.secondlife.com and click the 'Log In' link on the top right of the page
  • On the login page enter your SecondLife Username and Password.
  • This will now load the main Jira page you saw before but it will have more options ie Create Issue and a link to edit your profile as well as some pre-defined filters.

Bugs & New Features

  • Please read QA Bug Submission Guidelines before submitting a a bug.
  • You can also propose new features through JIRA. (JIRA is emerging to succeed the Feature Voting Tool with your help, because it has better search and parallels the way we Lindens internally organize issues. Plus, you can discuss with other Residents.)

User profile

  • Each JIRA user has a profile. The profile consists of your Username (SL name), Fullname (in our case, also your SL name), and all of the JIRA groups you belong to. For most people, this means "jira-users."
  • The email address associated with your account shall remain anonymous to other users. The address is not visible or configurable at this time. Direct import of your email address from Second Life's database is currently disabled.
  • The JIRA profile is not editable because allowing changes would introduce conflicts with your Second Life account. If you wish to edit account information such as your email address, please login to the account management page at secondlife.com.

Customizing preferences

  • If you want to show more issues per page or change the language JIRA's displayed in, Update User Preferences after logging in. (Note that e-mail features for newer users may not be available; see WEB-335 to track.)

Projects and Components

  • Projects are used to categorize issues into logical groups.
  • Components are used to specify which part of a system the issue affects. In other words, what is the scope of the problem within a project.
Projects and Components in JIRA
Viewer (VWR) Service (SVC) Website (WEB) Miscellaneous (MISC)
  • Avatar/Character
  • Building (in-world)
  • Chat/IM
  • Crashes
  • Documentation
  • Graphics
  • Internationalization
  • Inventory
  • Land
  • Linden Dollars (L$)
  • Missing Content
  • Performance
  • Permissions
  • Physics
  • Scripting
  • Sound
  • Source Code
  • Stipends
  • User Interface
  • Voice
  • HTTPRequest
  • Internationalization
  • Performance
  • Physics
  • Scripts
  • Simulation
  • Teleport
  • XML-RPC
  • Account summary
  • blog.secondlife.com
  • Developer Directory
  • Events
  • forums.secondlife.com
  • Friends Online
  • Interactive map
  • jira.secondlife.com
  • Land Store
  • lindenlab.com
  • Lindex
  • New account creation
  • Public Data Feeds
  • Public Metrics & Charts
  • secondlife.com
  • teen.secondlife.com
  • wiki.secondlife.com
  • Miscellaneous
Second Life Viewer (VWR)
Issues pertaining to the Second Life viewer are reported under this project.
Examples:
  • "My avatar clothing is all black after installing a video driver update" (Component = Avatar/Character)
  • "Objects in my Inventory do not remain sorted in the correct order after logging out and back in again" (Component = Inventory)
Second Life Service (SVC)
Issues pertaining to the Second Life service are reported here.
Examples:
  • "Server performance decreases when several avatars teleport into the region at once" (Component = Performance and/or Teleport)
  • "My scripted objects are not able to talk to the outside world after Second Life grid downtime" (Component = Scripts).
Second Life Website (WEB)
Issues pertaining to the Second Life website are in this project.
Examples:
  • "Wiki prevents login for users with a dash in their name" (Component = wiki.secondlife.com)
  • "jira.secondlife.com always forces me to authenticate even if I save my login information" (Component = jira.secondlife.com).
Second Life Miscellaneous (MISC)
Any other type of issue should be reported in the MISC project.
Example:
  • "The TOS does not allow me to edit the viewer source code" (Component = Miscellaneous)

Security Issues -- a.k.a "the missing Fifth Project"

Issues pertaining to the security of Second Life should be emailed to the Second Life Security mailing list rather than posted on jira.secondlife.com. Emailing them directly to Linden Lab helps us keep Second Life secure!

See security issues page for more information about submitting issues and collecting bounties for responsibly reporting valid security issues.

Who is WorkingOnIt Linden?

When an issue is being worked on, it may be assigned to "WorkingOnIt Linden" to mark its status. Any Linden has access to the account. See User:WorkingOnIt Linden for details.

Found a bug on JIRA itself!

When you found a bug or other problem (including feature request) on the JIRA itself, Lindens want you to file it on the JIRA run by Atlassian (the developer of JIRA software) by yourself, not thgough the SL public JIRA. It is available on http://jira.atlassian.com

Lindens also want you to put a link to the issue you filed here if you do so.

Searching

Parameters

Perform a search

  • First, click on the "Find Issues" link at the top of the screen.
  • Next, enter the parameters you wish to search for in the search pane on the left-hand side of the screen.
  • As an example, if I wish to search for issues that have not been resolved containing the word "avatar", I would choose the following parameters:
    • Project = all projects
    • Text search = avatar
    • Resolutions = Unresolved
  • Another sample search would be for any issues that are fixed in the last week in a particular project. For example, I want to find all bugs in the Second Life Viewer project that were resolved between February 1, 2007 and February 14, 2007. I would enter the following parameters:
    • (Optional: Click the "New" link in the search pane to clear settings from any previous searches)
    • Project = Second Life Viewer
    • Resolution = Fixed
    • Updated After = January 31, 2007
    • Updated Before = February 15, 2007

Saving a search as a Filter

  • A search filter is a saved search that you may share with others.
  • After performing a search as described above, you may save it as a filter by clicking the "Save" link in the Search pane.
  • Name the filter something meaningful, for example "Unresolved avatar bugs in all projects."
  • Now you can access the search and run it at any time by clicking the "Filter" link in the top right-hand side of the page. This saves time and effort, especially if you frequently run the same complex search and want a handy shortcut!

Creating bug reports and feature requests

If you feel lost and don't know where to begin, see the easy starter guide, "How to report bugs better".

Stay recent

You can check the Release Notes or Beta Release Notes to stay current with recent changes to Second Life. Sometimes, one can discover the context around a new bug, or find that a change was intentional. For example, not being able to sell your land for L$0 is a feature, not a bug.

Also, you should make sure your video drivers are up to date. These are normally obtained from the website of your graphics hardware manufacturer, usually either the NVIDIA official site or the ATI official site. The Omega Drivers are often-used modified versions of those drivers.

Determine if the issue has already been submitted

Avoiding duplicate issues is very important. Sorting through duplicates wastes time and effort (for both Linden Lab staff and fellow residents), and it causes bugs and feature proposals to seem like they are getting less attention than they actually are. It is more effective to concentrate efforts about the same problem in the same issue, especially since more-active issues get greater priority.

After logging in, you will see the Dashboard. Here you have access to some search filters which give you access to the most up-to-date information on submitted issues. For example, you can click on ones which show all unresolved (unfixed or untested) issues within each project, then begin a text search from there (by editing the filter). Of course you may create and save your own filters at any time, or simply run a new search from the Quick Search box. Either way, it is best practice to search for issues you wish to report in several ways before submitting them!

If you find that your issue was already submitted, you can still do several things to help:

  • Leave a comment containing additional information or details
  • If it's a bug, possibly another way to reproduce the bug
  • Vote for the issue to express that you feel it is important.

The more good information there is about a specific issue, the better chance it has for a quick resolution.

Guidelines

  • Submit security-related issues and exploits directly to the security team. Exploits are bugs that could be used to get an advantage over others, unauthorized access to scripts, unauthorized copying or transferring or modifying of objects that you didn't create (also called 'permissions' bugs), and other bugs that could potentially cause a compromise of the grid or a resident's privacy. For the fastest results, contact a Linden in the group "Bug Hunters", and e-mail your report to security@lindenlab.com. See the article on security issues.
  • If your issue is urgent (such as lost content), and you have a Premium Account use the phone or live text support. You might get a faster response if you also submit a ticket through the support portal, but usually it take over seven days before your ticket is opened.
  • When describing the bug, if possible, try to omit Resident names or other personally-identifying information. If the bug seems to affect only yourself or very few people, you should consider other ways to find technical support via the support portal.
  • The easier we can reproduce the bug, the more quickly it can get fixed. For example, instead of saying "I crash when I upload random things", the reproduction should be laid out in specific steps:
    Example:
    • Click File > Upload Image ($L10)...
    • Choose a .TXT file instead of a .JPG file
    • Click the Open button
Try sending your writeup to a friend, to see if they can follow it! If your friend can follow the steps, chances are we can too!
  • Consider uploading snapshots, images, videos, crash logs, or any other related files (10MB limit each). In the above example, you might consider uploading the files you tried to upload that caused the crash.

Submitting a bug

To create a new bug in JIRA, do the following:

  • Click the "Create New Issue" link in the blue navigation bar towards the top of the screen. (If you don't see this, make sure you are logged in to JIRA.)

On the first page:

  • Select a project that most closely matches the kind of bug you are submitting - see #Projects and Components.
    • Reminder: you should submit security-related issues directly to the security team. See security issues.
  • Select "Bug" as your issue type.
  • Click "Next".

On the last page:

  • Enter a concise but descriptive summary (title) for the issue
  • Select the priority (severity) of the bug. For example, a "blocker" bug might render the program useless, but a "small" bug might be merely cosmetic. Click the icon next to the dropdown for more details.
  • Select components that narrow the scope of the bug. You can select multiple components by Ctrl-clicking.
  • Choose the versions that the bug effects. You should only select those versions where you have observed the bug, and only select a "first look" version if the bug only applies to First Look.
  • The Linden Lab Issue ID should generally be left blank unless you are a Linden. If you want to reference a support ticket number, that should go in the description, not here.
  • Describe the environment in which the problem occurs, if you have noticed that the bug only occurs with certain hardware or software configurations. One way to find such information is the About box inside Second Life. You can guesstimate whether certain facts might be relevant (such as graphics card model for graphics problems, or headset models for voice features) and look for further help in narrowing things down. If configuration doesn't seem to matter, you can leave it blank.
    • For example, "Only happens with Mac OS X 10.4.1," or "Seen only with NVIDIA GeForce Go 7800 card," etc.
  • Enter a detailed description of the issue, and be sure to include:
    • Steps to reliably reproduce the bug (how to make the bug happen), or at least a description of what seems to lead to the bug, in some detail. Try to make this as simple as possible while still being specific enough to reproduce the bug. Simpler reproductions make it easier to narrow down the causes.
    • Observed results (what happens when the bug occurs)
    • Expected results (what behavior you would have expected instead)
    • Anything else which you think might help, such as forum links or blog posts.
    • Again, be as detailed as possible without including personal information!
  • If you have a screenshot or video of the bug, or any other relevant file, you can attach it under attachment. Note that it has a 10MB size limit per file. You can also attach additional files later. (See Debug Help for various ways to provide such additional information.)
  • If you are a programmer and are attaching a patch for the source code, enter the source version the patch is against and check the patch attached box.
  • Finally, click "Create" to create the new issue.

Submitting a new feature

The process is similar to submitting a bug, with the following differences:

  • Select "New Feature" instead of "Bug" as your issue type.
  • Instead of a "reproduction", clearly describe the desired implementation and functionality of the new feature. Make sure it hasn't already been done — you can refer to release notes for historical context and read our blog to learn more about what we're doing next.

Voting for issues

You can vote for new features and bugs that you wish to see resolved, and view all issues by # of votes. JIRA uses approval voting, so you can vote for as many (or few) issues as you'd like, and you get 1 vote per issue.

Votes can readily be used as part of our prioritization process. Note that since we need to look at aspects such as feasibility and the time required for implementation, a highly-voted issue isn't necessarily going to be resolved ahead of a lesser-voted, but more doable one.

Return to check on issue status

Linden Lab will review issues submitted to jira.secondlife.com on a regular basis. The engineering team may require additional information from the issue reporter, or other contributors, so reviewing all of your created/commented issues regularly will be useful while email support in JIRA is disabled.

Also, when issues are resolved internally the external site will be updated as well, so check your issues for changes on a regular basis.

Issue States

Available states

Here is how Linden Lab is using the resolutions:

Open
This is an issue that belongs to the Assignee to resolve. The assignee may fix the issue, or kick the issue back to the reporter by marking it "Resolved" (see below)
In Progress
This is how a developer signals to everyone that he/she is working on the issue.
Reopened
same as "Open".
Resolved
This is an implicit assignment back to the reporter of the issue. It is not closed yet, but rather in a state of limbo that depends on the resolution. It's up to the Reporter to decide whether to reopen an issue, or close it.
Fixed
means that the bug is fixed in a public release of Second Life.
Fix Pending
means that the bug is fixed in a version of the code that should soon be publicly available.
Won't Fix
means that the assignee doesn't believe this issue should ever be fixed.
Duplicate
means that there's some other issue that describes the same problem/idea.
Needs More Info
this issue lacks information
Cannot Reproduce
we're applying this label pretty liberally. Please provide a detailed description of how to reproduce a problem. Issues that can't be reproduced will eventually be closed.
Misfiled
this issue doesn't belong in this issue tracker.
Closed
The final resting place.

What's the difference between the "Fixed" and "Fix Pending" resolutions?

It's simple:

  • "Fixed" means the fix is available in the live Second Life release, right now.
  • "Fix Pending" means the fix has been made within Linden Lab and has not been released publicly yet. It may need to undergo extra care, like quality assurance, or requires merging from a branch, before being available to you. Think of it as a "We're almost there... coming soon!" notice.

How do I help out?

Glad you asked!

Marking Duplicates

If you notice an newer issue that is a duplicate of an existing issue with a lot more comments, patches, or votes, feel free to choose "Resolve" and choose "Duplicate". But when you do this, please also choose "Link", and then say "This issue duplicates" and enter the main bug number. This lets everyone keep track of which bugs are duplicates of each other, and which bugs are reported more than others. This ensures that bugs that are often reported get the most attention, and also allows the duplicates to be reviewed from one central location, to ensure they are truly duplicates.

Resolving support issues

This one is best left to technically adept users that can spot the difference between a support issue and a bug -- it's not always a simple matter to figure out. You should at most "Resolve" a report that seems to be a support issue. "Resolving" an issue puts the responsibility back on the reporter to provide more information on why the report isn't a support issue, and is indeed a reproducible bug that an entire class of user experiences.

Resolving bugs that you can't reproduce

If you do exactly what they say in the bug, with the same environment, and can't reproduce the bug, you should resolve the bug. Be careful, if a bug is related to graphics rendering, and you do not have the same video card, for example, that is not the same environment and you can't make this determination. Again this is also best left to technically adept users.

Reproducing bugs

This one is very important! If you can create a step-by-step list to reproduce the bug in the bug report, this helps Linden Lab concentrate on bugs that can be verifiably fixed. Unless a bug can be reproduced, it is impossible to know if it has been fixed or not. Do what the bug reporter said they were doing, write a detailed step-by-step list of things you did to cause the bug to happen, and add it to the bug saying that you have successfully reproduced the bug. Such bugs with solid reproductions get higher priority in the development process, and help the Bug Triage Team work more efficiently.

Related resources

Want to learn more about our Issue Tracker?

  • Issue Tracker Forum Transcript - Info from Rob and Aric Linden on why we have an Issue Tracker, its behind-the-scenes workings, and answers to various questions.