At a very quick glance of your backtrace, info == 0; you didn´t olcRwmRewiteEngine TRUE? If it´s the case, the code needs to be reworked in this area. I can´t look at this now, in the meanwhile try to set it to TRUE as your first slapo-rmw statement.
p. ----- [email protected] wrote: > Full_Name: Jonathan Clarke > Version: RE24 > OS: CentOS > URL: ftp://ftp.openldap.org/incoming/ > Submission from: (NULL) (213.41.243.192) > > > Hi, > > Given a simple setup involving back-ldap with slapo-rwm on top, modifying the > attribute "olcRwmRewrite" causes a crash. This seems to happen both while > modifying an existing value, or when deleting one. > > The config: > 8<---------------------------- > # {1}ldap, config > dn: olcDatabase={1}ldap,cn=config > objectClass: olcDatabaseConfig > objectClass: olcLDAPConfig > olcDatabase: {1}ldap > olcSuffix: o=proxy > olcAddContentAcl: FALSE > olcLastMod: FALSE > olcMaxDerefDepth: 15 > olcReadOnly: FALSE > olcMonitoring: FALSE > olcDbURI: "ldap://server.lan" > olcDbStartTLS: none > olcDbIDAssertBind: mode=none flags=prescriptive bindmethod=simple timeout=0 ne > twork-timeout=0 binddn="cn=administrateur,cn=users,dc=otherdemo,dc=lan" > creden > tials="secret" > olcDbRebindAsUser: FALSE > olcDbChaseReferrals: TRUE > olcDbTFSupport: no > olcDbProxyWhoAmI: FALSE > olcDbSingleConn: FALSE > olcDbCancel: abandon > olcDbUseTemporaryConn: FALSE > olcDbConnectionPoolMax: 16 > olcDbNoRefs: FALSE > olcDbNoUndefFilter: FALSE > > # {0}rwm, {1}ldap, config > dn: olcOverlay={0}rwm,olcDatabase={1}ldap,cn=config > objectClass: olcOverlayConfig > objectClass: olcRwmConfig > olcOverlay: {0}rwm > olcRwmRewrite: {0}rwm-suffixmassage "o=proxy" "dc=otherdemo,dc=lan" > olcRwmTFSupport: false > olcRwmNormalizeMapped: FALSE > 8<---------------------------- > > The operation: > 8<---------------------------- > dn: olcOverlay={0}rwm,olcDatabase={1}ldap,cn=config > changeType: modify > replace: olcRwmRewrite > olcRwmRewrite: {0}rwm-suffixmassage "o=proxy" "dc=demo,dc=lan" > > 8<---------------------------- > > > GDB output: > 8<---------------------------- > conn=4 fd=12 ACCEPT from IP=127.0.0.1:45843 (IP=0.0.0.0:389) > conn=4 op=0 BIND dn="cn=config" method=128 > conn=4 op=0 BIND dn="cn=config" mech=SIMPLE ssf=0 > conn=4 op=0 RESULT tag=97 err=0 text= > conn=4 op=1 MOD dn="olcOverlay={0}rwm,olcDatabase={1}ldap,cn=config" > conn=4 op=1 MOD attr=olcRwmRewrite > slapd: config.c:59: rewrite_parse: Assertion `info != ((void *)0)' failed. > > Program received signal SIGABRT, Aborted. > [Switching to Thread 1106893120 (LWP 31852)] > 0x0000003411a30155 in raise () from /lib64/libc.so.6 > (gdb) bt > #0 0x0000003411a30155 in raise () from /lib64/libc.so.6 > #1 0x0000003411a31bf0 in abort () from /lib64/libc.so.6 > #2 0x0000003411a295d6 in __assert_fail () from /lib64/libc.so.6 > #3 0x00000000004ea899 in rewrite_parse (info=0x0, fname=0x555ec5 "<suffix > massage>", lineno=1, argc=2, argv=0x41f9a180) at config.c:59 > #4 0x00000000004df8fe in rwm_suffix_massage_config (info=0x7c6a, > pvnc=0x41f9a220, nvnc=<value optimized out>, prnc=0x41f9a1f0, nrnc=<value > optimized out>) > at rwmconf.c:326 > #5 0x00000000004dc1bd in rwm_suffixmassage_config (be=<value optimized out>, > fname=0x523789 "slapd", lineno=0, argc=<value optimized out>, > argv=<value optimized out>) at rwm.c:1662 > #6 0x00000000004dc632 in rwm_cf_gen (c=0x41f9a620) at rwm.c:2076 > #7 0x0000000000414b7b in config_set_vals (Conf=0x7abc00, c=0x7c6c) at > config.c:314 > #8 0x000000000041835d in config_parse_add (ct=0x7abc00, c=0x41f9a620, > valx=<value optimized out>) at config.c:642 > #9 0x000000000040e63f in config_modify_add (ct=0x7abc00, ca=0x41f9a620, > ad=<value optimized out>, i=0) at bconfig.c:4806 > #10 0x0000000000410b03 in config_back_modify (op=0x1c8bf360, rs=0x41f9cc20) at > bconfig.c:5039 > #11 0x0000000000434317 in fe_op_modify (op=0x1c8bf360, rs=0x41f9cc20) at > modify.c:301 > #12 0x0000000000434a72 in do_modify (op=0x1c8bf360, rs=0x41f9cc20) at > modify.c:175 > #13 0x000000000041dd2b in connection_operation (ctx=0x41f9cd70, arg_v=<value > optimized out>) at connection.c:1097 > #14 0x000000000041e207 in connection_read_thread (ctx=0x41f9cd70, argv=<value > optimized out>) at connection.c:1223 > #15 0x00000000004f906a in ldap_int_thread_pool_wrapper (xpool=0x1c83c2d0) at > tpool.c:663 > #16 0x00002b6a8d3532f7 in start_thread () from /lib64/libpthread.so.0 > #17 0x0000003411ad1e3d in clone () from /lib64/libc.so.6 > 8<---------------------------- > > Let me know if you need any more details, or output from GDB. > > Regards, > Jonathan > > Ing. Pierangelo Masarati OpenLDAP Core Team SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it ----------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Fax: +39 0382 476497 Email: [email protected] -----------------------------------
