Re: Failed to run vstart.sh in CentOS7.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [CEPH Users]     [Ceph Devel]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux