Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 571 of 808  Not logged in ELOG logo
    icon2.gif   Re: elog (2.6.1+r1642 ubuntu/debian) regularly becomes non-responsive (w/o crashing), posted by Kevin O'Sullivan on Fri Jan 16 23:54:46 2009 
I'm actually still having this issue in Ubuntu and I'm running elog version 2.7.5. In fact, now it's worse in 2.7.5 than in previous version because sometimes I have to restart the machine to get elog working again.

Is there anything I can do to help you find potential bugs with Ubuntu?




Stefan Ritt wrote:

Peter Kovac wrote:
First, the problem. Fairly regularly (at least once a week, perhaps more), our elog daemon seems to quietly die. The process is still running but anyone attempting to access the server gets "connection refused." The elog log doesn't show anything and the apache logs just show "proxy: Error reading from remote server returned by [path]". Calling a daemon restart doesn't seem to kill the daemon -- I get a "could not bind to port" error. Using kill and then starting the daemon again fixes the problem for a few days and then we start over.

The particulars:
We are running elog on an Ubuntu (6.06 Dapper Drake LTS) web server.
It's currently version 2.6.1+r1642 pulled via apt-get from the Debian repositories.
elog is hiding behind an apache2+SSL proxy.

Any thoughts? Has anyone else seen this behavior? My next step is probably to compile 2.6.2 and remove the packaged flavor but I wanted to see if this was a known bug...


There are three reasons why an elog server can go into an infinite loop:

  • A bug which has been fixed in meantime. If you can give a try to 2.6.2-1750 or so that could help. I'm not sure if this version is already in the Debian distribution since I'm not the maintainer there.
  • A corrupted log file. If one of the YYMMDDa.log file get some garbage (maybe due to hard disk problems etc.) the elogd server can run into an infinite loop. In that case examine all log files to see if there is anything wrong. If so, edit it manually and restart elogd.
  • Some not yet found bug. One never can exclude this of course, but at this forum I have elogd running under similar conditions like you, and it runs for months without problems.
    icon2.gif   Re: elog (2.6.1+r1642 ubuntu/debian) regularly becomes non-responsive (w/o crashing), posted by John Rouillard on Sat Jan 17 08:16:19 2009 

Kevin O'Sullivan wrote:
I'm actually still having this issue in Ubuntu and I'm running elog version 2.7.5. In fact, now it's worse in 2.7.5 than in previous version because sometimes I have to restart the machine to get elog working again.

Is there anything I can do to help you find potential bugs with Ubuntu?


What does "lsof -p pid" on the elogd process show, how about "strace -p pid"?

Since you are using elogd with an apache providing reverse proxy, I wonder if one of
the httpd processes isn't properly closing it's connection when it's done. That would
hang the elogd process since it's single threaded and non forking (IIRC).

Also why do you need to restart the box, does killing and restarting the elogd process not work?
When you kill elogd, does 'sudo netstat -anp' show anything listening at the elogd port?

-- rouilj
icon5.gif   Running elog as ordinnary user, posted by G. Vandemoortele on Fri Jan 27 20:40:00 2006 
Hello,

I've configured elog with some commands running a shell :

Preset R-Date = $shell(/usr/bin/date +"%Y/%m/%d %H:%S")
; for testing :
Preset $text = $shell(whoami && set)
Preset $text = Some fixed text

That worked well when elog was started by root (and falling to user elog),
but later, I moved all the elog tree to /home/my_name/.elog,
(I'd like to start it only when I'm logged, it's only for personnal data)
changed all the attributes/permissions ($chown -R my_name:my_group .elog)
and none of these commands still works ! I use the -x option to allow
shell substitution.

More surprisingly, even the fixed text doesn't work (???)

Any explanation ?

By the way, I also seen that it is necessary to set Usr and Grp to "elog"
via the config file even when it's started by root, because otherwise,
you always get the strings 'Falling back to default group "elog"' and
Falling back to default user "elog" in the output of the shell substitutions.

Regards,

Gauthier
    icon2.gif   Re: Running elog as ordinnary user, posted by Stefan Ritt on Fri Jan 27 23:18:07 2006 

G. Vandemoortele wrote:
I've configured elog with some commands running a shell :

Preset R-Date = $shell(/usr/bin/date +"%Y/%m/%d %H:%S")
; for testing :
Preset $text = $shell(whoami && set)
Preset $text = Some fixed text

That worked well when elog was started by root (and falling to user elog),
but later, I moved all the elog tree to /home/my_name/.elog,
(I'd like to start it only when I'm logged, it's only for personnal data)
changed all the attributes/permissions ($chown -R my_name:my_group .elog)
and none of these commands still works ! I use the -x option to allow
shell substitution.

More surprisingly, even the fixed text doesn't work (???)


First of all, you could use

Preset R-Date = $date

instead of the shell command. Secondly, the command

Preset $text = $shell(whoami && set)

is wrong. Replace it by

Preset text = $shell(whoami && set)

without the "$".


G. Vandemoortele wrote:
By the way, I also seen that it is necessary to set Usr and Grp to "elog"
via the config file even when it's started by root, because otherwise,
you always get the strings 'Falling back to default group "elog"' and
Falling back to default user "elog" in the output of the shell substitutions.


There is a good reason for that. If you run elogd as root, this can open a dangerous hole into your system. If there would be any bug in elog, an attacker could gain root access easily. By falling back to a non-root user, the damage can be minimized. As a precaustion, elog falls back to Usr and Grp "elog" if that setting is missing in the config file.

When you run elog under your user name, this fallback is not necessary. Why you got the message 'Falling back' is a mystery to me. I tried to reproduce that, so I run under a non-root account with following config:
[global]
port = 1234

[demo]
Attributes = Subject
Preset Subject = $shell(date +"%Y/%m/%d %H:%S")
and correctly got the date in the "Subject" field with ELOG V2.6.1-1640.
    icon2.gif   Re: Running elog as ordinnary user, posted by G. Vandemoortele on Sat Jan 28 10:40:18 2006 

Stefan Ritt wrote:

First of all, you could use

Preset R-Date = $date

instead of the shell command. Secondly, the command

Preset $text = $shell(whoami && set)

is wrong. Replace it by

Preset text = $shell(whoami && set)

without the "$".


I'm sorry ; even with this correction, none of the preset strings created with
a substitution mechanism (shell or built-in) works when elogd is started as
ordinnary user. I've tried the same config file /home/gv/.elog/elogd.cfg :
port = 8080
Language = french
Main Tab = Accueil
Usr = gv
Grp = users
Logbook dir = /home/gv/.elog/logbooks


[gauthier]
Self register = 1
Password file = passwd

Theme = default
Comment = Logbook personnel
Default encoding = 1
Time format = %a, %d/%m/%Y %H:%M
Attributes = Type, Statut, Priorité, Sujet, R-Date
Preset R-Date = $shell(/usr/bin/date +"%Y/%m/%d %H:%S")
Preset text = $shell(whoami && set)
;Preset text = Blablabla                                       
;Preset text = $date                                           
Start page = ?rsort=Record date
List display = R-Date, Type, Statut, Priorité, Sujet
Options Type = Divers, Lectures, Musique, Aca, Finances, Santé
Options Statut = A faire, Exécuté, Journal
Options Priorité = 0, 1, 2, 3
Preset  Priorité = 0
Extendable Options = Type
Thread display = $sujet ($entry time)
Required Attributes = Type, Sujet
Page Title = ELOG - $subject
Reverse sort = 1
Quick filter = R-Date, Statut, Type
Sort Attributes = Priorité, R-Date


Started via root (# /usr/sbin/elogd -c /home/gv/.elog/elogd.cfg -x), it works,
but via "gv" ($ /usr/sbin/elogd -c /home/gv/.elog/elogd.cfg -x), it doesn't.

Regards,

Gauthier
    icon2.gif   Re: Running elog as ordinnary user, posted by Stefan Ritt on Sat Jan 28 12:54:03 2006 screendump.png

G. Vandemoortele wrote:
Started via root (# /usr/sbin/elogd -c /home/gv/.elog/elogd.cfg -x), it works,
but via "gv" ($ /usr/sbin/elogd -c /home/gv/.elog/elogd.cfg -x), it doesn't.


I tried with your config file, and it works fine (see attached screendump). So I have no clue right now why it is not working in your case.
icon5.gif   redirect errors via apache2, posted by djek on Mon Jan 23 10:30:51 2006 
Since elog 2.6.0 we cannot redirect our elog via apache2.

in apache2.conf we have (had for a long time):
Redirect permanent /elog http://elog.oursite.com/elog/
ProxyPass /elog/ http://elog.oursite.com:8080/

When visiting the url, this results in:
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /elog/myelog/.

After testing we found that ELOG V2.6.0-beta2 works just fine.
2.6.0 stable crashes after visiting a redirected url.

Running on debian sarge
    icon2.gif   Re: redirect errors via apache2, posted by Stefan Ritt on Mon Jan 23 10:57:45 2006 
> Since elog 2.6.0 we cannot redirect our elog via apache2.
> 
> in apache2.conf we have (had for a long time):
> Redirect permanent /elog http://elog.oursite.com/elog/
> ProxyPass /elog/ http://elog.oursite.com:8080/
> 
> When visiting the url, this results in:
> The proxy server received an invalid response from an upstream server.
> The proxy server could not handle the request GET /elog/myelog/.
> 
> After testing we found that ELOG V2.6.0-beta2 works just fine.
> 2.6.0 stable crashes after visiting a redirected url.
> 
> Running on debian sarge

Have you tried 2.6.1. I released it just recently, so I don't know when it will be available for Debian. Have you
checked that your "URL = xxx" statement in the config file is correct? I see above "myelog", while the proxy
passes requests to "elog".
ELOG V3.1.5-3fb85fa6