Re: [Evolution] Help needed!! Contacts crashes after adding new email addresses to the address book



On Fri, 2009-03-13 at 11:44 +0100, Svante R Signell wrote:
How can I get the backtraces. When crashing I only get the following popup window message:
Evolution error:

The evolution addressbook has quit unexpectedly.

Your contacts for file:///home/user/.evolution/addressbook/local system
will not be available until Evolution is restarted.

Next step is to start evo manually in a terminal to see if something
more shows up.

Thanks,
Svante

I see, evolution-data-server is crashing for you, not evo itself.
This will be much complicated, but doable. I'll write here some steps,
but please move any further communication info bugzilla, to not bother
other users reading this list with something which most of them do not
care about (like how to debug one crash) :) Thanks for your
understanding.

Basically, run evolution data server on console, preferably within gdb
or attach gdb to the running evolution-data-server process. I usually do
something similar to this:
a) close evolution, (all below is on a console)
b) evolution --force-shutdown
c) gdb /usr/libexec/evolution-data-server-2.24 --ex r
d) on other console run: evolution
e) you should see some activity on the gdb console now,
   especially when you start to compose your mail or add something to
   the address book
   Make it crash.
f) gdb should stop with some line containing SIGSEGV or similar error,
   type gdb command (quotes for clarity only) "t a a bt"
   It'll show all the context in evolution-data-server.
g) copy everything from the line containing SIGSEGV to the bottom to
   the bug report and let's see.

Notes:
1) install debug info packages for evolution-data-server and evolution
   before you start with this, without it the backtrace will be mostly
   unusable
2) your version or directory where is evolution-data-server located may
   differ, depends on your distro, whether you compile yourself...
3) it's possible your evolution-data-server will not be recognized by
   evolution in step e), and you'll see two evolution-data-servers
   running on your system, in that case stop gdb (ctrl+c) and "quit" it,
   find out pid of the other evolution-data-server (ps -A | grep evo)
   and re-run gdb like this: gdb -pid=PID --ex c
   where PID is evolution-data-server's pid.


Uff, quite long.
        Bye,
        Milan




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]