Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG  Not logged in ELOG logo
icon5.gif   deadc0de, posted by Niklas on Fri Aug 1 13:47:58 2008 
    icon2.gif   Re: deadc0de, posted by Stefan Ritt on Mon Aug 4 09:00:43 2008 
       icon2.gif   Re: deadc0de, posted by Niklas on Thu Nov 13 19:27:02 2008 
          icon2.gif   Re: deadc0de, posted by Niklas on Fri Nov 14 08:48:05 2008 
             icon2.gif   Re: deadc0de, posted by Eoin Butler on Thu Dec 18 10:32:09 2008 
                icon2.gif   Re: deadc0de, posted by Stefan Ritt on Thu Dec 18 10:39:57 2008 
                   icon2.gif   Re: deadc0de, posted by Eoin Butler on Thu Dec 18 11:16:37 2008 
                      icon2.gif   Re: deadc0de, posted by Stefan Ritt on Thu Dec 18 11:51:07 2008 
Message ID: 66117     Entry time: Thu Dec 18 10:32:09 2008     In reply to: 66046     Reply to this: 66118
Icon: Reply  Author: Eoin Butler  Author Email: eoin.butler@cern.ch 
Category: Bug report  OS: Linux  ELOG Version: 2.7.3 
Subject: Re: deadc0de 

Niklas wrote:

Niklas wrote:

Stefan Ritt wrote:

Niklas wrote:

my ELOG sometimes dies with "deadc0de", do I have too large ELOG config or logbook? Or is it simply a bug?

What can I do to solve this problem? "ulimit"? Or some trace output from elog?

 This seems an internal memory allocation problem. Can you reproduce the error? Can you reproduce it with the minimal configuration file coming with the distribution? If you know how to run a program inside the debugger, you can send me a stack trace when the problem occurs and I can check it.

I can produce the problem, but it is related to the information in the logbook which I cannot share...

Configuration:

 


[global]
port = 8000
Main Tab = Home
Password file = elogpasswd.txt
Admin user = eniklas
Self register = 0
Welcome Title = <h3>ENIKLAS ELOG<h3>
Relative redirection = 1
Entries per page = 1000
Display mode = summary
Suppress Email to users = 1
Summary lines = 0



[General]
Theme = default
Attributes = Type, Subject
Options Type = Configuration, Information, Documents
Extendable Options = Type
Required Attributes = Type
Page Title = ELOG - $subject
Reverse sort = 0
Quick filter = Date, Type


[Testing]
Theme = default
Attributes = Type, Subject
Options Type = Configuration, Information, Documents
Extendable Options = Type
Required Attributes = Type
Page Title = ELOG - $subject
Reverse sort = 0
Quick filter = Date, Type


 

 

I know nothing about gdb. Here are my stumbling attempts of using it, please tell me how to use gdb:

niklas@bba:~$ gdb -d /home/eniklas/Project/Niho/elog/bin/elog-2.7.5 --args  /home/eniklas/Project/Niho/elog/bin/installation/usr/local/sbin/elogd  -c /home/eniklas/Project/Niho/elog/bin/installation/usr/local/elog/elogd.cfg
GNU gdb 6.6-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(gdb) run
Starting program: /home/eniklas/Project/Niho/elog/bin/installation/usr/local/sbin/elogd -c /home/eniklas/Project/Niho/elog/bin/installation/usr/local/elog/elogd.cfg
elogd 2.7.5 built Oct 22 2008, 13:37:35 revision 2130
FCKedit detected
Indexing logbooks ... done
Server listening on port 8000 ...
elogd: src/elogd.c:714: xfree: Assertion `*((unsigned int *) (temp + old_size)) == 0xdeadc0de' failed.

Program received signal SIGABRT, Aborted.
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7e3e875 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7e40201 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb7e37b6e in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4  0x0804b0b6 in xfree (pointer=0x9176298) at src/elogd.c:714
#5  0x08058903 in el_submit (lbs=0x90f8090, message_id=5, bedit=1, date=0xbfbe054c "<keep>", attr_name=0x824e1e0,
    attr_value=0xbfbb2db8, n_attr=2,
    text=0x8211140 "<table height=\"694\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"674\" style=\"margin-left: 72pt; border-collapse: collapse;\" class=\"MsoNormalTable\">\r\n    <tbody>\r\n        <tr style=\"\">\r\n          "...,
    in_reply_to=0xbfbe04ac "<keep>", reply_to=0xbfbdf678 "<keep>", encoding=0xbfbe04fc "HTML", afilename=0xbfbd77a8,
    mark_original=1, locked_by=0x0) at src/elogd.c:4819
#6  0x0809f721 in submit_elog (lbs=0x90f8090) at src/elogd.c:21934
#7  0x080b04e9 in interprete (lbook=0x90f8090 "Testing", path=0x80cdc60 "") at src/elogd.c:25816
#8  0x080b2a53 in decode_post (logbook=0xbfc0a1a0 "Testing", lbs=0x90f8090, string=0x9166614 "",
    boundary=0xbfc0a3a0 '-' <repeats 27 times>, "196291262324084", length=134670) at src/elogd.c:26382
#9  0x080b54fa in process_http_request (
    request=0x9145548 "POST /Testing/ HTTP/1.1\r\nHost: bba.eld.ki.sw.home.se:8000\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\nAccept: text/html,application/xht"..., i_conn=0)
    at src/elogd.c:26936
#10 0x080b7f0f in server_loop () at src/elogd.c:27746
#11 0x080ba36b in main (argc=3, argv=0xbfc0b924) at src/elogd.c:28797
(gdb) bt 100
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7e3e875 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7e40201 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb7e37b6e in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4  0x0804b0b6 in xfree (pointer=0x9176298) at src/elogd.c:714
#5  0x08058903 in el_submit (lbs=0x90f8090, message_id=5, bedit=1, date=0xbfbe054c "<keep>", attr_name=0x824e1e0,
    attr_value=0xbfbb2db8, n_attr=2,
    text=0x8211140 "<table height=\"694\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"674\" style=\"margin-left: 72pt; border-collapse: collapse;\" class=\"MsoNormalTable\">\r\n    <tbody>\r\n        <tr style=\"\">\r\n          "...,
    in_reply_to=0xbfbe04ac "<keep>", reply_to=0xbfbdf678 "<keep>", encoding=0xbfbe04fc "HTML", afilename=0xbfbd77a8,
    mark_original=1, locked_by=0x0) at src/elogd.c:4819
#6  0x0809f721 in submit_elog (lbs=0x90f8090) at src/elogd.c:21934
#7  0x080b04e9 in interprete (lbook=0x90f8090 "Testing", path=0x80cdc60 "") at src/elogd.c:25816
#8  0x080b2a53 in decode_post (logbook=0xbfc0a1a0 "Testing", lbs=0x90f8090, string=0x9166614 "",
    boundary=0xbfc0a3a0 '-' <repeats 27 times>, "196291262324084", length=134670) at src/elogd.c:26382
#9  0x080b54fa in process_http_request (
    request=0x9145548 "POST /Testing/ HTTP/1.1\r\nHost: bba.eld.ki.sw.home.se:8000\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\nAccept: text/html,application/xht"..., i_conn=0)
    at src/elogd.c:26936
#10 0x080b7f0f in server_loop () at src/elogd.c:27746
#11 0x080ba36b in main (argc=3, argv=0xbfc0b924) at src/elogd.c:28797
(gdb) f 4
#4  0x0804b0b6 in xfree (pointer=0x9176298) at src/elogd.c:714
714        assert(*((unsigned int *) (temp + old_size)) == 0xdeadc0de);
(gdb) info 4
Undefined info command: "4".  Try "help info".
(gdb) up
#5  0x08058903 in el_submit (lbs=0x90f8090, message_id=5, bedit=1, date=0xbfbe054c "<keep>", attr_name=0x824e1e0,
    attr_value=0xbfbb2db8, n_attr=2,
    text=0x8211140 "<table height=\"694\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"674\" style=\"margin-left: 72pt; border-collapse: collapse;\" class=\"MsoNormalTable\">\r\n    <tbody>\r\n        <tr style=\"\">\r\n          "...,
    in_reply_to=0xbfbe04ac "<keep>", reply_to=0xbfbdf678 "<keep>", encoding=0xbfbe04fc "HTML", afilename=0xbfbd77a8,
    mark_original=1, locked_by=0x0) at src/elogd.c:4819
4819       xfree(message);
(gdb) info 4
Undefined info command: "4".  Try "help info".
(gdb) info f
Stack level 5, frame at 0xbfb623c0:
 eip = 0x8058903 in el_submit (src/elogd.c:4819); saved eip 0x809f721
 called by frame at 0xbfbe05b0, caller of frame at 0xbfb135f0
 source language c.
 Arglist at 0xbfb135f8, args: lbs=0x90f8090, message_id=5, bedit=1, date=0xbfbe054c "<keep>", attr_name=0x824e1e0,
    attr_value=0xbfbb2db8, n_attr=2,
    text=0x8211140 "<table height=\"694\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"674\" style=\"margin-left: 72pt; border-collapse: collapse;\" class=\"MsoNormalTable\">\r\n    <tbody>\r\n        <tr style=\"\">\r\n          "...,
    in_reply_to=0xbfbe04ac "<keep>", reply_to=0xbfbdf678 "<keep>", encoding=0xbfbe04fc "HTML", afilename=0xbfbd77a8,
    mark_original=1, locked_by=0x0
 Locals at 0xbfb135f8, Previous frame's sp is 0xbfb623c0
 Saved registers:
  ebx at 0xbfb623b0, esi at 0xbfb623b4, edi at 0xbfb623b8, eip at 0xbfb623bc
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7e3e875 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7e40201 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb7e37b6e in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4  0x0804b0b6 in xfree (pointer=0x9176298) at src/elogd.c:714
#5  0x08058903 in el_submit (lbs=0x90f8090, message_id=5, bedit=1, date=0xbfbe054c "<keep>", attr_name=0x824e1e0,
    attr_value=0xbfbb2db8, n_attr=2,
    text=0x8211140 "<table height=\"694\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"674\" style=\"margin-left: 72pt; border-collapse: collapse;\" class=\"MsoNormalTable\">\r\n    <tbody>\r\n        <tr style=\"\">\r\n          "...,
    in_reply_to=0xbfbe04ac "<keep>", reply_to=0xbfbdf678 "<keep>", encoding=0xbfbe04fc "HTML", afilename=0xbfbd77a8,
    mark_original=1, locked_by=0x0) at src/elogd.c:4819
#6  0x0809f721 in submit_elog (lbs=0x90f8090) at src/elogd.c:21934
#7  0x080b04e9 in interprete (lbook=0x90f8090 "Testing", path=0x80cdc60 "") at src/elogd.c:25816
#8  0x080b2a53 in decode_post (logbook=0xbfc0a1a0 "Testing", lbs=0x90f8090, string=0x9166614 "",
    boundary=0xbfc0a3a0 '-' <repeats 27 times>, "196291262324084", length=134670) at src/elogd.c:26382
#9  0x080b54fa in process_http_request (
    request=0x9145548 "POST /Testing/ HTTP/1.1\r\nHost: bba.eld.ki.sw.home.se:8000\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\nAccept: text/html,application/xht"..., i_conn=0)
    at src/elogd.c:26936
#10 0x080b7f0f in server_loop () at src/elogd.c:27746
#11 0x080ba36b in main (argc=3, argv=0xbfc0b924) at src/elogd.c:28797
(gdb) info f 4
Stack frame at 0xbfb135f0:
 eip = 0x804b0b6 in xfree (src/elogd.c:714); saved eip 0x8058903
 called by frame at 0xbfb623c0, caller of frame at 0xbfb135c0
 source language c.
 Arglist at 0xbfb135bc, args: pointer=0x9176298
 Locals at 0xbfb135bc, Previous frame's sp is 0xbfb135f0
 Saved registers:
  eip at 0xbfb135ec
(gdb) info f 5
Stack frame at 0xbfb623c0:
 eip = 0x8058903 in el_submit (src/elogd.c:4819); saved eip 0x809f721
 called by frame at 0xbfbe05b0, caller of frame at 0xbfb135f0
 source language c.
 Arglist at 0xbfb135f8, args: lbs=0x90f8090, message_id=5, bedit=1, date=0xbfbe054c "<keep>", attr_name=0x824e1e0,
    attr_value=0xbfbb2db8, n_attr=2,
    text=0x8211140 "<table height=\"694\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"674\" style=\"margin-left: 72pt; border-collapse: collapse;\" class=\"MsoNormalTable\">\r\n    <tbody>\r\n        <tr style=\"\">\r\n          "...,
    in_reply_to=0xbfbe04ac "<keep>", reply_to=0xbfbdf678 "<keep>", encoding=0xbfbe04fc "HTML", afilename=0xbfbd77a8,
    mark_original=1, locked_by=0x0
 Locals at 0xbfb135f8, Previous frame's sp is 0xbfb623c0
 Saved registers:
  ebx at 0xbfb623b0, esi at 0xbfb623b4, edi at 0xbfb623b8, eip at 0xbfb623bc
(gdb)

 

 

The above "deadc0de" came from when I submitted an entry.

 

Where is one (note that it is another elogd version), I search all logbook for "pure .* ring" in subject in "Mode: Raw".

root@bba:/var/log# gdb --args /usr/sbin/elogd -f /var/run/elogd.pid -c /etc/elog.conf
GNU gdb 6.6-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(gdb) run
Starting program: /usr/sbin/elogd -f /var/run/elogd.pid -c /etc/elog.conf
elogd 2.7.4 built Aug  1 2008, 14:09:57 revision 2111
File "/var/run/elogd.pid" exists, using "/var/run/elogd.pid.8080" instead.
Refuse to overwrite existing file "/var/run/elogd.pid.8080".

Program exited with code 01.
(gdb) run
Starting program: /usr/sbin/elogd -f /var/run/elogd.pid -c /etc/elog.conf
elogd 2.7.4 built Aug  1 2008, 14:09:57 revision 2111
File "/var/run/elogd.pid" exists, using "/var/run/elogd.pid.8080" instead.
Falling back to default group "elog"
Falling back to default user "elog"
FCKedit detected
Falling back to default group "elog"
Falling back to default user "elog"
Cannot restore original GID/UID.
Cannot remove pidfile "/var/run/elogd.pid.8080"
; Permission denied
Indexing logbooks ... done
Server listening on port 8080 ...
elogd: src/elogd.c:686: xrealloc: Assertion `*((unsigned int *) (temp + old_size)) == 0xdeadc0de' failed.

Program received signal SIGABRT, Aborted.
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7dd0875 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7dd2201 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb7dc9b6e in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4  0x0804afbe in xrealloc (pointer=0x92a6788, bytes=400000) at src/elogd.c:686
#5  0x0805b72e in rsputs (str=0x80ccbf2 "\r\n") at src/elogd.c:5585
#6  0x0809702b in show_elog_list (lbs=0x916ca00, past_n=0, last_n=0, page_n=-1, default_page=1, info=0x0) at src/elogd.c:20256
#7  0x080b0cdb in interprete (lbook=0xbfa960d0 "MB2.0_Nk_resiliency_without_ro", path=0xbfa70774 "") at src/elogd.c:25955
#8  0x080b0f11 in decode_get (logbook=0xbfa960d0 "MB2.0_Nk_resiliency_without_ro", string=0xbfa95b0f "?mode")
    at src/elogd.c:25995
#9  0x080b455e in process_http_request (
    request=0x912c8e0 "GET /MB2.0_Nk_resiliency_without_ro/?mode=Raw&reverse=0&all=1&npp=1000&Subject=pure+.*+ring",
    i_conn=0) at src/elogd.c:26752
#10 0x080b7244 in server_loop () at src/elogd.c:27584
#11 0x080b96a0 in main (argc=5, argv=0xbfa97854) at src/elogd.c:28635

 I'm also having this problem.

It's reproducible, It happens if I try to view a certain entry (or the main list page when that entry is near the top), but goes away when I remove the datafile for that entry.

The file is quite large, since it contains several long entries in HTML encoding with some tables and stuff.

ELOG V3.1.5-fe60aaf