Hi Aki yes I built dovecot and pigeonhole rpms in the same rpmbuild. pigeonhole rpm is based on 0.4.14 Do you think that the error might come from self building the rpms? Regards tobi Am 04.01.2017 um 08:55 schrieb Aki Tuomi:> On 04.01.2017 09:49, Tobi wrote: >> Hi Stephan >> >> Am 03.01.2017 um 21:12 schrieb Stephan Bosch: >> >>> Since you're using LMTP, you could try to run the lmtp service from >>> command line in GDB. In essence, this looks as follows (you will need to >>> run this as the mail user, e.g. vmail, or you can run it as root): >>> >>> $ gdb --args /usr/lib/dovecot/lmtp >> I did so and it seems that libc.so.6 throws the error as I get the >> following result (as root): >> >> [New process 14843] >> Program received signal SIGSEGV, Segmentation fault. >> [Switching to process 14843] >> 0x00007ffff7241b71 in __strlen_sse2 () from /lib64/libc.so.6 >> >> bt full does not give me more than this >> >> #0 0x00007ffff7241b71 in __strlen_sse2 () from /lib64/libc.so.6 >> No symbol table info available. >> Cannot access memory at address 0x7fffffffd848 >> >> Then I installed debuginfo for glibc via debuginfo-install >> glibc-2.17-157.el7_3.1.x86_64 and get >> >> Program received signal SIGSEGV, Segmentation fault. >> [Switching to process 18099] >> __strlen_sse2 () at ../sysdeps/x86_64/strlen.S:31 >> 31 movdqu (%rdi), %xmm1 >> >> So this is an issue for glibc developpers? Just wonder why this error >> does not occur if I call the script directly on cli or if I use >> sieve-test program. It seems only to occur if the script called from dovecot >> >> To compare I tried gdb as well as user vmail and get more detailed >> information >> >> [New process 20844] >> Program received signal SIGSEGV, Segmentation fault. >> [Switching to process 20844] >> 0x00007ffff7203694 in _IO_vfprintf_internal (s=s at entry=0x7fffffffd710, >> format=<optimized out>, >> format at entry=0x555555764938 "chroot(%s) failed: Bad address", >> ap=ap at entry=0x7fffffffd970) at vfprintf.c:1635 >> 1635 process_string_arg (((struct printf_spec *) NULL)); >> >> bt full does return much more in this case. I attached that output as >> bt_full.txt to this mail (maybe it can be of help) >> >> Thanks for your help >> >> tobi >> > > Did you update both dovecot *and* pigeonhole when you last updated? > > Aki >
Problem avoided by a quite ugly workaround :-) The script now is called by postfix as a transport. Works so far and the script never segfaults until now. Would still prefer the solution via dovecot sieve but for the moment the postfix solution is okay with me. Cheers tobi ----- Originale Nachricht ----- Von: Tobi <tobster at brain-force.ch> Gesendet: 04.01.17 - 09:37 An: dovecot at dovecot.org Betreff: Re: dovecot-pigeonhole running external script ends with signal 11> Hi Aki > > yes I built dovecot and pigeonhole rpms in the same rpmbuild. pigeonhole > rpm is based on 0.4.14 > Do you think that the error might come from self building the rpms? > > Regards > > tobi > > Am 04.01.2017 um 08:55 schrieb Aki Tuomi: >> On 04.01.2017 09:49, Tobi wrote: >>> Hi Stephan >>> >>> Am 03.01.2017 um 21:12 schrieb Stephan Bosch: >>> >>>> Since you're using LMTP, you could try to run the lmtp service from >>>> command line in GDB. In essence, this looks as follows (you will need to >>>> run this as the mail user, e.g. vmail, or you can run it as root): >>>> >>>> $ gdb --args /usr/lib/dovecot/lmtp >>> I did so and it seems that libc.so.6 throws the error as I get the >>> following result (as root): >>> >>> [New process 14843] >>> Program received signal SIGSEGV, Segmentation fault. >>> [Switching to process 14843] >>> 0x00007ffff7241b71 in __strlen_sse2 () from /lib64/libc.so.6 >>> >>> bt full does not give me more than this >>> >>> #0 0x00007ffff7241b71 in __strlen_sse2 () from /lib64/libc.so.6 >>> No symbol table info available. >>> Cannot access memory at address 0x7fffffffd848 >>> >>> Then I installed debuginfo for glibc via debuginfo-install >>> glibc-2.17-157.el7_3.1.x86_64 and get >>> >>> Program received signal SIGSEGV, Segmentation fault. >>> [Switching to process 18099] >>> __strlen_sse2 () at ../sysdeps/x86_64/strlen.S:31 >>> 31 movdqu (%rdi), %xmm1 >>> >>> So this is an issue for glibc developpers? Just wonder why this error >>> does not occur if I call the script directly on cli or if I use >>> sieve-test program. It seems only to occur if the script called from dovecot >>> >>> To compare I tried gdb as well as user vmail and get more detailed >>> information >>> >>> [New process 20844] >>> Program received signal SIGSEGV, Segmentation fault. >>> [Switching to process 20844] >>> 0x00007ffff7203694 in _IO_vfprintf_internal (s=s at entry=0x7fffffffd710, >>> format=<optimized out>, >>> format at entry=0x555555764938 "chroot(%s) failed: Bad address", >>> ap=ap at entry=0x7fffffffd970) at vfprintf.c:1635 >>> 1635 process_string_arg (((struct printf_spec *) NULL)); >>> >>> bt full does return much more in this case. I attached that output as >>> bt_full.txt to this mail (maybe it can be of help) >>> >>> Thanks for your help >>> >>> tobi >>> >> >> Did you update both dovecot *and* pigeonhole when you last updated? >> >> Aki >>
Stephan Bosch
2017-Jan-05 23:04 UTC
dovecot-pigeonhole running external script ends with signal 11
Op 1/4/2017 om 9:37 AM schreef Tobi:> Hi Aki > > yes I built dovecot and pigeonhole rpms in the same rpmbuild. pigeonhole > rpm is based on 0.4.14 > Do you think that the error might come from self building the rpms?But what version of Pigeonhole are you actually using? Version 0.4.16 is released for Dovecot v2.2.26. Also: - Can you find out which process is getting the segfault? GDB shows the pid and you should lookup what process that is while GDB is still active. - Isn't that GDB backtrace you provided deeper? It shows only two levels, but that makes no sense (i.e. main() is not listed). Regards, Stephan.
Stephan Bosch
2017-Jan-08 10:00 UTC
dovecot-pigeonhole running external script ends with signal 11
Op 1/8/2017 om 10:00 AM schreef Tobi:> Hi Stephan > > according to ps aux the process that segfaults is (pid 18261) > > vmail 18261 0.0 0.0 0 0 pts/0 Z 09:39 0:00 [lmtp] > <defunct> > > the gdb backtrace I attached to my mail was the deepest one I gotThat looks like it happens in Dovecot still.> @Steffen > the script does not chroot, at least not that I'm aware of. I checked my > dovecot configs and could not find any active chroot config. All > occurences of mail_chroot are commented out and have no path values.What about the version information I asked about? Regards, Stephan.> Am 06.01.2017 um 00:04 schrieb Stephan Bosch: >> Op 1/4/2017 om 9:37 AM schreef Tobi: >>> Hi Aki >>> >>> yes I built dovecot and pigeonhole rpms in the same rpmbuild. pigeonhole >>> rpm is based on 0.4.14 >>> Do you think that the error might come from self building the rpms? >> But what version of Pigeonhole are you actually using? Version 0.4.16 is >> released for Dovecot v2.2.26. >> >> Also: >> >> - Can you find out which process is getting the segfault? GDB shows the >> pid and you should lookup what process that is while GDB is still active. >> - Isn't that GDB backtrace you provided deeper? It shows only two >> levels, but that makes no sense (i.e. main() is not listed). >> >> Regards, >> >> Stephan. >>
Hi Stephan currently the rpm is built based on 0.4.14 Should I try with 0.4.16? I will build it again this afternoon with the version you suggested and report back with the results. Thanks for the help here tobi ----- Originale Nachricht ----- Von: Stephan Bosch <stephan at rename-it.nl> Gesendet: 08.01.17 - 11:00 An: tobster at brain-force.ch@pgp.brain-force.ch, Dovecot Mailing List <dovecot at dovecot.org> Betreff: Re: dovecot-pigeonhole running external script ends with signal 11> Op 1/8/2017 om 10:00 AM schreef Tobi: >> Hi Stephan >> >> according to ps aux the process that segfaults is (pid 18261) >> >> vmail 18261 0.0 0.0 0 0 pts/0 Z 09:39 0:00 [lmtp] >> <defunct> >> >> the gdb backtrace I attached to my mail was the deepest one I got > > That looks like it happens in Dovecot still. > >> @Steffen >> the script does not chroot, at least not that I'm aware of. I checked my >> dovecot configs and could not find any active chroot config. All >> occurences of mail_chroot are commented out and have no path values. > > What about the version information I asked about? > > Regards, > > Stephan. > >> Am 06.01.2017 um 00:04 schrieb Stephan Bosch: >>> Op 1/4/2017 om 9:37 AM schreef Tobi: >>>> Hi Aki >>>> >>>> yes I built dovecot and pigeonhole rpms in the same rpmbuild. pigeonhole >>>> rpm is based on 0.4.14 >>>> Do you think that the error might come from self building the rpms? >>> But what version of Pigeonhole are you actually using? Version 0.4.16 is >>> released for Dovecot v2.2.26. >>> >>> Also: >>> >>> - Can you find out which process is getting the segfault? GDB shows the >>> pid and you should lookup what process that is while GDB is still active. >>> - Isn't that GDB backtrace you provided deeper? It shows only two >>> levels, but that makes no sense (i.e. main() is not listed). >>> >>> Regards, >>> >>> Stephan. >>> >
Apparently Analagous Threads
- dovecot-pigeonhole running external script ends with signal 11
- dovecot-pigeonhole running external script ends with signal 11
- dovecot-pigeonhole running external script ends with signal 11
- dovecot-pigeonhole running external script ends with signal 11
- Using filter in an imapsieve script?