chris@linuxepos.com wrote:
#0 is_ad_subtype (sub=0x0, super=0x81eafb0) at ad.c:489 489 for ( a = sub->ad_type; a; a=a->sat_sup ) { (gdb) where #0 is_ad_subtype (sub=0x0, super=0x81eafb0) at ad.c:489 #1 0x0806952e in attrs_find (a=0x8266168, desc=0x81eafb0) at attr.c:347 #2 0x0807e491 in test_filter (op=0x8265c88, e=0x8266140, f=0x40d3b14c) at filterentry.c:797 #3 0x080c83cf in bdb_search (op=0x8265c88, rs=0x40d3a8bc) at search.c:853 #4 0x080632b9 in fe_op_search (op=0x8265c88, rs=0x40d3a8bc) at search.c:355 #5 0x08062a44 in do_search (op=0x8265c88, rs=0x40d3a8bc) at search.c:217 #6 0x08061218 in connection_operation (ctx=0x40d3a93c, arg_v=0x8265c88) at connection.c:1307 #7 0x08133ff8 in ldap_int_thread_pool_wrapper (xpool=0x81f1558) at tpool.c:478 #8 0x40263d70 in pthread_start_thread (arg=0x40d3abe0) at manager.c:301 #9 0x4038d4a7 in __clone () from /lib/libc.so.6 (gdb)
This trace indicates that an attribute in the given entry had NULL for its AttributeDescription, which is pretty much a "this-can't-happen" situation. It would probably be useful to look at the contents of the Entry e in frame 2, and all of its attributes. How was this database created, how was the entry created?