On Fri, Sep 6, 2019 at 2:33 AM YoungerLiu <yiyanghit@xxxxxxxxx> wrote: > > > > On 2019/9/5 6:15, Brad Hubbard wrote: > > OK, I misunderstood the line causing the error. > > > > So take the advice I gave in my previous response and apply it to the > > command "/o pt/ceph/ceph/build/bin/ceph -c > > /opt/ceph/ceph/build/ceph.conf config assimilate-conf -i config.conf" > > You may need to prefix it with the python binary path BTW. > I modified the command: > echo Populating config ... > #cat <<EOF | $CEPH_BIN/ceph -c $conf_fn config assimilate-conf -i - > cat <<EOF | /usr/bin/python3 $CEPH_BIN/ceph -c $conf_fn config assimilate-conf -i - > ... > and then "../src/vstart.sh --debug --new -x --localhost --bluestore". The logs: > Populating config ... > Traceback (most recent call last): > File "/opt/ceph/ceph/build/bin/ceph", line 137, in <module> > import rados > ImportError: dynamic module does not define module export function (PyInit_rados) What does "head -1 /opt/ceph/ceph/build/bin/ceph" show? That should be the python you should be using. $ head -1 bin/ceph #!/usr/bin/python3.7 $ /usr/bin/python3.7 /ceph/build/bin/ceph -v *** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *** ceph version v15.0.0-4627-ga72edfb4d7 (a72edfb4d76d6dce3296a0eace3d8377114e5635) octopus (dev) > > /opt/ceph/ceph/build/bin/ceph +137 > import json > import rados > import shlex > > > > On Thu, Sep 5, 2019 at 2:42 AM YoungerLiu <yiyanghit@xxxxxxxxx> wrote: > >> > >> > >> On 2019/9/4 6:42, Brad Hubbard wrote: > >>> On Wed, Sep 4, 2019 at 2:12 AM Younger Liu <younger.liucn@xxxxxxxxx> wrote: > >>>> Hi, I am try to debug ceph-nautilus source code in CentOS7.6, > >>>> and just built succesfully, but failed to run vstart.h. the log is below. > >>>> Could someone give me advice? > >>>> > >>>> [root@develop build]# ../src/vstart.sh --debug --new -x --localhost --bluestore > >>>> === mon.c === > >>>> Stopping Ceph mon.c on develop...done > >>>> === mon.b === > >>>> .... > >>>> /opt/ceph/ceph/build/bin/ceph-mon -i c -c /opt/ceph/ceph/build/ceph.conf > >>> If you run this command manually does it fail? > >> Run this command successfully. > >> Error in line: > >> echo Populating config ... > >> cat <<EOF | /$CEPH_BIN/ceph -c $conf_fn config assimilate-conf -i - > >> I save config in a file "config.conf", and run: > >> /opt/ceph/ceph/build/bin/ceph -c /opt/ceph/ceph/build/ceph.conf config assimilate-conf -i config.conf > >> The callltrace is the same to before. > >> And debug it. the error happens: > >> try: > >> if childargs and childargs[0] == 'ping' and not parsed_args.help: > >> return ping_monitor(cluster_handle, childargs[1], timeout) > >> result = run_in_thread(cluster_handle.connect, timeout=timeout) // error > >> if type(result) is tuple and result[0] == -errno.EINTR: > >> print('Cluster connection interrupted or timed out', file=sys.stderr) > >> return 1 > >> except KeyboardInterrupt: > >> > >> BTW: > >> In my case , python's version is 2.7.5. > >> > >>> If so you could gather a better stack trace from gdb and also valgrind > >>> output as follows. > >>> > >>> # gdb --args /opt/ceph/ceph/build/bin/ceph-mon -i c -c > >>> /opt/ceph/ceph/build/ceph.conf > >>> (gdb) run > >>> wait for it to crash > >>> (gdb) thread apply all bt > >>> (gdb) x/i $pc > >>> (gdb) info reg > >>> > >>> Alternatively you can gather the same information from a coredump. > >>> > >>> # gdb /opt/ceph/ceph/build/bin/ceph-mon core.1234 > >>> (gdb) thread apply all bt > >>> (gdb) x/i $pc > >>> (gdb) info reg > >>> > >>> # valgrind --trace-children=yes --show-reachable=yes > >>> --track-origins=yes --read-var-info=yes --tool=memcheck > >>> --leak-check=full --num-callers=50 -v --log-file=leaky.log > >>> /opt/ceph/ceph/build/bin/ceph-mon -i c -c > >>> /opt/ceph/ceph/build/ceph.conf > >>> > >>> Gather the file leaky.log file. > >>> > >>> The above information should be enough to begin an analysis. > >>> > >>>> Populating config ... > >>>> *** Error in `/usr/bin/python2.7': free(): invalid pointer: > >>>> 0x00007f859bb71cc0 *** > >>>> ======= Backtrace: ========= > >>>> /lib64/libc.so.6(+0x81609)[0x7f85ac454609] > >>>> /opt/ceph/ceph/build/lib/librados.so.2(+0x7c198)[0x7f85a3e0f198] > >>>> /opt/ceph/ceph/build/lib/librados.so.2(+0x74c1d)[0x7f85a3e07c1d] > >>>> /opt/ceph/ceph/build/lib/librados.so.2(+0x6e970)[0x7f85a3e01970] > >>>> /opt/ceph/ceph/build/lib/librados.so.2(+0x69623)[0x7f85a3dfc623] > >>>> /opt/ceph/ceph/build/lib/librados.so.2(+0xd9e44)[0x7f85a3e6ce44] > >>>> /opt/ceph/ceph/build/lib/librados.so.2(rados_connect+0xfe)[0x7f85a3dc9be3] > >>>> /opt/ceph/ceph/build/lib/cython_modules/lib.2/rados.so(+0x306d6)[0x7f85a421a6d6] > >>>> /lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x730a)[0x7f85ad1aa20a] > >>>> /lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7ed)[0x7f85ad1ac03d] > >>>> /lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x663c)[0x7f85ad1a953c] > >>>> /lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x67bd)[0x7f85ad1a96bd] > >>>> /lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7ed)[0x7f85ad1ac03d] > >>>> /lib64/libpython2.7.so.1.0(+0x70978)[0x7f85ad135978] > >>>> /lib64/libpython2.7.so.1.0(PyObject_Call+0x43)[0x7f85ad110a63] > >>>> /lib64/libpython2.7.so.1.0(+0x5aa55)[0x7f85ad11fa55] > >>>> /lib64/libpython2.7.so.1.0(PyObject_Call+0x43)[0x7f85ad110a63] > >>>> /lib64/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x47)[0x7f85ad1a28f7] > >>>> /lib64/libpython2.7.so.1.0(+0x115822)[0x7f85ad1da822] > >>>> /lib64/libpthread.so.0(+0x7dd5)[0x7f85aceb0dd5] > >>>> /lib64/libc.so.6(clone+0x6d)[0x7f85ac4d102d] > >>>> ======= Memory map: ======== > >>>> 00400000-00401000 r-xp 00000000 08:03 201353012 > >>>> /usr/bin/python2.7 > >>>> 00600000-00601000 r--p 00000000 08:03 201353012 > >>>> /usr/bin/python2.7 > >>>> 00601000-00602000 rw-p 00001000 08:03 201353012 > >>>> /usr/bin/python2.7 > >>>> 014b8000-017b9000 rw-p 00000000 00:00 0 [heap] > >>>> 7f856c000000-7f856c021000 rw-p 00000000 00:00 0 > >>>> 7f856c021000-7f8570000000 ---p 00000000 00:00 0 > >>>> 7f8570000000-7f8570021000 rw-p 00000000 00:00 0 > >>>> 7f8570021000-7f8574000000 ---p 00000000 00:00 0 > >>>> 7f8574000000-7f8574021000 rw-p 00000000 00:00 0 > >>>> 7f8574021000-7f8578000000 ---p 00000000 00:00 0 > >>>> 7f8578000000-7f8578021000 rw-p 00000000 00:00 0 > >>>> 7f8578021000-7f857c000000 ---p 00000000 00:00 0 > >>>> 7f857c000000-7f857c021000 rw-p 00000000 00:00 0 > >>>> 7f857c021000-7f8580000000 ---p 00000000 00:00 0 > >>>> 7f8580000000-7f8580021000 rw-p 00000000 00:00 0 > >>>> 7f8580021000-7f8584000000 ---p 00000000 00:00 0 > >>>> 7f8584000000-7f8584050000 rw-p 00000000 00:00 0 > >>>> 7f8584050000-7f8588000000 ---p 00000000 00:00 0 > >>>> 7f85887f9000-7f85887fa000 ---p 00000000 00:00 0 > >>>> 7f85887fa000-7f8588ffa000 rw-p 00000000 00:00 0 > >>>> 7f8588ffa000-7f8588ffb000 ---p 00000000 00:00 0 > >>>> 7f8588ffb000-7f85897fb000 rw-p 00000000 00:00 0 > >>>> 7f85897fb000-7f85897fc000 ---p 00000000 00:00 0 > >>>> 7f85897fc000-7f8589ffc000 rw-p 00000000 00:00 0 > >>>> 7f8589ffc000-7f8589ffd000 ---p 00000000 00:00 0 > >>>> 7f8589ffd000-7f858a7fd000 rw-p 00000000 00:00 0 > >>>> 7f858a7fd000-7f858a7fe000 ---p 00000000 00:00 0 > >>>> 7f858a7fe000-7f858affe000 rw-p 00000000 00:00 0 > >>>> 7f858affe000-7f858afff000 ---p 00000000 00:00 0 > >>>> 7f858afff000-7f858b7ff000 rw-p 00000000 00:00 0 > >>>> 7f858b7ff000-7f858b800000 ---p 00000000 00:00 0 > >>>> 7f858b800000-7f858c000000 rw-p 00000000 00:00 0 > >>>> 7f858c000000-7f858c183000 rw-p 00000000 00:00 0 > >>>> 7f858c183000-7f8590000000 ---p 00000000 00:00 0 > >>>> 7f85904cf000-7f8590552000 r-xp 00000000 08:03 795 > >>>> /usr/lib64/libfreeblpriv3.so > >>>> 7f8590552000-7f8590751000 ---p 00083000 08:03 795 > >>>> /usr/lib64/libfreeblpriv3.so > >>>> 7f8590751000-7f8590753000 r--p 00082000 08:03 795 > >>>> /usr/lib64/libfreeblpriv3.so > >>>> 7f8590753000-7f8590754000 rw-p 00084000 08:03 795 > >>>> /usr/lib64/libfreeblpriv3.so > >>>> 7f8590754000-7f8590758000 rw-p 00000000 00:00 0 > >>>> 7f8590758000-7f8590809000 r-xp 00000000 08:03 31838 > >>>> /usr/lib64/libsqlite3.so.0.8.6 > >>>> 7f8590809000-7f8590a08000 ---p 000b1000 08:03 31838 > >>>> /usr/lib64/libsqlite3.so.0.8.6 > >>>> 7f8590a08000-7f8590a0a000 r--p 000b0000 08:03 31838 > >>>> /usr/lib64/libsqlite3.so.0.8.6 > >>>> 7f8590a0a000-7f8590a0d000 rw-p 000b2000 08:03 31838 > >>>> /usr/lib64/libsqlite3.so.0.8.6 > >>>> 7f8590a0d000-7f8590a49000 r-xp 00000000 08:03 31918 > >>>> /usr/lib64/libsoftokn3.so > >>>> 7f8590a49000-7f8590c49000 ---p 0003c000 08:03 31918 > >>>> /usr/lib64/libsoftokn3.so > >>>> 7f8590c49000-7f8590c4a000 r--p 0003c000 08:03 31918 > >>>> /usr/lib64/libsoftokn3.so > >>>> 7f8590c4a000-7f8590c4b000 rw-p 0003d000 08:03 31918 > >>>> /usr/lib64/libsoftokn3.so > >>>> 7f8590c4b000-7f85916ac000 rw-p 00000000 00:00 0 > >>>> 7f85916ac000-7f85916ad000 ---p 00000000 00:00 0 > >>>> 7f85916ad000-7f8591ead000 rw-p 00000000 00:00 0 > >>>> 7f8591ead000-7f8591eb1000 r-xp 00000000 08:03 134403567 > >>>> /usr/lib64/python2.7/lib-dynload/termios.so > >>>> 7f8591eb1000-7f85920b0000 ---p 00004000 08:03 134403567 > >>>> /usr/lib64/python2.7/lib-dynload/termios.so > >>>> 7f85920b0000-7f85920b1000 r--p 00003000 08:03 134403567 > >>>> /usr/lib64/python2.7/lib-dynload/termios.so > >>>> 7f85920b1000-7f85920b3000 rw-p 00004000 08:03 134403567 > >>>> /usr/lib64/python2.7/lib-dynload/termios.so > >>>> 7f85920b3000-7f85920f3000 rw-p 00000000 00:00 0 > >>>> 7f85920f3000-7f8592189000 r-xp 00000000 08:03 134403571 > >>>> /usr/lib64/python2.7/lib-dynload/unicodedata.so > >>>> 7f8592189000-7f8592388000 ---p 00096000 08:03 134403571 > >>>> /usr/lib64/python2.7/lib-dynload/unicodedata.so > >>>> 7f8592388000-7f8592389000 r--p 00095000 08:03 134403571 > >>>> /usr/lib64/python2.7/lib-dynload/unicodedata.so > >>>> 7f8592389000-7f859239c000 rw-p 00096000 08:03 134403571 > >>>> /usr/lib64/python2.7/lib-dynload/unicodedata.so > >>>> 7f859239c000-7f85923a1000 r-xp 00000000 08:03 134394726 > >>>> /usr/lib64/python2.7/lib-dynload/_csv.so > >>>> 7f85923a1000-7f85925a1000 ---p 00005000 08:03 134394726 > >>>> /usr/lib64/python2.7/lib-dynload/_csv.so > >>>> 7f85925a1000-7f85925a2000 r--p 00005000 08:03 134394726 > >>>> /usr/lib64/python2.7/lib-dynload/_csv.so > >>>> 7f85925a2000-7f85925a4000 rw-p 00006000 08:03 134394726 > >>>> /usr/lib64/python2.7/lib-dynload/_csv.so > >>>> 7f85925a4000-7f85925e4000 rw-p 00000000 00:00 0 > >>>> 7f85925e4000-7f85925e7000 r-xp 00000000 08:03 134394741 > >>>> /usr/lib64/python2.7/lib-dynload/_randommodule.so > >>>> 7f85925e7000-7f85927e6000 ---p 00003000 08:03 134394741 > >>>> /usr/lib64/python2.7/lib-dynload/_randommodule.so > >>>> 7f85927e6000-7f85927e7000 r--p 00002000 08:03 134394741 > >>>> /usr/lib64/python2.7/lib-dynload/_randommodule.so > >>>> 7f85927e7000-7f85927e8000 rw-p 00003000 08:03 134394741 > >>>> /usr/lib64/python2.7/lib-dynload/_randommodule.so > >>>> 7f85927e8000-7f85927ec000 r-xp 00000000 08:03 134394732 > >>>> /usr/lib64/python2.7/lib-dynload/_hashlib.so > >>>> 7f85927ec000-7f85929eb000 ---p 00004000 08:03 134394732 > >>>> /usr/lib64/python2.7/lib-dynload/_hashlib.so > >>>> 7f85929eb000-7f85929ec000 r--p 00003000 08:03 134394732 > >>>> /usr/lib64/python2.7/lib-dynload/_hashlib.so > >>>> 7f85929ec000-7f85929ed000 rw-p 00004000 08:03 134394732 > >>>> /usr/lib64/python2.7/lib-dynload/_hashlib.so../src/vstart.sh: line > >>>> 1050: 5867 Done cat <<EOF > >>>> [global] > >>>> osd_pool_default_size = $OSD_POOL_DEFAULT_SIZE > >>>> osd_pool_default_min_size = 1 > >>>> mon_pg_warn_min_per_osd = 3 > >>>> > >>>> [mon] > >>>> mon_osd_reporter_subtree_level = osd > >>>> mon_data_avail_warn = 2 > >>>> mon_data_avail_crit = 1 > >>>> mon_allow_pool_delete = true > >>>> > >>>> [osd] > >>>> osd_scrub_load_threshold = 2000 > >>>> osd_debug_op_order = true > >>>> osd_debug_misdirected_ops = true > >>>> osd_copyfrom_max_chunk = 524288 > >>>> > >>>> [mds] > >>>> mds_debug_frag = true > >>>> mds_debug_auth_pins = true > >>>> mds_debug_subtrees = true > >>>> > >>>> EOF > >>>> > >>>> 5868 Aborted | $CEPH_BIN/ceph -c $conf_fn config > >>>> assimilate-conf -i - > >>>> [root@develop build]# ps -aux | grep ceph > >>>> root 6255 2.8 2.0 538640 77252 ? Ssl 23:53 0:00 > >>>> /opt/ceph/ceph/build/bin/ceph-mon -i a -c > >>>> /opt/ceph/ceph/build/ceph.conf > >>>> root 6296 2.5 1.4 538632 55764 ? Ssl 23:53 0:00 > >>>> /opt/ceph/ceph/build/bin/ceph-mon -i b -c > >>>> /opt/ceph/ceph/build/ceph.conf > >>>> root 6337 2.5 1.4 538628 57276 ? Ssl 23:53 0:00 > >>>> /opt/ceph/ceph/build/bin/ceph-mon -i c -c > >>>> /opt/ceph/ceph/build/ceph.conf > >>>> root 6398 0.0 0.0 112708 984 pts/0 S+ 23:53 0:00 grep > >>>> --color=auto ceph > >>>> [root@develop build]# > >>>> _______________________________________________ > >>>> Dev mailing list -- dev@xxxxxxx > >>>> To unsubscribe send an email to dev-leave@xxxxxxx > >>> > >> > > > -- Cheers, Brad _______________________________________________ Dev mailing list -- dev@xxxxxxx To unsubscribe send an email to dev-leave@xxxxxxx