DebuggingEvolution
This page is part of the debugging series — pages with debugging details for a variety of Ubuntu packages. |
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 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:
User interface - requires a detailed description of the issue, steps to reproduce and screen captures where appropriate. For example, bug 12430.
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 bug 106504. if Apport is installed and enabled, a crash report will be generated under /var/crash, and you will be prompted to open a bug on launchpad; in this case, internal processing will generate the backtrace we need.
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) bug 67955.
- 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.
- 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 upstream and either create a new bug report upstream, or 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 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.
Debug message from Evolution
For information on how to get debug messages out of Evolution see: http://projects.gnome.org/evolution/bugs.shtml
Also see
DebuggingProcedures for generic debugging on Ubuntu, and specially
DebuggingProgramCrash on how to setup your machine to get a meaningful backtrace
A Quick Guide to Evolution Bug Hunting on the upstream suggestions
the Evolution Wiki for details on what is going on, and documentation on the internals
DebuggingEvolution (last edited 2010-01-08 10:59:38 by eth0)