[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#4468) slapi initialized too late
Full_Name: Hallvard B Furuseth
Version: HEAD
OS: Linux
URL:
Submission from: (NULL) (129.240.186.42)
Submitted by: hallvard
test017, test018, test019, test033, test043 and test045
call slapi_int_create_object_extensions() from connection_fake_init()
before slapi_over_config() has been called.
slapi_int_create_object_extensions() locks registered_extensions.mutex,
which is initialized in slapi_over_config()
(in the slapi_int_init_object_extensions() call).
Here is a work-around. Probably not the best fix, but it works for me.
The patch is to connection_fake_init() and slapi_over_config().
--- connection.c 2 Apr 2006 17:54:25 -0000 1.357
+++ connection.c 2 Apr 2006 21:24:25 -0000
@@ -2292,4 +2292,5 @@
#ifdef LDAP_SLAPI
+ slapi_over_config( NULL );
slapi_int_create_object_extensions( SLAPI_X_EXT_CONNECTION, conn );
slapi_int_create_object_extensions( SLAPI_X_EXT_OPERATION, op );
--- slapi/slapi_overlay.c 14 Feb 2006 08:20:50 -0000 1.40
+++ slapi/slapi_overlay.c 2 Apr 2006 21:24:25 -0000
@@ -929,4 +929,7 @@
}
+ if ( be == NULL )
+ return 0;
+
return overlay_config( be, SLAPI_OVERLAY_NAME );
}
Traceback:
(gdb) bt
#5 0x0816efdd in ldap_pvt_thread_mutex_lock (mutex=0x830bc60) at
thr_debug.c:790
#6 0x0825e868 in slapi_int_create_object_extensions (objecttype=0,
object=0xbfffec3c) at slapi_ext.c:249
#7 0x08087156 in connection_fake_init (conn=0xbfffec3c, op=0xbfffea90,
ctx=0x8307760) at connection.c:2294
#8 0xb7d83647 in syncprov_db_open (be=0x833d3e0) at syncprov.c:2307
#9 0x080dddb1 in over_db_func (be=0x833d3e0, which=db_open) at backover.c:61
#10 0x080de152 in over_db_open (be=0x0) at backover.c:173
#11 0x080905a2 in backend_startup_one (be=0x833d3e0) at backend.c:212
#12 0x0809095c in backend_startup (be=0x833d3e0) at backend.c:301
#13 0x080b01db in slap_startup (be=0x0) at init.c:244
#14 0x0807135e in main (argc=8, argv=0xbfffef94) at main.c:888