Full_Name: Luca Scamoni Version: RE24/HEAD OS: any URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (82.63.140.131)
When loading a module through cn=config or slapd.conf moduleload directive, if the module has already been loaded, slapd segfaults. Since it correctly finds out the module is already registered shouldn't it refuse the modification when the operation is attempted through cn=config or simply refuse to start when done through slapd.conf?
Last log lines (-d -1): line 20 (moduleload syncprov.la) loaded module syncprov.la Control 1.3.6.1.4.1.4203.1.9.1.1 already registered. syncprov_init: Failed to register control -9 Segmentation fault
backtrace: #0 0x0000000b in ?? () No symbol table info available. #1 0x080dcb94 in module_load (file_name=0x89746bb "syncprov.la", argc=0, argv=0x0) at module.c:218 module = (module_loaded_t *) 0x8976718 error = 0x0 rc = -9 initialize = (MODULE_INIT_FN) 0x5f6936 <init_module> #2 0x0805bd1c in config_generic (c=0x8967970) at bconfig.c:1940 i = 11784196 __PRETTY_FUNCTION__ = "config_generic" #3 0x0806a586 in config_set_vals (Conf=0x8168160, c=0x8967970) at config.c:314 rc = 0 arg_type = -2013265890 ptr = (void *) 0x0 #4 0x0806aa68 in config_add_vals (Conf=0x8168160, c=0x8967970) at config.c:383 rc = 0 arg_type = -2013265890 #5 0x0806ba42 in read_config_file (fname=0x8932308 "/usr/local/openldap/etc/slapd.conf", depth=0, cf=0x0, cft=0x8167bc0) at config.c:736 fp = (FILE *) 0x89692f8 ct = (ConfigTable *) 0x8168160 c = (ConfigArgs *) 0x8967970 rc = 0 s = {st_dev = 64768, __pad1 = 0, st_ino = 172196293, st_mode = 33152, st_nlink = 1, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 0, st_size = 1087, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1237802811, tv_nsec = 0}, st_mtim = {tv_sec = 1237802556, tv_nsec = 0}, st_ctim = {tv_sec = 1237802556, tv_nsec = 0}, __unused4 = 0, __unused5 = 0} #6 0x08061626 in read_config (fname=0x8932308 "/usr/local/openldap/etc/slapd.conf", dir=0x0) at bconfig.c:3613 be = (BackendDB *) 0x8967800 cfb = (CfBackInfo *) 0x816c340 cfdir = 0x11f0bc "" cfname = 0x8932308 "/usr/local/openldap/etc/slapd.conf" rc = 0 __PRETTY_FUNCTION__ = "read_config" #7 0x08057a5d in main (argc=5, argv=0xbfc1ce24) at main.c:754 i = -1 no_detach = 0 rc = 0 urls = 0x89323f0 "ldap://:9000" username = 0x0 groupname = 0x0 sandbox = 0x0 syslogUser = 160 g_argc = 5 g_argv = (char **) 0xbfc1ce24 configfile = 0x8932308 "/usr/local/openldap/etc/slapd.conf" configdir = 0x0 serverName = 0xbfc1eb66 "slapd" serverMode = 1 scp = (struct sync_cookie *) 0x0 scp_entry = (struct sync_cookie *) 0x0 debug_unknowns = (char **) 0x0 syslog_unknowns = (char **) 0x0 serverNamePrefix = 0x811b537 "" l = 1347407256 slapd_pid_file_unlink = 0 slapd_args_file_unlink = 0 firstopt = 0 __PRETTY_FUNCTION__ = "main"