Crash in ... jansson??

Bron Gondwana brong at fastmail.fm
Sun Jun 18 19:29:33 EDT 2017


Core was generated by `httpd -C /etc/cyrus/imapd-sloti21d2t19.conf'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000000049d71c in getcontacts_cb (rock=0x7fffed02f100, cdata=0x7f193ea66880 <cdata>) at imap/jmap_contact.c:1652
1652	    json_t *obj = jmap_contact_from_vcard(vcard->objects, cdata, &record,
(gdb) bt
#0  0x000000000049d71c in getcontacts_cb (rock=0x7fffed02f100, cdata=0x7f193ea66880 <cdata>) at imap/jmap_contact.c:1652
#1  0x00007f193e811a09 in read_cb (stmt=0xcc74c8, rock=0x7fffed02efb0) at imap/carddav_db.c:228
#2  0x00007f193e4c3358 in sqldb_exec (open=0xcc2e20, 
    cmd=0xc9aa60 "SELECT rowid, creationdate, mailbox, resource, imap_uid,  lock_token, lock_owner, lock_ownerid, lock_expire,  version, vcard_uid, kind, fullname, name, nickname, alive,  modseq FROM vcard_objs WHERE a"..., bval=0x7fffed02f028, cb=0x7f193e81178c <read_cb>, 
    rock=0x7fffed02efb0) at lib/sqldb.c:335
#3  0x00007f193e8130b6 in carddav_get_cards (carddavdb=0xc9a900, abookname=0xcb3b50 "fastmail.fm!user.stefaniegray.#addressbooks.Default", 
    vcard_uid=0x0, kind=0, cb=0x49d538 <getcontacts_cb>, rock=0x7fffed02f100) at imap/carddav_db.c:722
#4  0x0000000000498f0b in jmap_contacts_get (req=0x7fffed02f290, cb=0x49d538 <getcontacts_cb>, kind=0, resname=0x4de1d3 "contacts")
    at imap/jmap_contact.c:528
#5  0x000000000049d7a4 in getContacts (req=0x7fffed02f290) at imap/jmap_contact.c:1663
#6  0x000000000048a530 in jmap_post (txn=0x7fffed02f490, params=0x0) at imap/http_jmap.c:338
#7  0x0000000000474387 in cmdloop (conn=0x7fffed032670) at imap/httpd.c:2071
#8  0x0000000000471973 in service_main (argc=1, argv=0xc64040, envp=0x7fffed0341b8) at imap/httpd.c:1095
#9  0x0000000000489a16 in main (argc=3, argv=0x7fffed034198, envp=0x7fffed0341b8) at master/service.c:632

...

1651	    /* Convert the VCARD to a JMAP contact. */
1652	    json_t *obj = jmap_contact_from_vcard(vcard->objects, cdata, &record,
1653	                                          crock->props, crock->mailbox->name);

The crash is there - but what could be segfaulting?

(gdb) p vcard->objects
$1 = (struct vparse_card *) 0xe0bdf0
(gdb) p *vcard->objects
$2 = {type = 0xe0be20 "VCARD", properties = 0xe0bd40, objects = 0x0, next = 0x0}

(gdb) p cdata
$3 = (struct carddav_data *) 0x7f193ea66880 <cdata>
(gdb) p *cdata
$4 = {dav = {rowid = 250, creationdate = 1435863920, mailbox = 0xcc28b8 "fastmail.fm!user.stefaniegray.#addressbooks.Default", 
    resource = 0xcc8a68 "a6a43115-1c03-4f45-a38e-273520b3db9f.vcf", imap_uid = 558, modseq = 336446, lock_token = 0x0, lock_owner = 0x0, 
    lock_ownerid = 0x0, lock_expire = 0, alive = 1}, version = 0, vcard_uid = 0xc9b6c8 "a6a43115-1c03-4f45-a38e-273520b3db9f", kind = 0, 
  fullname = 0xcb3ad8 "Phaedra Burke", name = 0xcb43b8 "\004", nickname = 0xcad338 "\001", emails = 0x0, member_uids = 0x0}

(gdb) p record
$5 = {uid = 558, internaldate = 1435863920, sentdate = 1435852800, size = 535, header_size = 314, gmtime = 1435863920, cache_offset = 213828, 
  last_updated = 1497457449, system_flags = 0, user_flags = {1, 0, 0, 0}, content_lines = 11, cache_version = 6, guid = {status = GUID_UNKNOWN, 
    value = "\300\300\a\260\242}&\023,\311\034^/\217\027\352\350UX:"}, modseq = 336446, cid = 93421607515573021, cache_crc = 458859899, 
  recno = 250, silent = 0, basecid = 0, crec = {buf = 0x0, offset = 0, len = 0, item = {{offset = 0, len = 0}, {offset = 0, len = 0}, {
        offset = 0, len = 0}, {offset = 0, len = 0}, {offset = 0, len = 0}, {offset = 0, len = 0}, {offset = 0, len = 0}, {offset = 0, len = 0}, {
        offset = 0, len = 0}, {offset = 0, len = 0}}}}

(gdb) p crock->props
$6 = (struct hash_table *) 0x0

(gdb) p crock->mailbox->name
$7 = 0xcad370 "fastmail.fm!user.[CENSORED].#addressbooks.Default"

There's nothing here which should be causing a crash!  The only thing I can see is that jansson was corrupting somehow :(  Boo.  I'll keep an eye on it and see if we get any more.

Bron.

-- 
  Bron Gondwana
  brong at fastmail.fm


More information about the Cyrus-devel mailing list