Bug#682685: 2nd follow-up to Re: libglib-2.0: claws-mail segfault

Michael Stapelberg stapelberg at debian.org
Sun Aug 5 19:26:53 UTC 2012


Hi Cia,

Quoting Cia Watson (2012-08-04 02:31:03)
> Doing that, I found different instructions for getting a backtrace for 
> debug output, and did that. (i.e. run 'gdb claws-mail' and then 'run 
> --debug' then request 'backtrace full'.)
That’s just fine, thanks for the results, that was quite helpful in
diagnosing the problem. Here comes what I currently believe:

The problem is a corrupted address book (the address book consists of
the XML files in ~/.claws-mail/addrbook). claws-mail tries to access the
'uid' field of an <address> entry and crashes because that field is
missing.

Here is an example of a working address book:

<?xml version="1.0" encoding="UTF-8" ?>
<address-book name="Common addresses" >
  <person uid="346193994" first-name="" last-name="" nick-name="" cn="Yuri Kozlov" >
    <address-list>
      <address uid="346193994" alias="" email="yuray at komyakino.ru" remarks="" />
    </address-list>
    <attribute-list>
    </attribute-list>
  </person>
</address-book>

Now, when I remove the uid="346193994" field, it looks like this:

<?xml version="1.0" encoding="UTF-8" ?>
<address-book name="Common addresses" >
  <person uid="346193994" first-name="" last-name="" nick-name="" cn="Yuri Kozlov" >
    <address-list>
      <address alias="" email="yuray at komyakino.ru" remarks="" />
    </address-list>
    <attribute-list>
    </attribute-list>
  </person>
</address-book>

Opening claws-mail and trying to compose a message results in a
backtrace that looks very much like yours.

So, before forwarding this problem to the claws-mail developers, I’d
like to confirm with you that this is indeed what happens. There’s
multiple options for confirming this issue or working around it so you
can use your mailclient until it’s fixed:

1) mv ~/.claws-mail/addrbook ~/.claws-mail/O.addrbook
   This moves your addressbook out of the way. Afterwards, start
   claws-mail and see if it doesn’t crash. If so, your addressbook is
   indeed the cause.
2) Open the addrbook-*.xml files in ~/.claws-mail/addrbook with a text
   editor and check if you spot missing uid-entries or otherwise obvious
   corruption.
3) In case you cannot figure out whether your address book is corrupted,
   you could remove entries (each entry seems to go from <person> to
   </person>) and see when it stops crashing. Doing this in a binary
   search fashion should go quick even for large address books.
4) As a last resort, you could append your addressbook to this bugreport
   in case all addresses within it are public anyways. In case they’re
   not, you could also send it directly to me and I’ll treat it
   confidentially.

Best regards,
Michael



More information about the pkg-gnome-maintainers mailing list