Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XrdCl fork handler SEGV since PostMaster it not initialized #489

Closed
esindril opened this issue Mar 30, 2017 · 0 comments
Closed

XrdCl fork handler SEGV since PostMaster it not initialized #489

esindril opened this issue Mar 30, 2017 · 0 comments

Comments

@esindril
Copy link
Contributor

This happens when a process tries to fork in the beginning, therefore the PostMaster object is not yet created. All the other objects are initizlied in the XrdCl::DefaultEnv::Initialize method.

Core was generated by `/usr/bin/tapeserverd'.
Program terminated with signal 11, Segmentation fault.
#0  XrdCl::PostMaster::Stop (this=0x0) at /usr/src/debug/xrootd/xrootd/src/XrdCl/XrdClPostMaster.cc:141
141	    if( !pInitialized )
Missing separate debuginfos, use: debuginfo-install boost-iostreams-1.53.0-26.el7.x86_64 boost-random-1.53.0-26.el7.x86_64 boost-system-1.53.0-26.el7.x86_64 boost-thread-1.53.0-26.el7.x86_64 bzip2-libs-1.0.6-13.el7.x86_64 cryptopp-5.6.2-10.el7.x86_64 glibc-2.17-157.el7_3.1.x86_64 json-c-0.11-4.el7_0.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.14.1-27.el7_3.x86_64 libattr-2.4.46-12.el7.x86_64 libblkid-2.23.2-33.el7.x86_64 libcap-2.22-8.el7.x86_64 libcom_err-1.42.9-9.el7.x86_64 libgcc-4.8.5-11.el7.x86_64 librados2-10.2.6-0.el7.x86_64 libradosstriper1-10.2.6-0.el7.x86_64 libselinux-2.5-6.el7.x86_64 libsodium-1.0.5-1.el7.x86_64 libstdc++-4.8.5-11.el7.x86_64 libuuid-2.23.2-33.el7.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64 lttng-ust-2.4.1-4.el7.x86_64 nspr-4.13.1-1.0.el7_3.x86_64 nss-3.28.2-1.6.el7_3.cern.x86_64 nss-util-3.28.2-1.1.el7_3.x86_64 openpgm-5.2.122-2.el7.x86_64 openssl-libs-1.0.1e-60.el7_3.1.x86_64 pcre-8.32-15.el7_2.1.x86_64 protobuf-2.5.0-8.el7.x86_64 userspace-rcu-0.7.16-1.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64 zeromq-4.1.4-5.el7.x86_64 zlib-1.2.7-17.el7.x86_64
(gdb) bt
#0  XrdCl::PostMaster::Stop (this=0x0) at /usr/src/debug/xrootd/xrootd/src/XrdCl/XrdClPostMaster.cc:141
#1  0x00007f3ef2ed0ae1 in XrdCl::ForkHandler::Prepare (this=this@entry=0x1e9e130) at /usr/src/debug/xrootd/xrootd/src/XrdCl/XrdClForkHandler.cc:48
#2  0x00007f3ef2e55df0 in prepare () at /usr/src/debug/xrootd/xrootd/src/XrdCl/XrdClDefaultEnv.cc:74
#3  0x00007f3ede12d6f2 in fork () from /lib64/libc.so.6
#4  0x00007f3ef48f8859 in castor::server::Daemon::daemonizeIfNotRunInForeground (this=0x7ffcd52f3840, runAsStagerSuperuser=true) at /usr/src/debug/castor-2.1.16-15/castor/server/Daemon.cpp:168
#5  0x00000000005256d8 in castor::tape::tapeserver::daemon::TapeDaemon::exceptionThrowingMain (this=0x7ffcd52f3840, argc=1, argv=0x7ffcd52f3ce8)
    at /usr/src/debug/castor-2.1.16-15/castor/tape/tapeserver/daemon/TapeDaemon.cpp:209
#6  0x00000000005251a3 in castor::tape::tapeserver::daemon::TapeDaemon::main (this=0x7ffcd52f3840) at /usr/src/debug/castor-2.1.16-15/castor/tape/tapeserver/daemon/TapeDaemon.cpp:170
#7  0x000000000056b2b8 in exceptionThrowingMain (argc=1, argv=0x7ffcd52f3ce8) at /usr/src/debug/castor-2.1.16-15/castor/tape/tapeserver/daemon/TapeDaemonMain.cpp:183
#8  0x000000000056aa62 in main (argc=1, argv=0x7ffcd52f3ce8) at /usr/src/debug/castor-2.1.16-15/castor/tape/tapeserver/daemon/TapeDaemonMain.cpp:75
(gdb) up
#1  0x00007f3ef2ed0ae1 in XrdCl::ForkHandler::Prepare (this=this@entry=0x1e9e130) at /usr/src/debug/xrootd/xrootd/src/XrdCl/XrdClForkHandler.cc:48
48	    pPostMaster->Stop();
(gdb) p pPostMaster
$1 = (XrdCl::PostMaster *) 0x0
(gdb) l
43	    pid_t pid = getpid();
44	    log->Debug( UtilityMsg, "Running the prepare fork handler for process %d",
45	                pid );
46	
47	    pMutex.Lock();
48	    pPostMaster->Stop();
49	    pFileTimer->Lock();
50	
51	    //--------------------------------------------------------------------------
52	    // Lock the user-level objects
(gdb) f 2
#2  0x00007f3ef2e55df0 in prepare () at /usr/src/debug/xrootd/xrootd/src/XrdCl/XrdClDefaultEnv.cc:74
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant