Re: elogd crashes during Find and Mirror operations under MacOS, posted by Stefan Ritt on Tue Jan 3 09:44:18 2017
|
The current GIT revision (c017d07) fixes the problem with the strlcpy() function (macOS 10.12.2, XCode 8.2). Can you try if that fixes your other problems, too?
Plese remember to use the recursive clone to get that version:
git clone https://bitbucket.org/ritt/elog --recursive
Stefan
Andreas Warburton wrote: |
When installing ELOG 3.1.2 on my Mac Sierra (10.12.2) with the latest XCode 8.2.1, it seemed to install fine but for one warning when building elogd:
cc -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -DHAVE_SSL -I /opt/local/include -o elogd
src/elogd.c crypt.o auth.o regex.o mxml.o -lssl
src/elogd.c:13840:13: warning: '__builtin___strlcpy_chk' will always overflow
destination buffer [-Wbuiltin-memcpy-chk-size]
strlcpy(user_email, user_list[i], NAME_LENGTH);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:105:3: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, src, len, __darwin_obsz (dest))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
My installation was done with "sudo make install", as the instructions state. I have also been using the prescribed "launchctl" approach.
1. Is the above warning something that needs attention/correcting?
2. My elogd crashes now every time that I attempt any kind of "Find" operation.
3. I synchronize my MacOS version of elog with a linux-based version on my university's web server. I have installed 3.1.2 on the linux server, and it is running there without problems. When I now try to synchronize my 3.1.2 ELOG on MacOS laptop with the same version on my linux server, it appears to do the first mirroring operation correctly, but elogd crashes when I try a second synchronization at a later time. (For now, I have "Mirror simulate = 1" to prevent inadvertent damage.)
Can anyone help me with the above points?
Thank you,
Andreas
|
|
Re: elogd crashes during Find and Mirror operations under MacOS, posted by Andreas Warburton on Tue Jan 3 12:43:56 2017
|
Stefan Ritt wrote: |
The current GIT revision (c017d07) fixes the problem with the strlcpy() function (macOS 10.12.2, XCode 8.2). Can you try if that fixes your other problems, too?
Plese remember to use the recursive clone to get that version:
git clone https://bitbucket.org/ritt/elog --recursive
Stefan
Andreas Warburton wrote: |
When installing ELOG 3.1.2 on my Mac Sierra (10.12.2) with the latest XCode 8.2.1, it seemed to install fine but for one warning when building elogd:
cc -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -DHAVE_SSL -I /opt/local/include -o elogd
src/elogd.c crypt.o auth.o regex.o mxml.o -lssl
src/elogd.c:13840:13: warning: '__builtin___strlcpy_chk' will always overflow
destination buffer [-Wbuiltin-memcpy-chk-size]
strlcpy(user_email, user_list[i], NAME_LENGTH);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:105:3: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, src, len, __darwin_obsz (dest))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
My installation was done with "sudo make install", as the instructions state. I have also been using the prescribed "launchctl" approach.
1. Is the above warning something that needs attention/correcting?
2. My elogd crashes now every time that I attempt any kind of "Find" operation.
3. I synchronize my MacOS version of elog with a linux-based version on my university's web server. I have installed 3.1.2 on the linux server, and it is running there without problems. When I now try to synchronize my 3.1.2 ELOG on MacOS laptop with the same version on my linux server, it appears to do the first mirroring operation correctly, but elogd crashes when I try a second synchronization at a later time. (For now, I have "Mirror simulate = 1" to prevent inadvertent damage.)
Can anyone help me with the above points?
Thank you,
Andreas
|
|
|
Re: elogd crashes during Find and Mirror operations under MacOS, posted by Andreas Warburton on Tue Jan 3 12:45:13 2017
|
Thank you very much (both Andreas and Stefan)! The build now runs without warnings, and I am now able to do Find operations without crashes. I still am having some issues with the synchronization, but I suspect that this is elog-content related, so will in the coming days do some more testing from CERN (where I have higher bandwidth with my home institution in Canada). Incidentally, I had to add a line to Makefile in order to be able to build on my Mac. See below, in case you want to update the Mac Makefile for others.
Many thanks again,
Andreas
ifdef USE_SSL
ifneq ($(USE_SSL),0)
CFLAGS += -DHAVE_SSL
CFLAGS += -I /opt/local/include
LIBS += -lssl
endif
endif
(You may wish to update the distribution if you think it may benefit other Mac users.)
Stefan Ritt wrote: |
The current GIT revision (c017d07) fixes the problem with the strlcpy() function (macOS 10.12.2, XCode 8.2). Can you try if that fixes your other problems, too?
Plese remember to use the recursive clone to get that version:
git clone https://bitbucket.org/ritt/elog --recursive
Stefan
Andreas Warburton wrote: |
When installing ELOG 3.1.2 on my Mac Sierra (10.12.2) with the latest XCode 8.2.1, it seemed to install fine but for one warning when building elogd:
cc -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -DHAVE_SSL -I /opt/local/include -o elogd
src/elogd.c crypt.o auth.o regex.o mxml.o -lssl
src/elogd.c:13840:13: warning: '__builtin___strlcpy_chk' will always overflow
destination buffer [-Wbuiltin-memcpy-chk-size]
strlcpy(user_email, user_list[i], NAME_LENGTH);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:105:3: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, src, len, __darwin_obsz (dest))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
My installation was done with "sudo make install", as the instructions state. I have also been using the prescribed "launchctl" approach.
1. Is the above warning something that needs attention/correcting?
2. My elogd crashes now every time that I attempt any kind of "Find" operation.
3. I synchronize my MacOS version of elog with a linux-based version on my university's web server. I have installed 3.1.2 on the linux server, and it is running there without problems. When I now try to synchronize my 3.1.2 ELOG on MacOS laptop with the same version on my linux server, it appears to do the first mirroring operation correctly, but elogd crashes when I try a second synchronization at a later time. (For now, I have "Mirror simulate = 1" to prevent inadvertent damage.)
Can anyone help me with the above points?
Thank you,
Andreas
|
|
|
Re: elogd crashes during Find and Mirror operations under MacOS, posted by Stefan Ritt on Tue Jan 3 12:58:13 2017
|
Ah, thanks for telling me. I added that to the Makefile. I did not need this because I had in my .profiel following line
export C_INCLUDE_PATH=/opt/local/include
which I need also for other macports-based projects. But having this twice does not hurt.
/Stefan
Andreas Warburton wrote: |
Incidentally, I had to add a line to Makefile in order to be able to build on my Mac. See below, in case you want to update the Mac Makefile for others.
Many thanks again,
Andreas
ifdef USE_SSL
ifneq ($(USE_SSL),0)
CFLAGS += -DHAVE_SSL
CFLAGS += -I /opt/local/include
LIBS += -lssl
endif
endif
(You may wish to update the distribution if you think it may benefit other Mac users.)
|
|
Re: elogd crash on sorting the entries by an datetime attribute, posted by Stefan Ritt on Thu Dec 15 13:59:14 2016
|
I tried your config file on my Mac and it just worked fine without any crash:

Could it be that on entry has corrupt data and is killing your server? Have you tried on a pristine new logbook?
Stefan
stefano bonaldo wrote: |
Hello,
I'm facing with a crash, which happen when I sort the entries by a datetime attribute (sort or rsort) and then i change the display mode from Full, Summary and Threaded.
For example, the elogd crashes when I try to connect from the Full display to Summary in sort mode. The issue presents for example by entering with the following URL:
http://host.name.com:8080/65+nm/?mode=summary&sort=Record+date
Can you please help me?
Here I reduced my elogd.cfg at minimum and I still get this issue:
[global]
port = 8080
[65 nm]
Attributes = Record date
Type Record date = datetime
Preset Record date = $date
List Display = Record date
Start page = ?sort=Record date
|
|
Re: elogd crash on sorting the entries by an datetime attribute, posted by Stefano Bonaldo on Thu Dec 15 14:44:32 2016
|
Hello Stefan, thanks for your answer. So I made a new logbook, without entries. I generated, as you, two new entries and I discover that this problem come out when in the URL the command for the sorting follow the command of the display mode. So for example the following URL give me the issue:
http://local.host.com:8080/65+nm/?mode=summary&sort=Record+date
But if I put:
http://local.host.com:8080/65+nm/?sort=Record+date&mode=summary
This last URL is working. This means that the issue come out, when I change the dispay mode by the buttons "Full, Summary, Threaded" and then I click on the Coloumn "Record date" for sorting it. Hope you understand and you can reproduce it. Many thanks
EDIT: I'm facing the same problem on another MAC with a fresh installation of elogd.
Stefan Ritt wrote: |
I tried your config file on my Mac and it just worked fine without any crash:

Could it be that on entry has corrupt data and is killing your server? Have you tried on a pristine new logbook?
Stefan
stefano bonaldo wrote: |
Hello,
I'm facing with a crash, which happen when I sort the entries by a datetime attribute (sort or rsort) and then i change the display mode from Full, Summary and Threaded.
For example, the elogd crashes when I try to connect from the Full display to Summary in sort mode. The issue presents for example by entering with the following URL:
http://host.name.com:8080/65+nm/?mode=summary&sort=Record+date
Can you please help me?
Here I reduced my elogd.cfg at minimum and I still get this issue:
[global]
port = 8080
[65 nm]
Attributes = Record date
Type Record date = datetime
Preset Record date = $date
List Display = Record date
Start page = ?sort=Record date
|
|
|
Re: elogd crash on sorting the entries by an datetime attribute, posted by Alan Grant on Thu Dec 15 15:42:06 2016
|
Hi Stefano.
This may or may not have anything to do with your specific problem but I notice you have the single word "date" as part of your attribute name and Date is actually a reserved word in Elog. Although your attribute is not exclusively called "date" I have found that even using "date" as an isolated word within an attribute name (eg: Record date vs Record_date) can cause some issues. In my case, it caused a problem with the elog client when trying to update records which was only resolved when I changed the name of the attribute to Date/Time Received from Date and Time Received. Long story short, I avoid using any reserved words as part of attribute names.
Alan.
stefano bonaldo wrote: |
Hello,
I'm facing with a crash, which happen when I sort the entries by a datetime attribute (sort or rsort) and then i change the display mode from Full, Summary and Threaded.
For example, the elogd crashes when I try to connect from the Full display to Summary in sort mode. The issue presents for example by entering with the following URL:
http://host.name.com:8080/65+nm/?mode=summary&sort=Record+date
Can you please help me?
Here I reduced my elogd.cfg at minimum and I still get this issue:
[global]
port = 8080
[65 nm]
Attributes = Record date
Type Record date = datetime
Preset Record date = $date
List Display = Record date
Start page = ?sort=Record date
|
|
Re: elogd crash on sorting the entries by an datetime attribute, posted by Stefano Bonaldo on Fri Dec 16 02:44:53 2016
|
Hello Alan,
I tried with a new logbook with an attribute without "date" name, but unfortunately I got the same error. Any other suggestions?
Thanks
Alan Grant wrote: |
Hi Stefano.
This may or may not have anything to do with your specific problem but I notice you have the single word "date" as part of your attribute name and Date is actually a reserved word in Elog. Although your attribute is not exclusively called "date" I have found that even using "date" as an isolated word within an attribute name (eg: Record date vs Record_date) can cause some issues. In my case, it caused a problem with the elog client when trying to update records which was only resolved when I changed the name of the attribute to Date/Time Received from Date and Time Received. Long story short, I avoid using any reserved words as part of attribute names.
Alan.
stefano bonaldo wrote: |
Hello,
I'm facing with a crash, which happen when I sort the entries by a datetime attribute (sort or rsort) and then i change the display mode from Full, Summary and Threaded.
For example, the elogd crashes when I try to connect from the Full display to Summary in sort mode. The issue presents for example by entering with the following URL:
http://host.name.com:8080/65+nm/?mode=summary&sort=Record+date
Can you please help me?
Here I reduced my elogd.cfg at minimum and I still get this issue:
[global]
port = 8080
[65 nm]
Attributes = Record date
Type Record date = datetime
Preset Record date = $date
List Display = Record date
Start page = ?sort=Record date
|
|
|
|