Description of problem: Trying to tweak an NIS mapping rule and I ended up with a non-startable 389-ds instance. gdb reports the error as an arithmetic exception, I also saw it reported as a floating point exception. Version-Release number of selected component (if applicable): 389-ds-base-1.2.10.4-2 slapi-nis-0.40-1 The backtrace is: #0 0x00007ffff14a3c08 in format_link (state=0x7f3010, pb=0xc, e=0x0, group=0x99df00 "\300}\232", set=0x8 <Address 0x8 out of bounds>, args=<optimized out>, disallowed=0x0, outbuf=0x9a4ba1 "I\231c8", outbuf_len=4095, outbuf_choices=0x7ffffffebd50, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08) at format.c:2981 #1 0x00007ffff14a0523 in format_expand (state=0x7f3010, pb=0x99edd0, e=0x99d090, group=0x99f970 "greyoak.com", set=0x971850 "netgroup", fmt=<optimized out>, disallowed=0x0, outbuf=0x9a4ba0 "(I\231c8", outbuf_len=4096, outbuf_choices=0x7ffffffebd50, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08) at format.c:3959 #2 0x00007ffff14a1703 in format_format (state=0x7f3010, parent_pb=0x9a19f0, e=0x99d090, group=0x99f970 "greyoak.com", set=0x971850 "netgroup", fmt=0x9a477b "(%link(\"%ifeq(\\\"hostCategory\\\",\\\"all\\\",\\\"\\\",\\\"%collect(\\\\\\\"%{externalHost}\\\\\\\",\\\\\\\"%deref(\\\\\\\\\\\\\\\"memberHost\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"fqdn\\\\\\\\\\\\\\\")\\\\\\\",\\\\\\\"%deref_r(\\\\\\\\\\\\\\\"member\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"fqdn\\\\\\\\\\\\\\\")"..., disallowed=0x0, choices=0x7ffffffebd50, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08, data_length=0x7ffffffebd5c) at format.c:4048 #3 0x00007ffff14a2f13 in format_get_data_set (state=0x7f3010, pb=<optimized out>, e=<optimized out>, group=<optimized out>, set=<optimized out>, fmt=<optimized out>, disallowed=0x0, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08, data_lengths=0x7ffffffebe48) at format.c:4157 #4 0x00007ffff14a56e5 in format_merge (state=0x7f3010, pb=0x9a19f0, e=0x99d090, group=0x99f970 "greyoak.com", set=0x971850 "netgroup", args=<optimized out>, disallowed=0x0, outbuf=0x9a09e0 "hH\231c8", outbuf_len=4096, outbuf_choices=0x0, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08) at format.c:2022 #5 0x00007ffff14a0523 in format_expand (state=0x7f3010, pb=0x9a19f0, e=0x99d090, group=0x99f970 "greyoak.com", set=0x971850 "netgroup", fmt=<optimized out>, disallowed=0x0, outbuf=0x9a09e0 "hH\231c8", outbuf_len=4096, outbuf_choices=0x0, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08) at format.c:3959 #6 0x00007ffff14a1703 in format_format (state=0x7f3010, parent_pb=0x971ac0, e=0x99d090, group=0x99f970 "greyoak.com", set=0x971850 "netgroup", fmt=0x991e70 "%merge(\" \",\"%deref_f(\\\"member\\\",\\\"(objectclass=ipanisNetgroup)\\\",\\\"cn\\\")\",\"(%link(\\\"%ifeq(\\\\\\\"hostCategory\\\\\\\",\\\\\\\"all\\\\\\\",\\\\\\\"\\\\\\\",\\\\\\\"%collect(\\\\\\\\\\\\\\\"%{externalHost}\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"%deref(\\\\\\\\\\\\\\\\"..., disallowed=0x0, choices=0x0, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08, data_length=0x9a1c90) at format.c:4048 #7 0x00007ffff14a2e2c in format_get_data (state=<optimized out>, pb=<optimized out>, e=<optimized out>, group=<optimized out>, set=<optimized out>, fmt=<optimized out>, disallowed=0x0, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08, data_length=0x9a1c90) at format.c:4119 #8 0x00007ffff14973da in backend_gather_data (state=0x7f3010, pb=0x971ac0, e=0x99d090, domain=0x99f970 "greyoak.com", map=0x971850 "netgroup", single_formats=0x991e60, group_formats=0x0, disallowed_chars=0x0, rel_attrs=0x971ed8, ref_attrs=0x971ef0, inref_attrs=0x971ef8, ref_attr_list=0x971f00, inref_attr_list=0x971f08, ret_lengths=0x7ffffffec2d8, ret_n_singles=0x7ffffffec2f8, ret_singles=0x7ffffffec2c0, ret_n_groups=0x7ffffffec2fc, ret_groups=0x7ffffffec2c8, ret_group_lengths=0x7ffffffec2e8) at back-nis.c:255 #9 0x00007ffff1497af1 in backend_set_entry (pb=0x971ac0, e=0x99d090, data=0x971eb0) at back-nis.c:375 #10 0x00007ffff149ab26 in backend_shr_set_entry (set_data=<optimized out>, e=<optimized out>, pb=<optimized out>) at back-shr.c:273 #11 backend_shr_set_entry_cb (e=<optimized out>, callback_data=<optimized out>) at back-shr.c:284 #12 0x0000003a7f89cb40 in send_ldap_search_entry_ext (pb=0x971ac0, e=0x99d090, ectrls=0x0, attrs=0x0, attrsonly=0, send_result=0, nentries=0, urls=0x0) at ldap/servers/slapd/result.c:1255 #13 0x0000003a7f89d76c in send_ldap_search_entry (pb=<optimized out>, e=<optimized out>, ectrls=<optimized out>, attrs=<optimized out>, attrsonly=<optimized out>) at ldap/servers/slapd/result.c:814 #14 0x0000003a7f881937 in iterate (pb=0x971ac0, be=0x823490, pnentries=0x7fffffff0548, pagesize=-1, pr_statp=0x7fffffff0554, send_result=1) at ldap/servers/slapd/opshared.c:1346 #15 0x0000003a7f881d97 in send_results_ext (pb=0x971ac0, nentries=0x7fffffff0548, pagesize=-1, pr_stat=0x7fffffff0554, send_result=1) at ldap/servers/slapd/opshared.c:1584 #16 0x0000003a7f882fa9 in op_shared_search (pb=0x971ac0, send_result=1) at ldap/servers/slapd/opshared.c:764 #17 0x0000003a7f88e505 in search_internal_callback_pb (pb=0x971ac0, callback_data=0x7fffffff4a80, prc=0, psec=0x7ffff149ab10 <backend_shr_set_entry_cb>, prec=0) at ldap/servers/slapd/plugin_internal_op.c:798 #18 0x00007ffff149c487 in backend_shr_set_config_entry_add (state=0x7f3010, parent_pb=0x998530, e=<optimized out>, group=<optimized out>, set=<optimized out>) at back-shr.c:430 #19 0x00007ffff1498694 in backend_set_config_entry_add_cb (e=0x8cced0, callback_data=0x7fffffffd260) at back-nis.c:732 #20 0x0000003a7f89cb40 in send_ldap_search_entry_ext (pb=0x998530, e=0x8cced0, ectrls=0x0, attrs=0x0, attrsonly=0, send_result=0, nentries=0, urls=0x0) at ldap/servers/slapd/result.c:1255 #21 0x0000003a7f89d76c in send_ldap_search_entry (pb=<optimized out>, e=<optimized out>, ectrls=<optimized out>, attrs=<optimized out>, attrsonly=<optimized out>) at ldap/servers/slapd/result.c:814 #22 0x0000003a7f881937 in iterate (pb=0x998530, be=0x76ca50, pnentries=0x7fffffff8d28, pagesize=-1, pr_statp=0x7fffffff8d34, send_result=1) at ldap/servers/slapd/opshared.c:1346 #23 0x0000003a7f881d97 in send_results_ext (pb=0x998530, nentries=0x7fffffff8d28, pagesize=-1, pr_stat=0x7fffffff8d34, send_result=1) at ldap/servers/slapd/opshared.c:1584 #24 0x0000003a7f882fa9 in op_shared_search (pb=0x998530, send_result=1) at ldap/servers/slapd/opshared.c:764 #25 0x0000003a7f88e505 in search_internal_callback_pb (pb=0x998530, callback_data=0x7fffffffd260, prc=0, psec=0x7ffff1498610 <backend_set_config_entry_add_cb>, prec=0) at ldap/servers/slapd/plugin_internal_op.c:798 #26 0x00007ffff149c8a7 in backend_shr_startup (state=0x7f3010, parent_pb=<optimized out>, filter=0x7ffff14ac560 "(&(objectClass=*)(nis-base=*)(nis-domain=*)(nis-map=*))") at back-shr.c:592 #27 0x00007ffff14aa2a0 in plugin_startup (pb=0x8e0a50) at plug-nis.c:91 #28 0x0000003a7f88a589 in plugin_call_func (list=0x7f3430, operation=212, pb=0x8e0a50, call_one=1) at ldap/servers/slapd/plugin.c:1450 #29 0x0000003a7f88b276 in plugin_call_one (pb=<optimized out>, operation=212, list=<optimized out>) at ldap/servers/slapd/plugin.c:1418 #30 plugin_dependency_startall (argc=3, argv=0x7fffffffe5a8, errmsg=<optimized out>, operation=212) at ldap/servers/slapd/plugin.c:1207 #31 0x000000000040eb4a in main (argc=3, argv=0x7fffffffe5a8) at ldap/servers/slapd/main.c:1154 The rule that reproduces this is: %merge(" ","%deref_f(\"member\",\"(objectclass=ipanisNetgroup)\",\"cn\")","(%link(\"%ifeq(\\\"hostCategory\\\",\\\"all\\\",\\\"\\\",\\\"%collect(\\\\\\\"%{externalHost}\\\\\\\",\\\\\\\"%deref(\\\\\\\\\\\\\\\"memberHost\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"fqdn\\\\\\\\\\\\\\\")\\\\\\\",\\\\\\\"%deref_r(\\\\\\\\\\\\\\\"member\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"fqdn\\\\\\\\\\\\\\\")\\\\\\\",\\\\\\\"%deref_r(\\\\\\\\\\\\\\\"memberHost\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"member\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"fqdn\\\\\\\\\\\\\\\")\\\\\\\")\\\")\",\"%ifeq(\\\"hostCategory\\\",\\\"all\\\",\\\"\\\"\\,\"-\\\")\",\",\",\"%ifeq(\\\"userCategory\\\",\\\"all\\\",\\\"\\\",\\\"%collect(\\\\\\\"%deref(\\\\\\\\\\\\\\\"memberUser\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\\")\\\\\\\",\\\\\\\"%deref_r(\\\\\\\\\\\\\\\"member\\\\\\ \\\\\\\\\",\\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\\")\\\\\\\",\\\\\\\"%deref_r(\\\\\\\\\\\\\\\"memberUser\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"member\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\\")\\\\\\\")\\\")\",\"%ifeq(\\\"userCategory\\\",\\\"all\",\\\"\\\",\\\"-\\\")\"),%{nisDomainName:-})")
It looks like I have a syntax error in this part: %ifeq(\\\"hostCategory\\\",\\\"all\\\",\\\"\\\"\\,\"-\\\") I goofed on the escapes. Probably shouldn't crash though.
I managed to goof twice in this. In the last ifeq for userCategory there are two missing escapes for the quote after all. Once I fixed these two problems slapi-nis is working as expected.
slapi-nis-0.41-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/slapi-nis-0.41-1.fc16
slapi-nis-0.41-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/slapi-nis-0.41-1.fc17
slapi-nis-0.41-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/slapi-nis-0.41-1.fc15
Package slapi-nis-0.41-1.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing slapi-nis-0.41-1.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-5684/slapi-nis-0.41-1.fc17 then log in and leave karma (feedback).
slapi-nis-0.41-1.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
slapi-nis-0.41-1.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.
slapi-nis-0.41-1.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.