Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG  Not logged in ELOG logo
Message ID: 67102     Entry time: Mon Aug 15 11:36:02 2011
Icon: Warning  Author: Kester Habermann  Author Email: kester.habermann@gmail.com 
Category: Bug report  OS: Other  ELOG Version: 2.9.0 
Subject: SEGV after upgrade from 2.7.8 to 2.9.0 

Hello,

We've been using ELOG 2.6.5 to 2.7.8 for 4 years without any major problems.

Recently we upgraded to version 2.9.0 and since we've had the daemon frequently crash with SEGV.

I've detached debugging output from one time when ELOG the crashed. We've had many crashes
it was a different logbook each time. Platform is Solaris 10 5/08 on SPARC.

Has anyone else experienced problems with 2.9.0?

 

Best Regards

Kester

 

 

 

Attachment 1: elog-2.9.0-dbx.txt  2 kB  | Hide | Hide all
signal SEGV (no mapping at the fault address) in show_elog_list at line 19781 in file "elogd.c"
19781         message_id = msg_list[index].lbs->el_index[msg_list[index].index].message_id;
(dbx)
(dbx) list
19781         message_id = msg_list[index].lbs->el_index[msg_list[index].index].message_id;
19782
19783         if (filtering) {
19784            status = el_retrieve(msg_list[index].lbs, message_id, date, attr_list, attrib, lbs->n_attr, text,
19785                                 &size, in_reply_to, reply_to, attachment, encoding, locked_by);
19786            if (status != EL_SUCCESS)
19787               break;
19788
19789            /* apply filter for attributes */
19790            for (i = 0; i < lbs->n_attr; i++) {
(dbx) print index
index = 0
(dbx) where
=>[1] show_elog_list(lbs = 0x1180200, past_n = 0, last_n = 0, page_n = 0, default_page = 1, info = (nil)), line 19781 in "elogd.c"
  [2] interprete(lbook = 0xffbd89f8 "Galileo-Coord", path = 0xffbd8648 ""), line 27213 in "elogd.c"
  [3] decode_get(logbook = 0xffbd89f8 "Galileo-Coord", string = 0xffbfe896 ""), line 27253 in "elogd.c"
  [4] process_http_request(request = 0x13a4eb8 "GET /Galileo-Coord/", i_conn = 1), line 28001 in "elogd.c"
  [5] server_loop(), line 28926 in "elogd.c"
  [6] main(argc = 5, argv = 0xffbffb8c), line 29947 in "elogd.c"
(dbx) print n_msg
n_msg = 49
(dbx) print *msg_list
*msg_list = {
    lbs         = 0x1195dd0
    index       = 1667786092
    string      = "\001\017��-D"
    number      = 0
    in_reply_to = 0
}
(dbx) print msg_list[index].lbs->el_index[msg_list[index].index].message_id
dbx: cannot access address 0x18da195b00  
(dbx) print ms(dbx) [index].lbs->el_index[msg_list[index].index].message_id
(dbx) print msg_list[index].lbs
msg_list[index].lbs = 0x1195dd0
(dbx) print msg_list[index].lbs->el_index
msg_list[index].lbs->el_index = (nil)
(dbx) pr(dbx) g_list[index].lbs->el_index
(dbx) print *msg_list[index].lbs
*msg_list[index].lbs = {
    name         = ""
    name_enc     = ""
    data_dir     = ""
    top_group    = ""
    el_index     = (nil)
    n_el_index   = (nil)
    n_attr       = 0
    pwd_xml_tree = (nil)
}
(dbx) print msg_list[1].lbs
msg_list[1].lbs = (nil)
(dbx) print msg_list[2].lbs
msg_list[2].lbs = (nil)
(dbx) print msg_list[3].lbs
msg_list[3].lbs = (nil)
(dbx) exit
ELOG V3.1.5-3fb85fa6