Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 290 of 807  Not logged in ELOG logo
ID Date Icon Author Author Email Category OSdown ELOG Version Subject
  68512   Fri Dec 16 14:44:19 2016 Agree Stefano Bonaldostefano.bonaldo.13@gmail.comBug fixMac OSX3.1.2Re: elogd crash on sorting the entries by an datetime attribute

Bug FIXED! Many thanks Stefan and my warmest congratulations for the elog project.

Stefano

 

Stefan Ritt wrote:

Ok I found it!

Was tricky. In my development environment (XCode) it worked fine. Only when I compiled elogd under Sierra on the command line, the probelm occured. That's why I did not see it earlier. It has to do with some functions Apple apparently changed ("strlcpy"). These function now have a new "functionality": When two parameters overlap, the function just aborts the process. This is specific to Sierre, so on any other Linux this does not happen. I changed now the soruce code to take care of the modified functions, and now it works fine. Please update to the newest GIT revision of elogd and recompile.

Stefan

 

  68519   Sat Dec 24 10:40:00 2016 Question Andreas Warburtonawarburt@physics.mcgill.caQuestionMac OSX3.1.2elogd crashes during Find and Mirror operations under MacOS

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

 

  68521   Tue Jan 3 09:20:23 2017 Reply Andreas Luedekeandreas.luedeke@psi.chQuestionMac OSX3.1.2Re: elogd crashes during Find and Mirror operations under MacOS
I have no experience with ELOG on OSX, therefore I can only give very vague and indirect support (sorry).
I suggest that you first try an installation without actual logbook data (just move it to a save place for a while). Does a "find" still crash elogd?
If elogd is still crashing, you should prune your configuration until it stops crashing. Submit the smallest config here that still crashes the logbook.
Since the logbook starts crashing after a sync, I would rather guess that it is somehow related to specific logbook entries. It would be helpful if you could isolate the offending entries.

Another approach would be to compile elogd with "make debug" and run it in the debugger. Once it crashes the debugger will show where it happened.

Happy New Year! Andreas

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

 

 

  68522   Tue Jan 3 09:44:18 2017 Reply Stefan Rittstefan.ritt@psi.chQuestionMac OSX3.1.2Re: elogd crashes during Find and Mirror operations under MacOS

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

 

 

  Draft   Tue Jan 3 12:43:56 2017 Reply Andreas Warburtonawarburt@physics.mcgill.caQuestionMac OSX3.1.2Re: elogd crashes during Find and Mirror operations under MacOS

 

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

 

 

 

  68524   Tue Jan 3 12:45:13 2017 Reply Andreas Warburtonawarburt@physics.mcgill.caQuestionMac OSX3.1.2Re: elogd crashes during Find and Mirror operations under MacOS

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

 

 

 

  68525   Tue Jan 3 12:58:13 2017 Reply Stefan Rittstefan.ritt@psi.chQuestionMac OSX3.1.2Re: elogd crashes during Find and Mirror operations under MacOS

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.)

 

  68539   Mon Jan 9 17:15:56 2017 Question Andreas Warburtonawarburt@physics.mcgill.caBug reportMac OSXV3.1.2-edc5e85elogd crashes during SSL Mirror operations involving attachments

My MacOS (10.12.2) elogd version V3.1.2 is a recent git commit (edc5e85), due to the fix to my earlier-described issue solved in the thread here: https://midas.psi.ch/elogs/Forum/68519.

I am trying to (re-)set up Mirror functionality with a linux server running the standard public (V3.1.2-bd75964).  I had initially updated the linux server so that it also had the latest git commit (edc5e85), but could then not even add new logbook entries that involved attachments to it.  I therefore rolled the linux server back to the standard public 3.1.2 version.

On the remote Mac, synchronizations usually look like they are going to work fine, with Mirror simulate = 1 switched on.  After I set Mirror simulate = 0, and if the server and remote logbook are already identical, I *occasionally* get the proper "All Entries Identical" synchronization result.  Unfortunately, this is very rare, and usually there is a failure whereby the remote (Mac) logbook decides that a significant fraction of its entries (usually sequential, from some seemingly random entry all the way up to the last entry) are missing on the linux server and need to be submitted back to the server from the remote Mac.

When the local and remote logbooks are not identical, and a record in need of synchronization contains an attachment, there is again destructive behaviour similar to that described above, except that the Mac elogd executable usually crashes.  (As in the case of the already-identical synchronizations described above, I only tested this after observing the correct expected behaviour first with Mirror simulate = 1.)

I'd be grateful for some help/suggestions.  My current testing suggests that my problems are likely not elog-content dependent.  (The logbook now undergoing synching has less than 10 entries in it.)

More generally, the issue of having things behave fine with Mirror simulate = 1, but then experiencing corruption/damage when switching to Mirror simulate = 0 seems serious to me.

Many thanks, Andreas

 
ELOG V3.1.5-3fb85fa6