E-log crash, posted by soren poulsen on Thu May 14 17:41:44 2009
|
Hi
I am having a little problem with e-log that I can easily reproduce.
I have defined a number of constraints on my e-log fields and I am testing what happens when the user does not respect them.
So this only happens when I am not observing the input formats or the mandatory fields.
This is the GDB trace. This is not very verbose, so I must learn to use the other tracers, I guess.
Server listening on port 8079 ...
Program received signal SIGSEGV, Segmentation fault.
0x0000000000414077 in is_script (
at src/elogd.c:5414
5414 for (i = 0; script_tags[i][0]; i++) {
(gdb)
Soren |
Re: E-log crash, posted by Stefan Ritt on Thu May 14 17:59:04 2009
|
soren poulsen wrote: |
Hi
I am having a little problem with e-log that I can easily reproduce.
I have defined a number of constraints on my e-log fields and I am testing what happens when the user does not respect them.
So this only happens when I am not observing the input formats or the mandatory fields.
This is the GDB trace. This is not very verbose, so I must learn to use the other tracers, I guess.
Server listening on port 8079 ...
Program received signal SIGSEGV, Segmentation fault.
0x0000000000414077 in is_script (
at src/elogd.c:5414
5414 for (i = 0; script_tags[i][0]; i++) {
(gdb)
Soren
|
It would be best if I could reproduce your problem. So can you start from a very simple configuration file, add your constraints until the problme happens, and then send me the config file? |
Re: E-log crash, posted by soren poulsen on Tue May 19 15:19:16 2009
|
Stefan Ritt wrote: |
soren poulsen wrote: |
Hi
I am having a little problem with e-log that I can easily reproduce.
I have defined a number of constraints on my e-log fields and I am testing what happens when the user does not respect them.
So this only happens when I am not observing the input formats or the mandatory fields.
This is the GDB trace. This is not very verbose, so I must learn to use the other tracers, I guess.
Server listening on port 8079 ...
Program received signal SIGSEGV, Segmentation fault.
0x0000000000414077 in is_script (
at src/elogd.c:5414
5414 for (i = 0; script_tags[i][0]; i++) {
(gdb)
Soren
|
It would be best if I could reproduce your problem. So can you start from a very simple configuration file, add your constraints until the problme happens, and then send me the config file?
|
Hi
The problem is not exactly what I thought, but I did track it down. Here is a logbook definition that reliably creates a segmentation fault in e-log. This logbook's only useful purpose is in fact to create a segmentation fault:
You select "New", then "Select", without entering anything.
--------------
Login user = Admin
Attributes = Link
Change Link = <a href="https://$Link"">$Link</a>
---------------
I would be able to create some more debugging information of course, if needed.
Regards
Soren
|
Re: elogd dies after receiving second SIGHUP, posted by Paul T. Keener on Wed Jun 3 19:53:13 2009
|
> > elogd continues to run after a SIGHUP. If a second SIGHUP is received the daemon terminates.
> > This was observed on Solaris 10 (SPARC).
> > The documentation states that elogd should re-read configuration after receiving SIGHUP.
>
> I tried to reproduce this but without success. I could send many SIGHUPs without the daemon terminating. Maybe
> you modified the configuration file in between and elogd barked out because of some wrong configuration? Try to
> start the daemon interactively and see what exactly happens if you send several SIGHUPs.
The problem is that under Solaris signal handlers installed via signal() get uninstalled *before* the signal handler
is called. Thus the second time elogd receives a SIGHUP, you get the default action, which is to kill the process.
The solution is to use the POSIX sigaction() call instead of signal(). |
Re: elogd dies after receiving second SIGHUP, posted by Stefan Ritt on Thu Jun 4 09:49:13 2009
|
> > > elogd continues to run after a SIGHUP. If a second SIGHUP is received the daemon terminates.
> > > This was observed on Solaris 10 (SPARC).
> > > The documentation states that elogd should re-read configuration after receiving SIGHUP.
> >
> > I tried to reproduce this but without success. I could send many SIGHUPs without the daemon terminating. Maybe
> > you modified the configuration file in between and elogd barked out because of some wrong configuration? Try to
> > start the daemon interactively and see what exactly happens if you send several SIGHUPs.
>
> The problem is that under Solaris signal handlers installed via signal() get uninstalled *before* the signal handler
> is called. Thus the second time elogd receives a SIGHUP, you get the default action, which is to kill the process.
>
> The solution is to use the POSIX sigaction() call instead of signal().
Can you try to modify the signal() calls into sigaction(). If this really works under Solaris, I will incorporate this
then into the distribution. |
Re: E-log crash, posted by Stefan Ritt on Thu Jun 4 14:05:58 2009
|
soren poulsen wrote: |
Hi
I am having a little problem with e-log that I can easily reproduce.
I have defined a number of constraints on my e-log fields and I am testing what happens when the user does not respect them.
So this only happens when I am not observing the input formats or the mandatory fields.
This is the GDB trace. This is not very verbose, so I must learn to use the other tracers, I guess.
Server listening on port 8079 ...
Program received signal SIGSEGV, Segmentation fault.
0x0000000000414077 in is_script (
at src/elogd.c:5414
5414 for (i = 0; script_tags[i][0]; i++) {
(gdb)
Soren
|
I had finally the same problem. This is due to a bug indeed inside is_script(). It has been fixed in revision 2201. |
Re: User can modify Fixed Attributes Edit when selecting preview, posted by Stefan Ritt on Thu Jun 4 14:37:54 2009
|
Allen wrote: |
Hi. I'm pretty new to ELOG, so I'm not sure if I'm doing something wrong.
I have a bunch of fields set so that after an entry has been submitted, they cannot edit certain fields. When I click the edit button, everything looks restricted as it should be, but if I click Preview, the user is then able to change the fixed attributes.
Is there anyway to remove the preview button inside the edit page, or is anyone else having this issue?
|
Thanks for reporting this bug. I fixed it in revision #2203. |
Re: Embedded images break when moving from one book to another., posted by Stefan Ritt on Thu Jun 4 15:37:44 2009
|
Mike wrote: |
Here's the issue. We use elog to develope products we need to be able to see all the thumbnail images in a
particular logbook. Our default view is to use the threaded view fully expanded in order to have all the thumbnails
be displayed for each product. This works fine but when we move one message to another logbook the thumbnails
end up getting broken and won't be displayed. The only way to fix this is to remove the image and re-upload the
picture after the message is moved. This is not a good option because we have hundrends of items that are
constantly being moved around from logbook to logbook. Any ideas?
Regards,
Mike
EDIT:
On further inspection it seems that when you are moving messages to another log book the image date filename
is re-written which of course breaks the html link to the image. Is there anyway to supress this so that the filename
stays in tact when it's moved from one book to another. I don't see why the name of an attachment has to get changed
just because something is moved around.
|
I fixed this in revision #2204. The attachment names now stay the same. There is one tiny risk of screwing up, namely if you have the same attachment name in two different logbooks (accidentally also submitted at the same second and therefore the same time stamp). If you then copy these two entries to a third logbook, one attachment will overwrite the other one, but that risk is indeed really small. I actually had to re-write the link to the attachment inside the text body (even differently for ELCode and HTML encoding). So I'm not 100% sure I covered all cases, so just give it a try. |