-----Ursprüngliche Nachricht----- Von: freeradius-users-bounces+tobias.hachmer=stadt-frankfurt.de@lists.freeradius.org [mailto:freeradius-users-bounces+tobias.hachmer=stadt-frankfurt.de@lists.freeradius.org] Im Auftrag von Arran Cudbard-Bell Gesendet: Donnerstag, 12. Dezember 2013 19:17 An: FreeRadius users mailing list Betreff: Re: received signal SIGSEGV, Segmentation fault. malloc_consolidate (av=0x7ffff5e2de80) at malloc.c:5196
The proper struct is hidden, only the type is exposed, so there's no way to calculate the offset of that field in the struct, and therefore no way to fix this problem from outside of the ctx_copy function. I'll submit another bug report, and another fix, and then I guess, add some logic to the configure script to automatically disable thread support for MIT kerberos in anything less than the absolute latest library version (provided they merge the patches for the next release). Then for the packages, i'll set the default dependency to Heimdal (after doing some testing with Heimdal to make sure it doesn't have similar issues). If you want a quick fix to get something working you can either patch your version of the kerberos library, adding:
if (ctx->plugin_base_dir) nctx->plugin_base_dir = strdup(ctx->plugin_base_dir);
Just above the if (ctx->os_context.default_ccname != NULL) { line in src/lib/krb5/krb/copy_ctx.c. Or on the FreeRADIUS side, edit src/modules/rlm_krb5/all.mk and remove -DKRB5_IS_THREAD_SAFE from the SRC_CFLAGS. Or switch to using the Heimdal library.
Thank you Arran for your investigations! It's fine to know what's the crux of the matter and how to work around this. Regards, Tobias