我在CentOS 7.3.1611上运行Redhawk 2.0.4。我从源代码编译并安装了Vita49Libraries (3.0.0)、SourceVita49 (3.0.1)和SinkVita49 (3.0.1)。当我将一个SourceVita49或SinkVita49组件拖到IDE中的沙箱中时,会得到以下错误:
在等待组件SinkVITA49_1启动时出错。组件在等待启动时终止。以出口代码SIGSEGV (11)终止的SinkVITA49_1 在等待组件SourceVITA49_1启动时出错。组件在等待启动时终止。以出口代码SIGSEGV (11)终止的SourceVITA49_1
看看GitHub 这里,我看到了一个关于Vita49Libraries在Fedora24下的“崩溃”的问题。
你能确认Fedora24上的这个问题和我看到的分割错误是一样的吗?
有人知道如何让VITA49组件在CentOS7下运行吗?
发布于 2017-01-27 17:49:42
这似乎与引用的github问题中报告的问题相同。您可以通过docker使用以下步骤进行复制:
# Run the redhawk 2.0.4 container for el7 with escalated privileges so we can get a core dump and trace it
[ylb@axios ~] docker run -it --rm --privileged --cap-add CAP_PTRACE axios/redhawk:2.0-el7
# Clone and build
[redhawk@4d1172e29587] git clone https://github.com/RedhawkSDR/VITA49Libraries.git
[redhawk@4d1172e29587] pushd VITA49Libraries/cpp/
[redhawk@4d1172e29587] ./reconf && ./configure && make -j && sudo make install && popd
[redhawk@4d1172e29587] git clone https://github.com/RedhawkSDR/SinkVITA49.git
[redhawk@4d1172e29587] pushd SinkVITA49/cpp/
[redhawk@4d1172e29587] ./reconf && ./configure && make -j && sudo make install && popd
# Set core dump size to unlimited.
[redhawk@4d1172e29587] ulimit -c unlimited
# Hop into python and launch component
[redhawk@4d1172e29587] python
>>> from ossie.utils import sb
>>> snk = sb.launch('rh.SinkVITA49')
# It will crash
[redhawk@4d1172e29587 ~]$ ls
core.4287 SinkVITA49 VITA49Libraries
# Install gdb and trace out the issue
[redhawk@4d1172e29587 ~]$ sudo yum install gdb
[redhawk@4d1172e29587 ~]$ gdb /var/redhawk/sdr/dom/components/rh/SinkVITA49/cpp/SinkVITA49 core.4287
# leads us to
...
#1 0x00007f254971204e in std::string::assign(std::string const&) () from /lib64/libstdc++.so.6
#2 0x00007f254c802055 in operator= (__str="", this=0x7f254ca396f0 <_leapSecondsFile>) at /usr/include/c++/4.8.2/bits/basic_string.h:547
#3 _init () at vrt_src/cpp_src/vrt/lib/VRTConfig.cc:84
#4 0x00007f254c802f25 in vrt::VRTConfig::getLeapSecondsFile () at vrt_src/cpp_src/vrt/lib/VRTConfig.cc:141
#5 0x00007f254c7ae0b5 in vrt::LeapSeconds::getDefaultInstance () at vrt_src/cpp_src/vrt/lib/LeapSeconds.cc:195
#6 0x00007f254c7fad3d in vrt::TimeStamp::TimeStamp (this=0x7f254ca39640 <vrt::TimeStamp::NO_TIME_STAMP>, tsiMode=<optimized out>, tsfMode=vrt::FractionalMode_None, tsi=<optimized out>, tsf=9223372036854775808, sr=nan(0x8000000000000))
at vrt_src/cpp_src/vrt/lib/TimeStamp.cc:84
#7 0x00007f254c781d35 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at vrt_src/cpp_src/vrt/lib/TimeStamp.cc:28
...
# Which is the static initialization within the TimeStamp file.虽然我还没有试过,但我设想使用el6容器运行相同的步骤"docker -it -rm-特权-cap CAP_PTRACE axios/redhawk:2.0“将不包含核心转储。
https://stackoverflow.com/questions/41897416
复制相似问题