Debugging Central

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


      architecture independent files for Evolution Data Server


      evolution database backend server with debugging symbols


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


      The Evolution MIME message handling library


      Development files for libcamel


      Client library for evolution address books


      Client library for evolution address books (development files)


      Client library for evolution calendars


      Client library for evolution calendars (development files)


      Backend library for evolution address books


      Backend library for evolution address books (development files)


      Backend library for evolution calendars


      Backend library for evolution calendars (development files)


      Utility library for evolution data servers


      Utility library for evolution data servers (development files)


      GUI utility library for evolution data servers


      GUI utility library for evolution data servers (development files)


      Client library for accessing groupwise POA through SOAP interface


      Development files for libegroupwise


      Backend library for evolution calendars


      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


      architecture independent files for Evolution


      debugging symbols for Evolution


      development library files for Evolution


      standard plugins for Evolution


      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:

  1. User interface - requires a detailed description of the issue, steps to reproduce and screen captures where appropriate. For example, 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 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.

  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) 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 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:

Also see

CategoryBugSquad CategoryDebugging

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