openldap client GSSAPI authentication segfaults in fbsd8stablei386

Reko Turja reko.turja at liukuma.net
Fri Jul 16 08:56:23 UTC 2010


> On Thu, Jul 15, 2010 at 09:22:51AM -0700, Jeremy Chadwick wrote:
>> Furthermore, relevant bug (PR 144754) indicates there's an easier 
>> way to
>> induce this problem, so I'm going to see if I can reproduce it here
>> locally.  It's almost certainly the same problem but induced via a
>> slightly different context.
>>
>> http://lists.freebsd.org/pipermail/freebsd-bugs/2010-March/038956.html
>>
>> I'll report back once I poke around with that.

> testbox# cyradm
> cyradm>

Try giving command cyradm localhost instead - the cyradm without 
connection starts, but trying to connect to the local server triggers 
the bug. Or you can give 'server localhost' instead from the cyradm 
command line.

> I should note this machine **does** have Kerberos installed as part 
> of
> the FreeBSD base system (meaning src.conf does not contain
> WITHOUT_KERBEROS).

Similar as my setup - kerberos isn't excluded even if it's not really 
used.

> Mikhail, is there something I need to configure within cyrus-imapd23
> first?  Three things to note:
>
> 1) I didn't modify /usr/local/etc/cyrus.conf or imapd.conf.
> 2) I have not started the imapd service.
> 3) /var/log/all.log shows the following errors (but the daemon 
> starts
> anyway):

> Let me know as I'm doing my best to track this down.  Thanks.

Another datapoint that might or might not have some connection with 
the issue is that in _gss_mg_error (m=0x28a86480, maj=851968, min=2) 
at /usr/src/lib/libgssapi/gss_display_status.c

void
232     _gss_mg_error(struct _gss_mech_switch *m, OM_uint32 maj, 
OM_uint32 min)
233     {
234             OM_uint32 major_status, minor_status;
235             OM_uint32 message_content;
236             struct mg_thread_ctx *mg;
237
238             mg = &last_error_context;
239
240             gss_release_buffer(&minor_status, &mg->maj_error);
241             gss_release_buffer(&minor_status, &mg->min_error);
242
243             mg->mech = &m->gm_mech_oid;
244             mg->maj_stat = maj;

when I give following comands, gdb tells me:

(gdb) p last_error_context
Cannot find thread-local variables on this target
(gdb) p &last_error_context
Cannot find thread-local variables on this target
(gdb) p mg
No symbol "mg" in current context.
(gdb)

Thank you very much for your effort in the issue!

-Reko 



More information about the freebsd-stable mailing list