Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 697 of 808  Not logged in ELOG logo
ID Date Icon Author Author Email Categorydown OS ELOG Version Subject
  67102   Mon Aug 15 11:36:02 2011 Warning Kester Habermannkester.habermann@gmail.comBug reportOther2.9.0SEGV 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
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
  67122   Tue Sep 13 11:54:16 2011 Warning Andreas Luedekeandreas.luedeke@psi.chBug reportLinux2.9.0-2414Elog crashes with URL find npp=0
Some user wanted to modify the URL by hand and succeeded to crash the elogd process with npp=now
It appears that npp=0 crashes elogd with the following error message:

Program received signal SIGFPE, Arithmetic exception.
0x0808eba2 in show_elog_list (lbs=0xab3c770, past_n=0, last_n=0, page_n=1,
    default_page=1, info=0x0) at src/elogd.c:20214
20214            sprintf(str + strlen(str), loc("Page %d of %d"), page_n, (n_msg - 1) / n_page + 1);

I guess this bug is not OS dependent: you can crash every logbook that you can search ;-)
  67124   Tue Sep 20 04:46:55 2011 Warning Ryanryan.hoitt@intelsat.comBug reportLinux2.9.0-2411Memory Leak in V2.9.0-2411 (Mirroring Related)

I have two identical servers (IBM X337) setup on the same LAN with Ubuntu Linux 10.04 LTS with ELOGD running (Compiled from tarbell) with the same exact package install base. (Only difference between the two servers is the hostname, and the ELOGD.CFG global section)

I noticed after setting these servers up today that ELOGD crashed on the server configured to mirror. It looks like there may be a memory leak in the mirroring of ELOG.
SERVER 1 ELOGD.CFG
[global]
Mirror server = http://10.146.1.76
Mirror config = 1
Mirror cron = 0,5,10,15,20,25,30,35,40,45,50,55 * * * *
Mirror user = (* Removed for Web Post *)
port = 80
Allowed encoding = 1
Suppress default = 3
Mode commands = 1
Password file = password.pwd
Self register = 1
Admin user = (* Removed for Web Post *)
Time format = %d-%b-%y %H:%M UTC
Group 2009 = Station Log-09, DAT-09, Hours Logging-09
Group 2010 = Station Log 10, DAT-10, Hours Logging-10
Group 2011 = Station Log, DAT, Hours Logging, Operations Tasks, Viasat-1, OS-2
Group Cable Database = Cable Database
Group Provisioning = Provisioning
Group ECR = ECR
SERVER 1 SYSLOGD (cat /var/log/syslog |grep elog)
Sep 19 12:14:13 riverside-log elogd[8588]: elogd 2.9.0 built Sep 19 2011, 10:32:58
Sep 19 12:14:13 riverside-log elogd[8588]: revision 2411
Sep 19 12:14:13 riverside-log elogd[8588]: Falling back to default group "elog"
Sep 19 12:14:13 riverside-log elogd[8588]: Falling back to default user "elog"
Sep 19 12:14:13 riverside-log elogd[8588]: FCKedit detected
Sep 19 12:14:13 riverside-log elogd[8590]: Falling back to default group "elog"
Sep 19 12:14:13 riverside-log elogd[8590]: Falling back to default user "elog"
Sep 19 12:14:13 riverside-log elogd[8588]: Server listening on port 80 ...
Sep 19 19:55:05 riverside-log elogd[8588]: xmalloc: not enough memory
SERVER 1 (Set to mirror off server 2) Memory Usage over 1 hour (ps aux|grep elog)
elog      8760 11.6 3.4109240 35092 ?
elog      8760 12.2 3.9137852 40204 ?
elog      8760 11.6 4.4165448 45440 ?
elog      8760 10.7 5.4221652 55548 ?
elog      8760 9.9 5.9249752 60552 ?
elog      8760 10.1 6.4278364 65680 ?
elog      8760 9.5 6.8305712 70700 ?
SERVER 2 Memory Usage over 1 hour (ps aux|grep elog)
elog       799 2.1 2.6 31744 27116 ?
elog       799 2.0 2.6 31744 27116 ?
elog       799 2.1 2.6 31744 27116 ?
elog       799 2.0 2.6 31744 27116 ?
elog       799 2.0 2.6 31744 27116 ?
elog       799 2.0 2.6 31744 27116 ?
elog       799 2.1 2.6 31744 27116 ?
  67127   Mon Sep 26 08:13:10 2011 Entry Olivier CallotOlivier.Callot@cern.chBug reportLinux2418Spurious characters in the searched string

Hi,

We have a problem with the search command: Since our last upgrade to v2.9.0-2418 the searched string is pre- and postfixed with ASCII character expressed in % format, see the attached image. The searched string is prefied with %255E and postfxed by %2524 in the URL. And teh search fails. This affects searches from drop-down menus.

Thanks in advance.

Attachment 1: Capture.PNG
Capture.PNG
  67128   Mon Sep 26 10:38:59 2011 Reply Stefan Rittstefan.ritt@psi.chBug reportLinux2418Re: Spurious characters in the searched string

Olivier Callot wrote:

Hi,

We have a problem with the search command: Since our last upgrade to v2.9.0-2418 the searched string is pre- and postfixed with ASCII character expressed in % format, see the attached image. The searched string is prefied with %255E and postfxed by %2524 in the URL. And teh search fails. This affects searches from drop-down menus.

Thanks in advance.

Strange. In this forum it works without extra characters. Just try it yourself. Do you have any strange configuration? Can you send me a minimal elogd.cfg which produces that error, maybe derived from the example elogd.cfg from the distribution.

- Stefan 

  67129   Mon Sep 26 11:16:19 2011 Reply Olivier CallotOlivier.Callot@cern.chBug reportLinux2418Re: Spurious characters in the searched string

Stefan Ritt wrote:

Olivier Callot wrote:

Hi,

We have a problem with the search command: Since our last upgrade to v2.9.0-2418 the searched string is pre- and postfixed with ASCII character expressed in % format, see the attached image. The searched string is prefied with %255E and postfxed by %2524 in the URL. And teh search fails. This affects searches from drop-down menus.

Thanks in advance.

Strange. In this forum it works without extra characters. Just try it yourself. Do you have any strange configuration? Can you send me a minimal elogd.cfg which produces that error, maybe derived from the example elogd.cfg from the distribution.

- Stefan 

 Well, It may be our implementation of re-routing web requests: The requested string in elog  is prefixed by %5E (^) and postfixed by %24 ($). But in my case, the '%' is again escaped as %25 so the prefix becomes %255E that is not understood by elog as being '^' ...

I will see with my experts in routing if this is something that can be fixed in our configuration. But when elog processes the input string, it should un-escape these characters and find back the '^', no?

  67131   Mon Sep 26 14:49:48 2011 Reply Olivier CallotOlivier.Callot@cern.chBug reportLinux2418Re: Spurious characters in the searched string

Olivier Callot wrote:

Stefan Ritt wrote:

Olivier Callot wrote:

Hi,

We have a problem with the search command: Since our last upgrade to v2.9.0-2418 the searched string is pre- and postfixed with ASCII character expressed in % format, see the attached image. The searched string is prefied with %255E and postfxed by %2524 in the URL. And teh search fails. This affects searches from drop-down menus.

Thanks in advance.

Strange. In this forum it works without extra characters. Just try it yourself. Do you have any strange configuration? Can you send me a minimal elogd.cfg which produces that error, maybe derived from the example elogd.cfg from the distribution.

- Stefan 

 Well, It may be our implementation of re-routing web requests: The requested string in elog  is prefixed by %5E (^) and postfixed by %24 ($). But in my case, the '%' is again escaped as %25 so the prefix becomes %255E that is not understood by elog as being '^' ...

I will see with my experts in routing if this is something that can be fixed in our configuration. But when elog processes the input string, it should un-escape these characters and find back the '^', no?

 It turned out to be a setting of our re-routing of requests that re-escaped the '%'. Sorry for the noise. Cheers

  67138   Thu Oct 27 11:29:08 2011 Question Andreas Luedekeandreas.luedeke@psi.chBug reportLinux2.9.0-2414elogd crash for special query
A query to a logbook can crash the demon.

Query:
https://pc8059.psi.ch:444/SwissFEL+Injector/?jcmd=Find&m0a=10&d0a=27&y0a=2011&npp=1&reverse=0

gdb dump:
SSLServer listening on port 444 ...

Program received signal SIGSEGV, Segmentation fault.
show_elog_list (lbs=0xae72618, past_n=0, last_n=0, page_n=0, default_page=1, info=0x0) at src/elogd.c:20797
20797         message_id = msg_list[index].lbs->el_index[msg_list[index].index].message_id;
Attachment 1: elogd.cfg
[global]
SMTP host = mail.psi.ch
Language = german_UTF8
charset = UTF-8
SSL = 1
Port = 444
Authentication = Kerberos, File
Password file = passwd.txt

Admin user = luedeke
Allow password change = 0
Self register = 0
Allowed encoding = 5
Allow HTML = 1
Suppress execute default = 0
Tab cellpadding = 2
Logfile = elog.log

Date format = %a %d-%b-%Y 
Time format = %a %d-%b-%y %H:%M


[SwissFEL Injector]
Default encoding = 2
Comment = SwissFEL Injector Beam Development
Guest Menu commands = New, Find, List, Login, Help
Guest List Menu commands = New, Find, Login, Help
Restrict edit time = 48
Admin user = luedeke, robot
Login expiration = 8
Reverse sort = 1
Thumbnail size = 792>
Attributes      = When, Author, Entry, Status, System, Downtime, Beamtime, Coordinator, Shiftleader, Operators, Participants, Title
List display    = ID, When, Author, Entry, Status, System, Title
Thread display  = $entry time, $Author, $Entry, $Status, $System, "$Title"
Quick filter    = When, Entry, Status
Start page = ?rsort=When
Use Email Subject = ELOG $logbook: $Entry: $Title

# When
Type When = datetime
Preset When = $date
# Author
#Preset Author = $long_name
#Preset on reply Author = $long_name
Preset on first reply Titel = Re: $Titel
#Locked Attributes = Author
Preset Author = $shell(if [ $short_name = "Anonym" ] ;then echo $Author;else echo \"$long_name, $Author\";fi)
Preset on reply Author = $long_name
# Entry
Options Entry = Problem{1}, Measurement{2}, Shift-Summary{3}, Info{4}, Alarms{5}

# depending on Entry, but not specific to one attribute
{1,5} Show Attributes Edit = When, Author, Entry, Status, System, Title
{1,5} Show Attributes      = When, Author, Entry, Status, System, Title
{2,4} Show Attributes Edit = When, Author, Entry, System, Title
{2,4} Show Attributes      = When, Author, Entry, System, Title
{3}   Show Attributes Edit = When, Author, Entry, Coordinator, Shiftleader, Operators, Participants, Downtime, Beamtime, Title
{3} Required attributes = Coordinator, Shiftleader, Operators, Downtime, Beamtime, Title
{3} Preset Title = Shift on $date
{1,2,4,5} Preset Title = 
{1,5} Required attributes = When, Author, Entry, Status

# Status
{1} Options Status = open, work-in-progress, closed
{1} Preset Status = open
{5} Options Status = canceled, disabled, enabled
{5} Preset Status = disabled
# System
{1,4,5} Options System = Beamdynamics, Controls, Diagnostics, Mains

#{2} System  = free text for measurement software, incl. version
Show Attributes Edit = When, Author, Entry, Title
# Downtime (only for Shift-Summary{3})
Type Downtime = numeric
Comment Downtime = hours of shift not usable (waiting for repair, etc.)
Format Downtime = 0, attribname, attribvalue, 8, 3
# Beamtime (only for Shift-Summary{3})
Type Beamtime = numeric
Comment Beamtime = hours of shift useable for measurements
Format Beamtime = 1, attribname, attribvalue, 8, 3
# Text
{1,2,4,5} Preset Text = /usr/local/elog/logbooks/inc/clear.html
{3} Preset Text = /usr/local/elog/logbooks/inc/FIN-summary.html
ELOG V3.1.5-3fb85fa6