FindRightPackage

Differences between revisions 1 and 118 (spanning 117 versions)
Revision 1 as of 2006-03-22 23:14:13
Size: 1169
Editor: 84-73-146-178
Comment: help bug reporters choose the right package to file on
Revision 118 as of 2011-11-08 00:47:07
Size: 11746
Editor: brian-murray
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Find the right program == <<Include(BugSquad/Header)>>
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents>>||
Line 3: Line 4:
Sometimes it is not so clear to which package the program belongs, for instance if you start the program through a menu. To ensure that the right people see a bug report, every report should identify the software [[Package|package]] related to the bug. When running `ubuntu-bug` (see [[https://help.ubuntu.com/community/ReportingBugs | ReportingBugs]]), one must sometimes specify the package manually. This page contains information to help identify the related package.
Line 5: Line 6:
For a running program, this can be tried:
In a terminal window (Applications -> Accessories -> Terminal) run the command '''ps ax''' or '''ps aux''' to display all processes running. You can also run '''top''' which displays the processes using the CPU the most.
== Common Scenarios ==
Line 8: Line 8:
If you are not sure you have found the right process, try these commands
before and after starting the program, and see what new processes have appeared.
In most situations, you can identify the problem package based on the scenario in which the bug occurs. Below is a list of common scenarios and instructions to find the related package.
Line 11: Line 10:
Sometimes programs leave error messages in .xsession-errors. Have a look. === Applications ===
Line 13: Line 12:
== Find the binary package ==
Once you have identified the process name you can try '''type <process name>''' or '''locate <process name>''' to get the full path of the program. Then run '''dpkg -S <full path of the program>''' to see which binary package it belongs to.
Applications in released versions of Ubuntu no longer have a "Report a Problem" menu item. Thus, you must first determine the executable name for the application and then find the package to which the executable belongs.

==== Apport ====

Since Natty Narwhal (11.04) you can call ubuntu-bug with -w or --window which makes it possible for you to click on the window of the application and apport will identify the package name by itself.

==== Determining the Executable Path ====

If you launched the application through the Main Menu, you can use the menu editor to find which command it runs:

===== GNOME =====

 1. Launch System -> Preferences -> Main Menu.
 2. Select the item for the application. (For example, System -> Preferences -> Display.)
 3. Click "Properties" button.
 4. Write down the "Command" value. This is the executable name. (In this case, "gnome-display-properties".)
 5. Open a Terminal (Applications -> Accessories -> Terminal).
 6. In the terminal, type `which [executable name]`. (In this case, `which gnome-display-properties`.)
 7. Write down the value printed on the terminal. This is the full executable path.

 {{attachment:gnome-launcher-props.png}}

===== KDE =====

 1. Open the Menu Editor by clicking on the K button (Kickoff Application Launcher) in the Desktop Panel with the right mouse button and selecting "Menu Editor".
 2. Select the item for the application. (For example, System -> Dolphin (File Manager))
 3. Write down the first value in the "Command" filed in the General tab. This is the executable name. (In this case, "dolphin".)
 4. Open a Terminal with Konsole (K -> Applications -> System -> Terminal).
 5. In the terminal, type `which <executable name>`. (In this case, `which dolphin`)
 6. Write down the value printed on the terminal. This is the full executable path.

 {{attachment:kde-menu-editor-dolphin.png}}

===== Any =====

If you did not launch the application through the Main Menu or cannot use the Menu Editor, you can use ''xprop'' to find the related executable.

 1. Launch the application.
 2. Open a Terminal (GNOME: Applications -> Accessories -> Terminal | KDE: K -> Applications -> System -> Terminal).
 3. In the terminal, type `xprop WM_CLASS`. Your mouse pointer should now turn to crosshairs.
 4. Click anywhere in the application's window.
 5. The terminal will now list a line like `WM_CLASS(STRING) = "terminator", "Terminator"`. Write down the first value ("terminator").
 6. In the terminal, type `locate -b "\[executable name]"`. (In this case, `locate -b "\terminator"`.) The backslash (\) is important!
 7. Write down the line printed on the terminal. (If there are multiple lines, use the first one.) This is the full executable path.

==== Finding the Package Name ====

After you have found the executable path, finding the package name is easy. Just run `dpkg -S [full executable path]`. For example, `dpkg -S /usr/bin/gnome-display-properties`. This will print the package name: you're done!

Another tool useful when triaging bugs is '''apt-file''': `apt-file search terminator`. This utility works like `dpkg -S` but searches all packages instead of only those you have installed.

=== When installing Ubuntu (or Derivatives) ===

If you encounter a bug when installing Ubuntu, Kubuntu, Edubuntu, or other derivatives, the bug is probably one of a small set of packages.

 * If you encounter the bug when ''booting'' the Live CD (or alternative installer), file the bug [[#Kernel|against the kernel]].
 * If you encounter the bug when installing Ubuntu from the Desktop CD (most common method), the package is `ubiquity`. (See [[DebuggingUbiquity/AttachingLogs]].)
 * If you encounter the bug when installing from the Alternate or Server CDs, the package is `debian-installer`.

=== When upgrading Ubuntu (or derivatives) ===

If you encounter a bug while upgrading Ubuntu (for example, from 11.04 to 11.10), the problem package is `update-manager`. Please attach the log files contained in "/var/log/dist-upgrade/".

=== During boot ===

If you encounter a bug with the boot splash screen (typically an Ubuntu logo displayed during boot), the package is:
 
 * `plymouth` since 10.04 Lucid Lynx

If the screen goes blank after the splash screen (about the time the login screen should come up), report the bug against `xorg`.

If the boot errors or freezes even in "recovery mode", the bug should be reported against [[#Kernel|the kernel]].

=== At the login screen ===

If you encounter a bug at the login screen, the package is the display manager:

 * In Ubuntu 11.10, it is `LightDM`. In previous versions of Ubuntu and Edubuntu it was `gdm`.
 * In Xubuntu 11.10, it is `LightDM`. In previous versions of Xubuntu it was `gdm`.
 * In Kubuntu it is `kdm`.
 * In Lubuntu it is `lxdm`.

=== Graphical Environment ===

The Ubuntu graphical environment is provided by a combination of the Linux kernel and the X Window System (aka X.org).

The following symptoms typically are due to GPU issues in the kernel DRM driver:

 * Blank or solid-colored screen instead of login screen, or immediately after login
 * System freezes completely
 * Wrong default screen resolution

If you have any of the following symptoms, the issue is with X and the package to report against is `xorg`: (See [[X/Troubleshooting]] if you want to pin-point the problem.)

 * The graphical session terminates and returns to the login screen
 * Fonts extremely big or small

If your problem is with the actual desktop (for example, with desktop icons):

 * In Ubuntu and Edubuntu, the desktop is managed by the file browser, `nautilus`.

If your problem is with window management (for example, focus stealing);

 * If you are using compiz (visual effects), the package is `compiz`.
 * In Ubuntu and Edubuntu, the no-effects window manager is `metacity`.
 * In Xubuntu, the window manager is `xfwm4`.
 * In Kubuntu, the window manager is `kwin`.

If your problem is with the Administration authentication dialog (where you enter your password), the package is:

 * `gksu` in Ubuntu and Edubuntu
 * `kdesudo` in Kubuntu

If your problem is with the Notification System, the package is:

 * `notify-osd` in Ubuntu, Xubuntu and Edubuntu

=== Printing ===

All printing in Ubuntu is done via the Common UNIX Printing System (CUPS). The package is `cups`. (See also [[DebuggingPrintingProblems]].)

=== Sound ===

If your sound or headphone jack does not work correctly, report the issue against `alsa-driver` in 9.04 Jaunty Jackalope and above.

You might want to try [[https://help.ubuntu.com/community/SoundTroubleshooting|Sound Troubleshooting]] first.

=== Hardware Malfunctions ===

If a piece of hardware is malfunctioning, typically the problem package is [[#Kernel|the kernel]]. ''However'', if the problem is with a storage device (internal or external) in 9.10 Karmic Koala or above, problems should be reported with `ubuntu-bug storage`. (If triaging, see the "Use Storage Symptom" standard reply.)

=== Suspend, Hibernate, and Resume ===

Suspend, hibernate, and resume functionality is provided by three different packages:

 * `gnome-power-manager` (in Ubuntu and Edubuntu) is responsible for setting policy on when the system should be suspended or resumed and signalling the system to do so.
 * `pm-utils` is responsible for getting the system into a state where it can be suspended or hibernated, and handling any cleanup after resume.
 * [[#Kernel|The kernel]] implements the actual suspending and resuming and is generally the responsible package when there are any hardware-related failures after resume.

If you are unsure which package is causing the problem, a safe bet is the kernel, ''but make the bug title includes "suspend" or "hibernate"''.

=== Hotkeys ===

Hotkey handling, such as volume and suspend keys, involves multiple packages. See [[Hotkeys/Troubleshooting]] for specific packages involved and troubleshooting instructions. If a hotkey does nothing or is mapped to a wrong function, the problem package is likely `udev`.

=== Ubuntu mirror issues ===

Issues with Ubuntu [[Mirrors]] (the servers from which you download packages) should be reported to mirrors@ubuntu.com and ''not'' on Launchpad.

== Package-specific instructions ==

Some packages have changed names through versions of ubuntu and others need special care while reporting. This section lists these caveats.

=== Firefox ===

Please put Firefox bugs in the appropriate package depending on the version of Firefox.

Currently we have:
 * firefox-3.0 - the default version in Hardy (8.04)
 * firefox - the default version in Lucid (10.04) -- This is Firefox 3.6 and up

=== Epiphany ===

Bugs in the Epiphany GNOME web browser should be filed against `epiphany-browser`, not `epiphany` ([[https://lists.ubuntu.com/archives/ubuntu-bugsquad/2010-May/002202.html|BugSquad discussion]]).
Line 18: Line 179:
Go to https://launchpad.net/distros/ubuntu where you can search for the source package from which the binary package is compiled. The source package is the package you should select when filing a bug. Many "binary packages" (that is, packages containing the software you run) may be built from the same "source package" (developers' source code), so bug reports are assigned to ''source'' packages and not binary packages. In rare cases, you must manually identify the source package from a binary package.

Go to https://launchpad.net/ubuntu/+search where you can search for the source package from which the binary package is compiled. The source package is the package you should select when filing a bug.

 ''Example: gnome-control-center belongs to the gnome-system-tools source package''

Alternatively, you can use '''apt-cache show kdm''' and look for the '''Source:''' line to find the source package.

== Assigning already filed bugs ==

A short introductory [[ http://ubuntudevelopers.blip.tv/file/2688450/ | video ]], narrated by Dereck Wonnacott.
  * '''Warning''': This video advises triagers to assign bugs to the {{{acpi-support}}} package. This is wrong! Recent versions of Ubuntu use {{{pm-utils}}} for suspend-resume, {{{acpi-support}}} is not involved in this process. Do not assign bugs to this package, they will only have to be triaged again by a much smaller group of developers. Help is needed to get the above video updated.

You can help right away with the [[https://bugs.launchpad.net/ubuntu/+bugs?field.searchtext=&orderby=-datecreated&field.status%3Alist=NEW&field.importance%3Alist=UNDECIDED&assignee_option=none&field.assignee=&field.bug_reporter=&field.bug_contact=&field.bug_commenter=&field.subscriber=&field.component-empty-marker=1&field.status_upstream-empty-marker=1&field.omit_dupes.used=&field.omit_dupes=on&field.has_patch.used=&field.has_cve.used=&field.tag=&field.tags_combinator=ANY&field.has_no_package.used=&field.has_no_package=on&search=Search|bugs with no home]]. Most simply need to be associated with the appropriate package.

----
[[CategoryBugSquad]]

To ensure that the right people see a bug report, every report should identify the software package related to the bug. When running ubuntu-bug (see ReportingBugs), one must sometimes specify the package manually. This page contains information to help identify the related package.

Common Scenarios

In most situations, you can identify the problem package based on the scenario in which the bug occurs. Below is a list of common scenarios and instructions to find the related package.

Applications

Applications in released versions of Ubuntu no longer have a "Report a Problem" menu item. Thus, you must first determine the executable name for the application and then find the package to which the executable belongs.

Apport

Since Natty Narwhal (11.04) you can call ubuntu-bug with -w or --window which makes it possible for you to click on the window of the application and apport will identify the package name by itself.

Determining the Executable Path

If you launched the application through the Main Menu, you can use the menu editor to find which command it runs:

GNOME
  1. Launch System -> Preferences -> Main Menu.

  2. Select the item for the application. (For example, System -> Preferences -> Display.)

  3. Click "Properties" button.
  4. Write down the "Command" value. This is the executable name. (In this case, "gnome-display-properties".)
  5. Open a Terminal (Applications -> Accessories -> Terminal).

  6. In the terminal, type which [executable name]. (In this case, which gnome-display-properties.)

  7. Write down the value printed on the terminal. This is the full executable path.

    gnome-launcher-props.png

KDE
  1. Open the Menu Editor by clicking on the K button (Kickoff Application Launcher) in the Desktop Panel with the right mouse button and selecting "Menu Editor".
  2. Select the item for the application. (For example, System -> Dolphin (File Manager))

  3. Write down the first value in the "Command" filed in the General tab. This is the executable name. (In this case, "dolphin".)
  4. Open a Terminal with Konsole (K -> Applications -> System -> Terminal).

  5. In the terminal, type which <executable name>. (In this case, which dolphin)

  6. Write down the value printed on the terminal. This is the full executable path.

    kde-menu-editor-dolphin.png

Any

If you did not launch the application through the Main Menu or cannot use the Menu Editor, you can use xprop to find the related executable.

  1. Launch the application.
  2. Open a Terminal (GNOME: Applications -> Accessories -> Terminal | KDE: K -> Applications -> System -> Terminal).

  3. In the terminal, type xprop WM_CLASS. Your mouse pointer should now turn to crosshairs.

  4. Click anywhere in the application's window.
  5. The terminal will now list a line like WM_CLASS(STRING) = "terminator", "Terminator". Write down the first value ("terminator").

  6. In the terminal, type locate -b "\[executable name]". (In this case, locate -b "\terminator".) The backslash (\) is important!

  7. Write down the line printed on the terminal. (If there are multiple lines, use the first one.) This is the full executable path.

Finding the Package Name

After you have found the executable path, finding the package name is easy. Just run dpkg -S [full executable path]. For example, dpkg -S /usr/bin/gnome-display-properties. This will print the package name: you're done!

Another tool useful when triaging bugs is apt-file: apt-file search terminator. This utility works like dpkg -S but searches all packages instead of only those you have installed.

When installing Ubuntu (or Derivatives)

If you encounter a bug when installing Ubuntu, Kubuntu, Edubuntu, or other derivatives, the bug is probably one of a small set of packages.

  • If you encounter the bug when booting the Live CD (or alternative installer), file the bug against the kernel.

  • If you encounter the bug when installing Ubuntu from the Desktop CD (most common method), the package is ubiquity. (See DebuggingUbiquity/AttachingLogs.)

  • If you encounter the bug when installing from the Alternate or Server CDs, the package is debian-installer.

When upgrading Ubuntu (or derivatives)

If you encounter a bug while upgrading Ubuntu (for example, from 11.04 to 11.10), the problem package is update-manager. Please attach the log files contained in "/var/log/dist-upgrade/".

During boot

If you encounter a bug with the boot splash screen (typically an Ubuntu logo displayed during boot), the package is:

  • plymouth since 10.04 Lucid Lynx

If the screen goes blank after the splash screen (about the time the login screen should come up), report the bug against xorg.

If the boot errors or freezes even in "recovery mode", the bug should be reported against the kernel.

At the login screen

If you encounter a bug at the login screen, the package is the display manager:

  • In Ubuntu 11.10, it is LightDM. In previous versions of Ubuntu and Edubuntu it was gdm.

  • In Xubuntu 11.10, it is LightDM. In previous versions of Xubuntu it was gdm.

  • In Kubuntu it is kdm.

  • In Lubuntu it is lxdm.

Graphical Environment

The Ubuntu graphical environment is provided by a combination of the Linux kernel and the X Window System (aka X.org).

The following symptoms typically are due to GPU issues in the kernel DRM driver:

  • Blank or solid-colored screen instead of login screen, or immediately after login
  • System freezes completely
  • Wrong default screen resolution

If you have any of the following symptoms, the issue is with X and the package to report against is xorg: (See X/Troubleshooting if you want to pin-point the problem.)

  • The graphical session terminates and returns to the login screen
  • Fonts extremely big or small

If your problem is with the actual desktop (for example, with desktop icons):

  • In Ubuntu and Edubuntu, the desktop is managed by the file browser, nautilus.

If your problem is with window management (for example, focus stealing);

  • If you are using compiz (visual effects), the package is compiz.

  • In Ubuntu and Edubuntu, the no-effects window manager is metacity.

  • In Xubuntu, the window manager is xfwm4.

  • In Kubuntu, the window manager is kwin.

If your problem is with the Administration authentication dialog (where you enter your password), the package is:

  • gksu in Ubuntu and Edubuntu

  • kdesudo in Kubuntu

If your problem is with the Notification System, the package is:

  • notify-osd in Ubuntu, Xubuntu and Edubuntu

Printing

All printing in Ubuntu is done via the Common UNIX Printing System (CUPS). The package is cups. (See also DebuggingPrintingProblems.)

Sound

If your sound or headphone jack does not work correctly, report the issue against alsa-driver in 9.04 Jaunty Jackalope and above.

You might want to try Sound Troubleshooting first.

Hardware Malfunctions

If a piece of hardware is malfunctioning, typically the problem package is the kernel. However, if the problem is with a storage device (internal or external) in 9.10 Karmic Koala or above, problems should be reported with ubuntu-bug storage. (If triaging, see the "Use Storage Symptom" standard reply.)

Suspend, Hibernate, and Resume

Suspend, hibernate, and resume functionality is provided by three different packages:

  • gnome-power-manager (in Ubuntu and Edubuntu) is responsible for setting policy on when the system should be suspended or resumed and signalling the system to do so.

  • pm-utils is responsible for getting the system into a state where it can be suspended or hibernated, and handling any cleanup after resume.

  • The kernel implements the actual suspending and resuming and is generally the responsible package when there are any hardware-related failures after resume.

If you are unsure which package is causing the problem, a safe bet is the kernel, but make the bug title includes "suspend" or "hibernate".

Hotkeys

Hotkey handling, such as volume and suspend keys, involves multiple packages. See Hotkeys/Troubleshooting for specific packages involved and troubleshooting instructions. If a hotkey does nothing or is mapped to a wrong function, the problem package is likely udev.

Ubuntu mirror issues

Issues with Ubuntu Mirrors (the servers from which you download packages) should be reported to mirrors@ubuntu.com and not on Launchpad.

Package-specific instructions

Some packages have changed names through versions of ubuntu and others need special care while reporting. This section lists these caveats.

Firefox

Please put Firefox bugs in the appropriate package depending on the version of Firefox.

Currently we have:

  • firefox-3.0 - the default version in Hardy (8.04)
  • firefox - the default version in Lucid (10.04) -- This is Firefox 3.6 and up

Epiphany

Bugs in the Epiphany GNOME web browser should be filed against epiphany-browser, not epiphany (BugSquad discussion).

Find the source package

Many "binary packages" (that is, packages containing the software you run) may be built from the same "source package" (developers' source code), so bug reports are assigned to source packages and not binary packages. In rare cases, you must manually identify the source package from a binary package.

Go to https://launchpad.net/ubuntu/+search where you can search for the source package from which the binary package is compiled. The source package is the package you should select when filing a bug.

  • Example: gnome-control-center belongs to the gnome-system-tools source package

Alternatively, you can use apt-cache show kdm and look for the Source: line to find the source package.

Assigning already filed bugs

A short introductory video, narrated by Dereck Wonnacott.

  • Warning: This video advises triagers to assign bugs to the acpi-support package. This is wrong! Recent versions of Ubuntu use pm-utils for suspend-resume, acpi-support is not involved in this process. Do not assign bugs to this package, they will only have to be triaged again by a much smaller group of developers. Help is needed to get the above video updated.

You can help right away with the bugs with no home. Most simply need to be associated with the appropriate package.


CategoryBugSquad

Bugs/FindRightPackage (last edited 2021-07-08 09:32:48 by guiverc)