Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 746 of 806  Not logged in ELOG logo
ID Date Icon Author Author Email Categorydown OS ELOG Version Subject
  68952   Tue Apr 30 14:07:52 2019 Reply Alessio Sartialessio.sarti@uniroma1.itBug reportMac OSX3.1.4Re: elogd Service exited with abnormal code: 1

Actually it is a little bit more difficult than that.

I have restarted elogd and got a crash but this time it seems related to a different logbook...

Below the stack trace..

Alessio

 

 

2019-04-30 13:58:52.408845+0200 elogd[22152:2009063] detected source and destination buffer overlap

Process 22152 stopped

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT

    frame #0: 0x00007fff7a1272c6 libsystem_kernel.dylib`__pthread_kill + 10

libsystem_kernel.dylib`__pthread_kill:

->  0x7fff7a1272c6 <+10>: jae    0x7fff7a1272d0            ; <+20>

    0x7fff7a1272c8 <+12>: movq   %rax, %rdi

    0x7fff7a1272cb <+15>: jmp    0x7fff7a121457            ; cerror_nocancel

    0x7fff7a1272d0 <+20>: retq   

Target 0: (elogd) stopped.

(lldb) 

error: No auto repeat.

(lldb) thread backtrace all

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT

  * frame #0: 0x00007fff7a1272c6 libsystem_kernel.dylib`__pthread_kill + 10

    frame #1: 0x00007fff7a1dcbf1 libsystem_pthread.dylib`pthread_kill + 284

    frame #2: 0x00007fff7a0916a6 libsystem_c.dylib`abort + 127

    frame #3: 0x00007fff7a091819 libsystem_c.dylib`abort_report_np + 177

    frame #4: 0x00007fff7a0b5cb1 libsystem_c.dylib`__chk_fail + 48

    frame #5: 0x00007fff7a0b5cc1 libsystem_c.dylib`__chk_fail_overlap + 16

    frame #6: 0x00007fff7a0b5ce3 libsystem_c.dylib`__chk_overlap + 34

    frame #7: 0x00007fff7a0b5d39 libsystem_c.dylib`__strlcpy_chk + 58

    frame #8: 0x00000001000684e3 elogd`subst_param(str="&Type=%5EInfo%24", size=1500, param="last", value="") at elogd.c:18712:7

    frame #9: 0x000000010004bbaa elogd`show_elog_list(lbs=0x0000000103801008, past_n=0, last_n=0, page_n=0, default_page=YES, info=0x0000000000000000) at elogd.c:20183:7

    frame #10: 0x000000010008ee58 elogd`interprete(lbook="FOOTGsi2019", path="") at elogd.c:28543:7

    frame #11: 0x000000010008f096 elogd`decode_get(logbook="FOOTGsi2019", string="?last") at elogd.c:28583:4

    frame #12: 0x00000001000937fd elogd`process_http_request(request="GET /FOOTGsi2019/?last=_all_&Type=%5EInfo%24", i_conn=2) at elogd.c:29361:7

    frame #13: 0x0000000100097744 elogd`server_loop at elogd.c:30375:20

    frame #14: 0x000000010009a073 elogd`main(argc=3, argv=0x00007ffeefbffc20) at elogd.c:31403:4

    frame #15: 0x00007fff79fec3d5 libdyld.dylib`start + 1

Alessio Sarti wrote:

I was finally able to catch the crash.

I paste below the info provided by lldb..

It seems that it has something to do with the 'first' logbook that contains 115 entries and is displayed in 6 pages.

But I do not know how to go any further... 

Any idea on how to debug from now on?

Thanks!

 

2019-04-30 12:32:27.602782+0200 elogd[19289:1908166] detected source and destination buffer overlap

Process 19289 stopped

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT

    frame #0: 0x00007fff7a1272c6 libsystem_kernel.dylib`__pthread_kill + 10

libsystem_kernel.dylib`__pthread_kill:

->  0x7fff7a1272c6 <+10>: jae    0x7fff7a1272d0            ; <+20>

    0x7fff7a1272c8 <+12>: movq   %rax, %rdi

    0x7fff7a1272cb <+15>: jmp    0x7fff7a121457            ; cerror_nocancel

    0x7fff7a1272d0 <+20>: retq   

Target 0: (elogd) stopped.

 

(lldb) thread backtrace all

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT

  * frame #0: 0x00007fff7a1272c6 libsystem_kernel.dylib`__pthread_kill + 10

    frame #1: 0x00007fff7a1dcbf1 libsystem_pthread.dylib`pthread_kill + 284

    frame #2: 0x00007fff7a0916a6 libsystem_c.dylib`abort + 127

    frame #3: 0x00007fff7a091819 libsystem_c.dylib`abort_report_np + 177

    frame #4: 0x00007fff7a0b5cb1 libsystem_c.dylib`__chk_fail + 48

    frame #5: 0x00007fff7a0b5cc1 libsystem_c.dylib`__chk_fail_overlap + 16

    frame #6: 0x00007fff7a0b5ce3 libsystem_c.dylib`__chk_overlap + 34

    frame #7: 0x00007fff7a0b5d39 libsystem_c.dylib`__strlcpy_chk + 58

    frame #8: 0x000000010006a7ac elogd`build_ref(ref="page6?&sort=Subject", size=256, mode="full", expand="", attach="", new_entries="") at elogd.c:19021:7

    frame #9: 0x000000010006aaf6 elogd`show_page_filters(lbs=0x0000000102804308, n_msg=115, page_n=6, mode_commands=YES, mode="Summary") at elogd.c:19072:10

    frame #10: 0x00000001000536b8 elogd`show_elog_list(lbs=0x0000000102804308, past_n=0, last_n=0, page_n=6, default_page=NO, info=0x0000000000000000) at elogd.c:21506:10

    frame #11: 0x000000010008ee58 elogd`interprete(lbook="first", path="") at elogd.c:28543:7

    frame #12: 0x000000010008f096 elogd`decode_get(logbook="first", string="?id") at elogd.c:28583:4

    frame #13: 0x00000001000937fd elogd`process_http_request(request="GET /first?id=108&sort=Subject", i_conn=0) at elogd.c:29361:7

    frame #14: 0x0000000100097744 elogd`server_loop at elogd.c:30375:20

    frame #15: 0x000000010009a073 elogd`main(argc=3, argv=0x00007ffeefbffc20) at elogd.c:31403:4

    frame #16: 0x00007fff79fec3d5 libdyld.dylib`start + 1

 

 

Stefan Ritt wrote:

What you recommend is enough. Just make sure to compile elogd with the flags mentioned before, and when you get the segment violation, do a stack trace inside the debugger to learn where the fault happend. Maybe also print the contents of some variables at the current location.

Stefan

Alessio Sarti wrote:

Thanks for the prompt feedback.

a) I confirm that the problems shows up also when running interactively the elog through  elogd -p 8080

b) I am trying to catch the exit using lldb on the mac machine. I will be able to give you some feedback on that I hope in the next week (not easy access to the server)

c) What is the clean - recommended way to port everything on the linux machine and debug? I would do the following: download/install elog on a linux server, 'copy' all that now lives under /usr/local/elog on the mac one on the linux server, start the elog... is this ok? or there's anything else that I need to copy from the mac server to be sure to have the same environment?

Thanks again.

Alessio

 

Stefan Ritt wrote:

This kind of behavior we typically see if some elog entry is corrupt. After a few hours you might access this corrupt entry by accident, and then the server stops. If you see however this behavior on a fresh logbook with no corrupt entries, then the problem must lie somewhere else.

Do you see the same problem running under linux?

Do you see the same problem if you run elogd interactively (not through launchd)?

If you run elogd inside a debugger (like gdb or lldb), what does the debugger tell you when it crashes and you show the stack frames? Make sure to compile with -O0 and -g flags to include debug information in the executable.

Stefan 

Alessio Sarti wrote:

Dear all.

I am running elog 

elogd 3.1.4 , revision ead6bbc6

on Macosx Mojave

Darwin arpg-serv.ing2.uniroma1.it 18.5.0 Darwin Kernel Version 18.5.0: Mon Mar 11 20:40:32 PDT 2019; root:xnu-4903.251.3~3/RELEASE_X86_64 x86_64

I managed to compile and run without problems the elog source code.

I can run it and have it properly displayed at boot time. After the server boot, for few hours, I have the elog ready at http://arpg-serv.ing2.uniroma1.it/elog  but then, after few hours.. I get that the service stops and the elog is no longer accessible.

So far I was able to track down the problems only to the 

/var/log/system.log

file in which I find a not useful error message:

Eg: Apr 23 14:00:46 arpg-serv com.apple.xpc.launchd[1] (ch.psi.elogd[85248]): Service exited with abnormal code: 1

I do not know I can I debug this nor why the code runs for few hours without problems... I just re-downloaded the code from scratch today, unloaded and then re-loaded the daemon but still it fails with the same error.

I am sure that I can get it running again for few hours by re-booting. But I want to understand the source of the problem.. Anyone can be of help on this long standing issue?

Thanks

 

 

 

 

 

  68955   Wed May 1 10:59:59 2019 Reply Stefan Rittstefan.ritt@psi.chBug reportMac OSX3.1.4Re: elogd Service exited with abnormal code: 1

Ok, that helped. It looks to me that the strlcpy() function from MacOSC does not like overlapping stings as parameters. Funny that this does not happen on my Mac (Mojave 10.14.4). I fixed the two cases you reported (lines 18712 and 19021) and committed the changes to bitbucket, from where you can pull and test it again (see https://elog.psi.ch/elog/download.html for instructions). If it happens again, please report the line number in elogd.c like here (where it is 19021:7):

frame #8: 0x000000010006a7ac elogd`build_ref(ref="page6?&sort=Subject", size=256, mode="full", expand="", attach="", new_entries="") at elogd.c:19021:7

Good luck!

Stefan

  68959   Thu May 2 09:47:41 2019 Reply Alessio Sartialessio.sarti@uniroma1.itBug reportMac OSX3.1.4Re: elogd Service exited with abnormal code: 1

Thanks a lot for providing a quick fix!

The elog is now happily running since two days without problems :)

I will get back to you in case anything else shows up.

Thanks a lot again.

Stefan Ritt wrote:

Ok, that helped. It looks to me that the strlcpy() function from MacOSC does not like overlapping stings as parameters. Funny that this does not happen on my Mac (Mojave 10.14.4). I fixed the two cases you reported (lines 18712 and 19021) and committed the changes to bitbucket, from where you can pull and test it again (see https://elog.psi.ch/elog/download.html for instructions). If it happens again, please report the line number in elogd.c like here (where it is 19021:7):

frame #8: 0x000000010006a7ac elogd`build_ref(ref="page6?&sort=Subject", size=256, mode="full", expand="", attach="", new_entries="") at elogd.c:19021:7

Good luck!

Stefan

 

  68986   Fri Jun 14 11:29:30 2019 Warning Sebastian Schenksebastian.schenk@physik.uni-halle.deBug reportAll3.1.4Find cannot find values with brackets

For demonstration, I created https://elog.psi.ch/elogs/Linux+Demo/8

The Find search for category aaa(bb) does not give results.
A quick filter corrects the value to aaa\(bb) and delivers results.

I made a simple fix and submitted it as PR to the bitbucket repository.

  68987   Fri Jun 14 12:43:04 2019 Reply Stefan Rittstefan.ritt@psi.chBug reportAll3.1.4Re: Find cannot find values with brackets

I‘m happy to merge the PR after a quick test next week.

Stefan

Sebastian Schenk wrote:

For demonstration, I created https://elog.psi.ch/elogs/Linux+Demo/8

The Find search for category aaa(bb) does not give results.
A quick filter corrects the value to aaa\(bb) and delivers results.

I made a simple fix and submitted it as PR to the bitbucket repository.

 

  68993   Mon Jul 15 17:35:48 2019 Warning Sebastian Schenksebastian.schenk@physik.uni-halle.deBug reportLinux3.1.4restrict edit time

Hello,
I have experienced some inconveniences with the restrict edit time option.

First, it is not possible for admin users to edit an entry after the edit time.
The restrict edit option allows admin users to edit posts from other users,
so I think admins should also be allowed to edit posts after edit time.
As they can edit the config and temporarily disable the restrict edit time option, which is an issue.

Secondly, if a user made a draft and did not submitted it before the edit time runs out,
the draft got stuck as it cannot be edited (and submitted) any more.

Best wishes,
Sebastian

  69044   Wed Oct 16 13:20:31 2019 Idea Xuan Wuwux@ihep.ac.cnBug reportLinux3.1.3Re: elog hanged when uploading photo failed

Hi all,

I've found a bug in elog. It's all right that uploading an image which file name with special characters. I think it must have something to do with the code like"url_encode(file_enc, sizeof(file_enc));  /* for file names with special characters like "+" */". If I clicked the "Make small/Make larger/Original size/Rotate left/Rotate right" button, the elog server will hang. How it can be fixed? The attached image shows the debug info.

Xuan

Stefan Ritt wrote:

The problem is you have some weird characters in your file name R2BLM15 ? ? ? ? ? .PNG which confuses the interpreter. There should not be any special character or blanks in attached images.

Stefan

Xuan Wu wrote:

Hi all,

  We came across a problem recently when clicking "Upload" button, then elog hanged and never being accessed. I have checked the elog logs and find that it seems that elog didn't get the path of the picture for some reason. So is it a bug or our operation isn't correct?

 

 

  69063   Fri Nov 22 02:55:50 2019 Warning John S. Haggertyhaggerty@bnl.govBug reportMac OSX3.1.4Trouble on Catalina

I decided to rebuild elog 3.1.4 in Catalina (MacOS 10.15.1), XCode 11.2.1.  As in previous builds, I needed to add to the Makefile pointers to openssl:

CFLAGS += -I/usr/local/opt/openssl/include

LIBS += -L/usr/local/opt/openssl/lib

The make builds cleanly, no errors, no warnings.  After make/make install, elogd segfaults immediately.  I saw the same behavior with the version in gitlab.  I kept my (very) old build and was able to make install it without recompiling and it still works.

I'll crack out the debugger when I have a chance to get more information, but has anyone else seen this problem?  

ELOG V3.1.5-3fb85fa6