DebuggingEvolution

Differences between revisions 1 and 13 (spanning 12 versions)
Revision 1 as of 2007-09-04 17:09:20
Size: 4140
Editor: pool-71-170-39-244
Comment:
Revision 13 as of 2008-02-20 09:44:26
Size: 8188
Editor: pool-71-164-230-69
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= Introduction = = Introduction (work in progress) =
Line 7: Line 7:
 1. Evolution Data Server  '''1. Evolution Data Server'''
       || evolution-data-server||evolution database backend server||
       ||evolution-data-server-common||architecture independent files for Evolution Data Server||
       ||evolution-data-server-dbg||evolution database backend server with debugging symbols||
       ||evolution-data-server-dev||Development files for evolution-data-server (meta package)||
       ||libcamel<version>||The Evolution MIME message handling library||
       ||libcamel<version>-dev||Development files for libcamel||
       ||libebook<version>||Client library for evolution address books||
       ||libebook<version>-dev||Client library for evolution address books (development files)||
       ||libecal<version>||Client library for evolution calendars||
       ||libecal<version>-dev||Client library for evolution calendars (development files)||
       ||libedata-book<version>||Backend library for evolution address books||
       ||libedata-book<version>-dev||Backend library for evolution address books (development files)||
       ||libedata-cal<version>||Backend library for evolution calendars||
       ||libedata-cal<version>-dev||Backend library for evolution calendars (development files)||
       ||libedataserver<version>||Utility library for evolution data servers||
       ||libedataserver<version>-dev||Utility library for evolution data servers (development files)||
       ||libedataserverui<version>||GUI utility library for evolution data servers||
       ||libedataserverui<version>-dev||GUI utility library for evolution data servers (development files)||
       ||libegroupwise<version>||Client library for accessing groupwise POA through SOAP interface||
       ||libegroupwise<version>-dev||Development files for libegroupwise||
       ||libexchange-storage<version>||Backend library for evolution calendars||
       ||libexchange-storage<version>-dev||Backend library for evolution calendars (development files)||
Line 9: Line 31:
    Source package:
        evolution-data-server
    Generated binary packages:
        evolution-data-server - evolution database backend server
        evolution-data-server-common - architecture independent files for Evolution Data Server
        evolution-data-server-dbg - evolution database backend server with debugging symbols
        evolution-data-server-dev - Development files for evolution-data-server (meta package)
        libcamel1.2-10 - The Evolution MIME message handling library
        libcamel1.2-dev - Development files for libcamel
        libebook1.2-9 - Client library for evolution address books
        libebook1.2-dev - Client library for evolution address books (development files)
        libecal1.2-7 - Client library for evolution calendars
        libecal1.2-dev - Client library for evolution calendars (development files)
        libedata-book1.2-2 - Backend library for evolution address books
        libedata-book1.2-dev - Backend library for evolution address books (development files)
        libedata-cal1.2-6 - Backend library for evolution calendars
        libedata-cal1.2-dev - Backend library for evolution calendars (development files)
        libedataserver1.2-9 - Utility library for evolution data servers
        libedataserver1.2-dev - Utility library for evolution data servers (development files)
        libedataserverui1.2-8 - GUI utility library for evolution data servers
        libedataserverui1.2-dev - GUI utility library for evolution data servers (development files
        libegroupwise1.2-13 - Client library for accessing groupwise POA through SOAP interface
        libegroupwise1.2-dev - Development files for libegroupwise
        libexchange-storage1.2-3 - Backend library for evolution calendars
        libexchange-storage1.2-dev - Backend library for evolution calendars (development files)
 2. Evolution
Evolution-data-server components are used elsewhere within Gnome. As a result, some of the packages can be installed even if Evolution itself is not installed.
Line 36: Line 33:
 1. User interface bugs - require a detailed description of the issue, steps to reproduce and screen captures where appropriate.
 1. Crasher bugs - Log files from the crash incident are required to track down these.
 1. Hardware specific bugs - The developers may not have access to the hardware that triggers this bug. Certain log files and command outputs can help
 1. Package selection - Help to find the right package (may be specific to category -- a bug filed as ubiquity may in fact be a casper d-i bug, an xorg bug may be an xorg-driver bug, etc.)
 ''' 2. Evolution'''
       ||evolution||groupware suite with mail client and organizer||
       ||evolution-common||architecture independent files for Evolution||
       ||evolution-dbg||debugging symbols for Evolution||
       ||evolution-dev||development library files for Evolution||
       ||evolution-plugins||standard plugins for Evolution||
       ||evolution-plugins-experimental||experimental plugins for Evolution||

This is the actual user interface to email, calendar, tasks, contacts and memos.

 ''' 3. Evolution Exchange'''
       || evolution-exchange||Exchange plugin for the Evolution groupware suite||

Evolution-Exchange deals exclusively with interfacing with Exchange servers via the Outlook Web Access (OWA).

Additionally, Evolution uses libgtkhtml3.14 to format HTML email (either for viewing or printing), libpango for PDF rendering, etc. There are many other packages that Evolution depends on, of course.

= The difference between a bug and a support request =

Simply: bugs are product issues, support requests are user issues. For example, an Evolution crash is most probably a product issue (and, as such, a bug), perhaps not in one of the Evolution components -- the crash might be, for example, in libgtkhtml.

But "connection to POP server times out" is a support request: this is probably a configuration issue and, as such, resolution should be pursued via [https://answers.launchpad.net Support].
Line 43: Line 58:
Useful for bug-filers and as a boiler-plate advice for triagers. Bugs should be filled under the correct package -- so, for example, if you find a bug on libcamel, the correct package is Evolution-Data-Server, not Evolution. Nevertheless, if you are unsure -- but it is an Evolution* bug --, file it under any of the Evolution packages; we will, eventually, find the correct package and reassign the bug as needed (and even reassign it out of Evolution, if the Evolution error is a consequence of some other package).
Line 45: Line 60:
= Debugging procedure = No matter what, we do need to have a good description of the issue, and supporting documentation (see below for details).
Line 47: Line 62:
Specific to this type of package. First of all: try to identify what is wrong. We usually have bugs on:
 1. User interface - requires a detailed description of the issue, steps to reproduce and screen captures where appropriate. For example, [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/12430 bug 12430].
 1. Program crash - Log files from the crash incident are required to track down these. Almost always, this will require the reporter to file in a nice backtrace (since most of the times we cannot reproduce it :-(). For example, see [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/106504 bug 106504]. if [https://wiki.ubuntu.com/Apport Apport] is installed, a crash report will be generated under /var/crash.
 1. Incorrect results - for example, connection errors, deleted emails are not deleted, etc. We also need a detailed description of the issue, the steps to reproduce, and screen captures where appropriate. For example (and to keep with time issues) [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/67955 bug 67955].
 1. Wishlists - a product feature that is either absent, or should be modified to suit the reporter's view of usability. Please explain why you think your proposal would improve overall user experience.
 1. Package selection - Help to find, and assign, the right package. For example, a bug originally filed under Evolution dealing with POP access is really a Evolution-Data-Server bug.
Line 49: Line 69:
= Known bugs = Verify if you can reproduce the issue. If you can, try to describe in details all steps you needed to go through to have the issue. If this is a program crash, make sure you have all necessary debugging symbols packages installed -- see DebuggingProgramCrash for the necessary changes to the repositories lists. What symbols packages to install... varies with the problem. Obviously, the Evolution* ones should be in, but what others will depend on the specific issue. You might need libgtkhtml3.14 if the crash happens while rendering a HTML email, for example.
Line 51: Line 71:
Description of known issues, how to recognise them and stock responses/actions. If you cannot reproduce the issue you will have to ask the reporter to do it.
Line 53: Line 73:
'''Open'''
||<rowbgcolor="#eeeeee"> '''Bug#''' || '''Description''' || '''Action''' ||
|| [https://bugs.beta.launchpad.net/ubuntu/+source/synaptic/+bug/8896 #8896] || This bug can be identified by ... || Mark as duplicate of 8896 with the comment "Thank you for reporting. This issue has already been reported as bug #8896. Marking as Duplicate." ||
Once you have collected all data you believe is needed... its time to check [http://bugzilla.gnome.org/ upstream] and either create a new bug report upstream, or [http://bugzilla.gnome.org/dupfinder/simple-dup-finder.cgi find] an existing one that matches the issue. In either case, please add a comment linking back to the Ubuntu bug. Then, please add a tracker entry on the Ubuntu bug (via the "Also affects package" link on the left of the bug report), so that we can find the related upstream report.
Line 57: Line 75:
'''Closed'''
||<rowbgcolor="#eeeeee"> '''Bug#''' || '''Description''' || '''Action''' ||
|| [https://bugs.beta.launchpad.net/ubuntu/+source/synaptic/+bug/8896 #8896] || This bug can be identified by ... || Mark as duplicate of 8896 with the comment "Thank you for reporting. This issue has already been reported as bug #8896. Marking as Duplicate." ||

= Non-bugs =

How to recognise common issues arising from hardware failures, common feature requests and other invalid bugs for this category. Advice how triage them and stock responses.
'''Per an upstream request''' -- when forwarding bugs to [http://bugzilla.gnome.org/ bugzilla], please assign the product as Evolution, and the Component as "BugBuddyBugs". Upstream triaging will later assign the correct product component as needed. '''If''' the issue is well defined, and '''all''' required data has been collected, upstream has agreed that Ubuntu can then assign the correct Component.
Line 67: Line 79:
 * DebuggingProcedures  * DebuggingProcedures for generic debugging on Ubuntu, and specially
 * DebuggingProgramCrash on how to setup your machine to get a meaningful backtrace
 * [http://www.gnome.org/projects/evolution/bugs.shtml A Quick Guide to Evolution Bug Hunting] on the upstream suggestions
 * [http://www.go-evolution.org/Main_Page the Evolution Wiki] for details on what is going on, and documentation on the internals
 * [http://bugzilla.gnome.org Gnome bug tracking system]
Line 70: Line 86:
CategoryBugSquad CategoryBugSquad CategoryDebugging

Introduction (work in progress)

What we generically call Evolution is in fact a collection of binary and source packages:

  • 1. Evolution Data Server

    • evolution-data-server

      evolution database backend server

      evolution-data-server-common

      architecture independent files for Evolution Data Server

      evolution-data-server-dbg

      evolution database backend server with debugging symbols

      evolution-data-server-dev

      Development files for evolution-data-server (meta package)

      libcamel<version>

      The Evolution MIME message handling library

      libcamel<version>-dev

      Development files for libcamel

      libebook<version>

      Client library for evolution address books

      libebook<version>-dev

      Client library for evolution address books (development files)

      libecal<version>

      Client library for evolution calendars

      libecal<version>-dev

      Client library for evolution calendars (development files)

      libedata-book<version>

      Backend library for evolution address books

      libedata-book<version>-dev

      Backend library for evolution address books (development files)

      libedata-cal<version>

      Backend library for evolution calendars

      libedata-cal<version>-dev

      Backend library for evolution calendars (development files)

      libedataserver<version>

      Utility library for evolution data servers

      libedataserver<version>-dev

      Utility library for evolution data servers (development files)

      libedataserverui<version>

      GUI utility library for evolution data servers

      libedataserverui<version>-dev

      GUI utility library for evolution data servers (development files)

      libegroupwise<version>

      Client library for accessing groupwise POA through SOAP interface

      libegroupwise<version>-dev

      Development files for libegroupwise

      libexchange-storage<version>

      Backend library for evolution calendars

      libexchange-storage<version>-dev

      Backend library for evolution calendars (development files)

Evolution-data-server components are used elsewhere within Gnome. As a result, some of the packages can be installed even if Evolution itself is not installed.

  • 2. Evolution

    • evolution

      groupware suite with mail client and organizer

      evolution-common

      architecture independent files for Evolution

      evolution-dbg

      debugging symbols for Evolution

      evolution-dev

      development library files for Evolution

      evolution-plugins

      standard plugins for Evolution

      evolution-plugins-experimental

      experimental plugins for Evolution

This is the actual user interface to email, calendar, tasks, contacts and memos.

  • 3. Evolution Exchange

    • evolution-exchange

      Exchange plugin for the Evolution groupware suite

Evolution-Exchange deals exclusively with interfacing with Exchange servers via the Outlook Web Access (OWA).

Additionally, Evolution uses libgtkhtml3.14 to format HTML email (either for viewing or printing), libpango for PDF rendering, etc. There are many other packages that Evolution depends on, of course.

The difference between a bug and a support request

Simply: bugs are product issues, support requests are user issues. For example, an Evolution crash is most probably a product issue (and, as such, a bug), perhaps not in one of the Evolution components -- the crash might be, for example, in libgtkhtml.

But "connection to POP server times out" is a support request: this is probably a configuration issue and, as such, resolution should be pursued via [https://answers.launchpad.net Support].

How to file

Bugs should be filled under the correct package -- so, for example, if you find a bug on libcamel, the correct package is Evolution-Data-Server, not Evolution. Nevertheless, if you are unsure -- but it is an Evolution* bug --, file it under any of the Evolution packages; we will, eventually, find the correct package and reassign the bug as needed (and even reassign it out of Evolution, if the Evolution error is a consequence of some other package).

No matter what, we do need to have a good description of the issue, and supporting documentation (see below for details).

First of all: try to identify what is wrong. We usually have bugs on:

  1. User interface - requires a detailed description of the issue, steps to reproduce and screen captures where appropriate. For example, [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/12430 bug 12430].

  2. Program crash - Log files from the crash incident are required to track down these. Almost always, this will require the reporter to file in a nice backtrace (since most of the times we cannot reproduce it :-(). For example, see [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/106504 bug 106504]. if [https://wiki.ubuntu.com/Apport Apport] is installed, a crash report will be generated under /var/crash.

  3. Incorrect results - for example, connection errors, deleted emails are not deleted, etc. We also need a detailed description of the issue, the steps to reproduce, and screen captures where appropriate. For example (and to keep with time issues) [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/67955 bug 67955].

  4. Wishlists - a product feature that is either absent, or should be modified to suit the reporter's view of usability. Please explain why you think your proposal would improve overall user experience.
  5. Package selection - Help to find, and assign, the right package. For example, a bug originally filed under Evolution dealing with POP access is really a Evolution-Data-Server bug.

Verify if you can reproduce the issue. If you can, try to describe in details all steps you needed to go through to have the issue. If this is a program crash, make sure you have all necessary debugging symbols packages installed -- see DebuggingProgramCrash for the necessary changes to the repositories lists. What symbols packages to install... varies with the problem. Obviously, the Evolution* ones should be in, but what others will depend on the specific issue. You might need libgtkhtml3.14 if the crash happens while rendering a HTML email, for example.

If you cannot reproduce the issue you will have to ask the reporter to do it.

Once you have collected all data you believe is needed... its time to check [http://bugzilla.gnome.org/ upstream] and either create a new bug report upstream, or [http://bugzilla.gnome.org/dupfinder/simple-dup-finder.cgi find] an existing one that matches the issue. In either case, please add a comment linking back to the Ubuntu bug. Then, please add a tracker entry on the Ubuntu bug (via the "Also affects package" link on the left of the bug report), so that we can find the related upstream report.

Per an upstream request -- when forwarding bugs to [http://bugzilla.gnome.org/ bugzilla], please assign the product as Evolution, and the Component as "BugBuddyBugs". Upstream triaging will later assign the correct product component as needed. If the issue is well defined, and all required data has been collected, upstream has agreed that Ubuntu can then assign the correct Component.

Also see


CategoryBugSquad CategoryDebugging

DebuggingEvolution (last edited 2010-01-08 10:59:38 by eth0)