openldap-server exit on signal 6 on 11.1 (and not in 10.3)
Dimitry Andric
dim at FreeBSD.org
Fri Feb 9 20:00:34 UTC 2018
On 9 Feb 2018, at 09:33, joris dedieu <joris.dedieu at gmail.com> wrote:
>
> Dear porters,
>
> While moving from 10.3 to 11.1, I get an issue on openldap execution.
> slapd dies (pid 29087 (slapd), uid 389: exited on signal 6) on some
> complex but reproducible operations.
>
> We worked around this bug by returning less elements from the request.
> While my dear colleges are trying to write a script to reproduce the
> issue, I investigate system side.
>
>
> In /var/log/messages, I got slapd[4909]: stack overflow detected; terminated
>
> The only trace I get
>
> #0 0x0000000801f7a71a in kill () from /lib/libc.so.7
> #1 0x0000000801f7a6d0 in __stack_chk_fail () from /lib/libc.so.7
> #2 0x0000000801f7a640 in __stack_chk_fail () from /lib/libc.so.7
> #3 0x00000000004466e6 in do_modify ()
> #4 0x00000000004308d5 in connection_assign_nextid ()
> #5 0x00000000004300dd in connection_read_activate ()
> #6 0x0000000800956ffa in ldap_pvt_thread_pool_submit () from
> /usr/local/lib/libldap_r-2.4.so.2
> #7 0x0000000801c71bc5 in pthread_create () from /lib/libthr.so.3
> #8 0x0000000000000000 in ?? ()
>
> I suspect it's relative to -fstack-protector-strong which is the
> default since FreeBSD 11.0. Do you think I should rebuild all the
> world this opion ?
>
> I also thought on fdatasync
>
> .if ${OSVERSION} < 1101000
> CFLAGS+= -DMDB_DSYNC=O_SYNC -Dfdatasync=fsync
> .endif
>
> I'm currently investigating on this changes.
>
> The issue disappear when slapd is compiled with debugging symbols
> (WITH_DEBUG=YES). As far as I understand, this only cause -g flag to
> be added to CFLAGS. Does WITH_DEBUG also disable some compiler
> optimization ?
Yes, WITH_DEBUG unfortunately removes all -O options from the compiler
flags, making it sometimes hard to debug, if any crashes disappear. :)
Try applying the following patch to your ports tree, and rebuilding the port:
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk (revision 461038)
+++ Mk/bsd.port.mk (working copy)
@@ -1743,7 +1743,7 @@ MAKE_ENV+= DONTSTRIP=yes
STRIP_CMD= ${TRUE}
.endif
DEBUG_FLAGS?= -g
-CFLAGS:= ${CFLAGS:N-O*:N-fno-strict*} ${DEBUG_FLAGS}
+CFLAGS:= ${CFLAGS} ${DEBUG_FLAGS}
.if defined(INSTALL_TARGET)
INSTALL_TARGET:= ${INSTALL_TARGET:S/^install-strip$/install/g}
.endif
-Dimitry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 223 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20180209/bead390b/attachment.sig>
More information about the freebsd-ports
mailing list