Fri Jan 27 11:01:43 Assertion: 10352:Security is a singleton class
0x7f9074696809 0x7f90746f9602 0x7f90746f9687 0x7f907470a196
/usr/lib64/libsipXcommserver.so.2(_ZN5mongo11msgassertedEiPKc+0x119)
[0x7f9074696809]
/usr/lib64/libsipXcommserver.so.2(+0x112602) [0x7f90746f9602]
/usr/lib64/libsipXcommserver.so.2(+0x112687) [0x7f90746f9687]
/usr/lib64/libsipXcommserver.so.2(+0x123196) [0x7f907470a196]
terminate called after throwing an instance of 'mongo::MsgAssertionException'
what(): Security is a singleton class
Details
* Mongo 2.0.2 tarball found on downloads page
* My mongo configure line
scons --prefix=$RPM_BUILD_ROOT/usr --sharedclient --full all
* mongoclient build line
===========================
g++ -o libmongoclient.so -fPIC -pthread -rdynamic -Wl,--as-needed
-Wl,-zdefs -shared pch.os buildinfo.os db/indexkey.os db/
jsobj.os bson/oid.os db/json.os db/lasterror.os db/nonce.os
db/queryutil.os db/querypattern.os db/projection.os shell/mongo
.os util/background.os util/util.os util/file_allocator.os
util/assert_util.os util/log.os util/ramlog.os util/md5main.os u
til/base64.os util/concurrency/vars.os util/concurrency/task.os
util/debug_util.os util/concurrency/thread_pool.os util/pas
sword.os util/version.os util/signal_handlers.os util/histogram.os
util/concurrency/spin_lock.os util/text.os util/stringut
ils.os util/concurrency/synchronization.os util/net/sock.os
util/net/httpclient.os util/net/message.os util/net/message_por
t.os util/net/listen.os util/md5.os client/connpool.os
client/dbclient.os client/dbclient_rs.os client/dbclientcursor.os cl
ient/model.os client/syncclusterconnection.os client/distlock.os
s/shardconnection.os db/commands.os client/clientOnly.os c
lient/gridfs.os -L/usr/lib64 -L/lib64 -lpthread -lstdc++
-lboost_system-mt -lboost_thread-mt -lboost_filesystem-mt -lboost_
program_options-mt
* my buildoutput line
===========================
/bin/sh ../libtool --tag=CXX --mode=link g++ -I../include
-DSIPX_LOGDIR=\"/var/log/sipxpbx\" -DPOSTGRESQL_USER=\"postgres\"
-DSIP_TLS -I/usr/include -I/usr/include -I/usr/include -I/usr/include
-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-D__pingtel_on_posix__ -D_linux_ -D_REENTRANT -D_FILE_OFFSET_BITS=64
-fmessage-length=0 -Wall -Wformat -Wwrite-strings -Wpointer-arith
-Wno-strict-aliasing -fno-strict-aliasing -Wno-unused-result
-fno-strict-aliasing -I/usr/include -rdynamic -L/usr/lib -o sipXproxy
sipXproxy-sipXproxymain.o libsipXproxy.la
/usr/lib64/libsipXcommserver.la -lmongoclient -lboost_system-mt
libtool: link: g++ -I../include -DSIPX_LOGDIR=\"/var/log/sipxpbx\"
-DPOSTGRESQL_USER=\"postgres\" -DSIP_TLS -I/usr/include -I/usr/include
-I/usr/include -I/usr/include -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -D__pingtel_on_posix__
-D_linux_ -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fmessage-length=0 -Wall
-Wformat -Wwrite-strings -Wpointer-arith -Wno-strict-aliasing
-fno-strict-aliasing -Wno-unused-result -fno-strict-aliasing
-I/usr/include -rdynamic -o .libs/sipXproxy sipXproxy-sipXproxymain.o
-L/usr/lib ./.libs/libsipXproxy.so /usr/lib64/libsipXcommserver.so
-L/usr/lib64 -lodbc /usr/lib64/libsipXtack.so
/usr/lib64/libsipXport.so -lpcre -lpthread -lboost_thread-mt
-lboost_filesystem-mt -ldl -lssl -lcrypto -lresolv -lboost_regex-mt
-lboost_program_options-mt -lmongoclient -lboost_system-mt
* I am only linking to the shared library AFAICT and I only have one
copy of "-lmongoclient". I do link to other .so's that are lso built
and linked to mongoclient however
* Mongo build produces
/usr/lib64/libmongoclient.a
/usr/lib64/libmongoclient.so
I don't link to .a but I wonder if somehow something is. I'm tempted
to remove it after building
* I made one tiny change to source to get this to compile w/my app
that also uses boost
diff -ru before/mongodb-src-r2.0.2/pch.h after/mongodb-src-r2.0.2/pch.h
--- before/mongodb-src-r2.0.2/pch.h 2011-12-14 12:18:48.000000000 -0500
+++ after/mongodb-src-r2.0.2/pch.h 2011-12-21 08:50:05.000000000 -0500
@@ -80,9 +80,7 @@
#include "boost/thread/once.hpp"
//#include <boost/archive/iterators/transform_width.hpp>
#define BOOST_FILESYSTEM_VERSION 2
-#include <boost/filesystem/convenience.hpp>
-#include <boost/filesystem/exception.hpp>
-#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem.hpp>
#include <boost/program_options.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/smart_ptr.hpp>