elogd -m Error sending local entry: Error transmitting message, posted by Dave on Thu Mar 10 00:26:03 2016
|
I'm running ELOG on a seperate Windows Servers.
When I try to synchronize the logbooks using "elogd -m", I get an "Error sending local entry: Error transmitting message"
If I click on the "Synchronize" link in the logbook, it can correctly send entry to remote ELOG.
Can anyone tell me why I get this error?
==============================
Here is the command & output:
c:\Program Files (x86)\ELOG>elogd -m
Retrieving entries from "http://166.22.64.201/Equipment Log"...
All entries identical
Retrieving entries from "http://166.22.64.201/System Log"...
Error sending local entry: Error transmitting message |
elogd -m , posted by Dave on Thu Mar 10 00:16:33 2016
|
I'm running ELOG on a seperate Windows Servers.
When I try to synchronize the logbooks using "elogd -m", I get an "Error sending local entry: Error transmitting message"
If I click on the "Synchronize" link in the logbook, it can correctly send entry to remote ELOG.
Can anyone tell me why I get this error?
==============================
Here is the command & output:
c:\Program Files (x86)\ELOG>elogd -m
Retrieving entries from "http://166.22.64.201/Equipment Log"...
All entries identical
Retrieving entries from "http://166.22.64.201/System Log"...
Error sending local entry: Error transmitting message |
Execute new|edit doesn't seem to work, posted by Juergen Diefenbach on Fri Feb 26 17:35:54 2016
|
I am trying to use the "Execute new|edit|delete" feature to track changes to an elog using git.
When a new entry is created a shell script should be executed (certain attributes of the logbook entry should be passed as arguments to it). The script will then automatically stage all changes and create an appropriate git commit message. For a "new" entry in the logbook the commit message is a bit more verbose. When editing or deleting a message only a short commit message like "Edit message 25" should be created. Therefore I really need to distinguish between "new", "edit", and "delete".
However, I experienced unreproducible behavior when creating "new" entries. Sometimes the command specified by "Execute new=" is called, sometimes the one specified by "Execute edit=" is executed. Most of the time it doesn't work as expected. 
What I did so far to understand what goes wrong is I looked into elogd.c and found invoid submit_elog(LOGBOOK * lbs) that bedit is sometimes true and sometimes false, when creating a new entry, although it should be false then (right?).
This is why elogd then sometimes retrieves the wrong shell command from getcfg(lbs->name, "Execute edit"...) instead of getcfg(lbs->name, "Execute new"...) around line 23610 (not exact due to some eprintf()s inserted here and there to look at bedit and so on).
When deleting an entry, everything works fine: the shell command defined via "Execute delete=" is run, but this happens somewhere else in the code so it's not a surprise.
Do you have an idea how to fix this or can you point me in some direction to further track it down? Thank you! |
Re: Execute new|edit doesn't seem to work, posted by Andreas Luedeke on Sun Feb 28 18:24:58 2016
|
Juergen Diefenbach wrote: | I am trying to use the "Execute new|edit|delete" feature to track changes to an elog using git.
[...]
However, I experienced unreproducible behavior when creating "new" entries. Sometimes the command specified by "Execute new=" is called, sometimes the one specified by "Execute edit=" is executed. Most of the time it doesn't work as expected. 
[...]
Do you have an idea how to fix this or can you point me in some direction to further track it down? Thank you! |
I'm just guessing, but you could try to disable the "save drafts" feature and see if the behaviour changes:
Save drafts = 0
If that is the case then Stefan will know where to look 
Cheers
Andreas |
Re: Execute new|edit doesn't seem to work, posted by Juergen Diefenbach on Mon Mar 7 13:03:13 2016
|
Andreas Luedeke wrote: | I'm just guessing, but you could try to disable the "save drafts" feature and see if the behaviour changes:
Save drafts = 0
If that is the case then Stefan will know where to look 
Cheers
Andreas |
Alright, I tried "Save drafts = 0" in the config file and now it seems to work all the time as expected!
Thank you, Andreas!
In principle I could live with this as I don't think I need to have drafts enabled.
Cheers,
Jürgen |
Re: Execute new|edit doesn't seem to work, posted by Andreas Luedeke on Tue Mar 8 14:12:26 2016
|
Juergen Diefenbach wrote: |
Andreas Luedeke wrote: | I'm just guessing, but you could try to disable the "save drafts" feature and see if the behaviour changes:
Save drafts = 0
If that is the case then Stefan will know where to look 
Cheers
Andreas |
Alright, I tried "Save drafts = 0" in the config file and now it seems to work all the time as expected!
Thank you, Andreas!
In principle I could live with this as I don't think I need to have drafts enabled.
Cheers,
Jürgen |
I would speculate that "Execute new" is not executed, when a draft is saved (as one would expect, since it's only a draft), but is neither executed when a draft is submitted (not as one would expect).
Good that you're fine for the moment.
If you could add a minimal configuration to reproduce the problem, then Stefan would have it easier to debug it. |
Attribute Field Size Limited to 255 Characters, posted by Mike Bodine on Thu Mar 3 00:12:45 2016
|
I currently have an Attribute defined in my .cfg file as "Format <Attribute> = 0, attribname, attribvalue, 120, 500". I've found if I exceed 255 characters elogd.exe fails. Is there a method that will allow me to exceed 255 characters? |
Re: Attribute Field Size Limited to 255 Characters, posted by Andreas Luedeke on Thu Mar 3 14:51:55 2016
|
No. At least there is no simple method.
You would need to edit the source code and recompile elogd. But the number 256 is used for about 300 times in the source code, you'll have a hard time finding the right one to increase.
Cheers, Andreas
Mike Bodine wrote: |
I currently have an Attribute defined in my .cfg file as "Format <Attribute> = 0, attribname, attribvalue, 120, 500". I've found if I exceed 255 characters elogd.exe fails. Is there a method that will allow me to exceed 255 characters?
|
|
Attribute Field Size Limited to 255 Characters, posted by Mike Bodine on Thu Mar 3 00:02:26 2016
|
I currently have an Attribute defined in my .cfg file as "Format <Attribute> = 0, attribname, attribvalue, 120, 500". I've found if I exceed 255 characters elogd.exe fails. Is there a method that will allow me to exceed 255 characters? |
Links to images in notification message, posted by Devin Bougie on Fri Feb 26 17:20:52 2016
|
We see two problems with the notificaiton email when attaching an image inline using drag-and-drop.
- The thumbnail does not appear in its proper location inline. There is a ? placeholder where the thumbnail should be, and the thumbnail then appears at the end of the message.
- Neither the ? placeholder nor the thumbnail that do appear are clickable.
Our v2.9.2 test installation exhibits the desired behavior.
- The thumbnail appears in its correct location inline.
- If you click on the thumbnail, you arrive at a URL displaying the full size image.
I am not able to drag-and-drop into the body of this message to test the behavior here. I am attaching a screenshot showing an example of the problem from our server.
Any suggestions would be greatly appreciated.
Many thanks,
Devin
|
Re: Links to images in notification message, posted by Devin Bougie on Fri Feb 26 18:11:14 2016
|
From the notification I received, it looks like "2" is a problem with this server. In the email notification, we would like images to be a link to a URL displaying the full-size image (as they are in v2.9.2).
Thanks,
Devin |
Possible bug in elogd execute_shell, posted by Nigel Warr on Fri Feb 26 08:47:22 2016
|
I was just playing around with gcc6's new feature for warning about misleading indentation (which can often hide real bugs) and I think it found one in elog-3.1.1-1 at src/elogd.c:22538. Here there is an if statement, which looks as though it should be inside a loop, but it isn't. The code is:
for (i = 0; i < MAX_ATTACHMENTS; i++)
generate_subdir_name(att_file[i], subdir, sizeof(subdir));
if (att_file[i][0] && strlen(shell_cmd) + strlen(lbs->data_dir) + strl$
< sizeof(shell_cmd) + 1) {
strcpy(p, "\"");
strcat(p, lbs->data_dir);
strlcat(str, subdir, sizeof(str));
strlcpy(str, att_file[i], sizeof(str));
str_escape(str, sizeof(str));
strcat(p, str);
strcat(p, "\" ");
p += strlen(p);
}
and the if statment is accessing the loop variable i but it is actually outside the loop. Presumably, there should be some more curly brackets here. gcc6 gave the warning:
src/elogd.c: In function ‘execute_shell’:
src/elogd.c:22538:10: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation]
if (att_file[i][0] && strlen(shell_cmd) + strlen(lbs->data_dir) + strlen(subdir) + strlen(att_file[i])
^~
src/elogd.c:22536:7: note: ...this ‘for’ clause, but it is not
for (i = 0; i < MAX_ATTACHMENTS; i++)
^~~
|
Re: Possible bug in elogd execute_shell, posted by Stefan Ritt on Fri Feb 26 09:09:03 2016
|
Absolutely correct! Nice to see compilers getting better and better. I changed the code and committed it.
Nigel Warr wrote: |
I was just playing around with gcc6's new feature for warning about misleading indentation (which can often hide real bugs) and I think it found one in elog-3.1.1-1 at src/elogd.c:22538. Here there is an if statement, which looks as though it should be inside a loop, but it isn't. The code is:
for (i = 0; i < MAX_ATTACHMENTS; i++)
generate_subdir_name(att_file[i], subdir, sizeof(subdir));
if (att_file[i][0] && strlen(shell_cmd) + strlen(lbs->data_dir) + strl$
< sizeof(shell_cmd) + 1) {
strcpy(p, "\"");
strcat(p, lbs->data_dir);
strlcat(str, subdir, sizeof(str));
strlcpy(str, att_file[i], sizeof(str));
str_escape(str, sizeof(str));
strcat(p, str);
strcat(p, "\" ");
p += strlen(p);
}
and the if statment is accessing the loop variable i but it is actually outside the loop. Presumably, there should be some more curly brackets here. gcc6 gave the warning:
src/elogd.c: In function ‘execute_shell’:
src/elogd.c:22538:10: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation]
if (att_file[i][0] && strlen(shell_cmd) + strlen(lbs->data_dir) + strlen(subdir) + strlen(att_file[i])
^~
src/elogd.c:22536:7: note: ...this ‘for’ clause, but it is not
for (i = 0; i < MAX_ATTACHMENTS; i++)
^~~
|
|
Possible bug in elogd execute_shell, posted by Nigel Warr on Fri Feb 26 08:38:06 2016
|
I was just playing around with gcc6's new feature for warning about misleading indentation (which can often hide real bugs) and I think it found one in elog-3.1.1-1 at src/elogd.c:22538. Here there is an if statement, which looks as though it should be inside a loop, but it isn't. The code is:
for (i = 0; i < MAX_ATTACHMENTS; i++)
generate_subdir_name(att_file[i], subdir, sizeof(subdir));
if (att_file[i][0] && strlen(shell_cmd) + strlen(lbs->data_dir) + strl$
< sizeof(shell_cmd) + 1) {
strcpy(p, "\"");
strcat(p, lbs->data_dir);
strlcat(str, subdir, sizeof(str));
strlcpy(str, att_file[i], sizeof(str));
str_escape(str, sizeof(str));
strcat(p, str);
strcat(p, "\" ");
p += strlen(p);
}
and the if statment is accessing the loop variable i but it is actually outside the loop. Presumably, there should be some more curly brackets here. gcc6 gave the warning:
src/elogd.c: In function ‘execute_shell’:
src/elogd.c:22538:10: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation]
if (att_file[i][0] && strlen(shell_cmd) + strlen(lbs->data_dir) + strlen(subdir) + strlen(att_file[i])
^~
src/elogd.c:22536:7: note: ...this ‘for’ clause, but it is not
for (i = 0; i < MAX_ATTACHMENTS; i++)
^~~
|
|