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

try_dequeue_bulk failed #172

Closed
kdtiankong opened this issue Nov 14, 2019 · 1 comment
Closed

try_dequeue_bulk failed #172

kdtiankong opened this issue Nov 14, 2019 · 1 comment

Comments

@kdtiankong
Copy link

kdtiankong commented Nov 14, 2019

A new problem arises, the coredump file is generated.
my environment is centos7-x64. JNI is called by java.
The C++ interface wraps a producer, multiple consumers, and gets package data from the queue each time.
I found “this” pointer is null in try_dequeue_bulk called
coredump As follows:

Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Core was generated by `java JNI.AgentJNI'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007fc36f2bb337 in raise () from /usr/lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install glibc-2.17-292.el7.x86_64 java-1.8.0-openjdk-headless-1.8.0.222.b10-1.el7_7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-37.el7_7.2.x86_64 libcom_err-1.42.9-16.el7.x86_64 libgcc-4.8.5-39.el7.x86_64 libselinux-2.5-14.1.el7.x86_64 libstdc++-4.8.5-39.el7.x86_64 openssl-libs-1.0.2k-19.el7.x86_64 pcre-8.32-17.el7.x86_64 zlib-1.2.7-18.el7.x86_64
(gdb) bt
#0 0x00007fc36f2bb337 in raise () from /usr/lib64/libc.so.6
#1 0x00007fc36f2bca28 in abort () from /usr/lib64/libc.so.6
#2 0x00007fc36eb58ba9 in os::abort(bool) ()
from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64/jre/lib/amd64/server/libjvm.so
#3 0x00007fc36ed63276 in VMError::report_and_die() ()
from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64/jre/lib/amd64/server/libjvm.so
#4 0x00007fc36eb62bf5 in JVM_handle_linux_signal ()
from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64/jre/lib/amd64/server/libjvm.so
#5 0x00007fc36eb55d68 in signalHandler(int, siginfo_t*, void*) ()
from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64/jre/lib/amd64/server/libjvm.so
#6
#7 load (__m=std::memory_order_acquire, this=0x0) at /opt/rh/devtoolset-3/root/usr/include/c++/4.9.2/bits/atomic_base.h:809
#8 load (__m=std::memory_order_acquire, this=0x0) at /opt/rh/devtoolset-3/root/usr/include/c++/4.9.2/atomic:390
#9 try_dequeue_bulk<signature_business_element*> (max=20, itemFirst=0x7fc3684f0588, this=0x0) at ../common/multqueue.h:1150
#10 ClientApply::handle_msg_queue (this=0x7fc3681cc7f0, io_service_index=) at ClientApply.cpp:685
#11 0x00007fc2f8b2d899 in operator() (a1=34, p=0x7fc3681cc7f0, this=)
at /usr/local/include/boost/include/boost/bind/mem_fn_template.hpp:165
#12 operator()<int, boost::_mfi::mf1<int, ClientApply, int>, boost::_bi::list0> (a=, f=,
this=) at /usr/local/include/boost/include/boost/bind/bind.hpp:309
#13 operator() (this=) at /usr/local/include/boost/include/boost/bind/bind.hpp:1294
#14 asio_handler_invoke<boost::_bi::bind_t<int, boost::_mfi::mf1<int, ClientApply, int>, boost::_bi::list2<boost::_bi::value<ClientApply*>, boost::_bi::value > > > (function=)
at /usr/local/include/boost/include/boost/asio/handler_invoke_hook.hpp:69
#15 invoke<boost::_bi::bind_t<int, boost::_mfi::mf1<int, ClientApply, int>, boost::_bi::list2<boost::_bi::value<ClientApply*>, boost::_bi::value > >, boost::_bi::bind_t<int, boost::_mfi::mf1<int, ClientApply, int>, boost::_bi::list2<boost::_bi::value<ClientApply*>, boost::_bi::value > > > (context=, function=)
---Type to continue, or q to quit---
at /usr/local/include/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#16 complete<boost::_bi::bind_t<int, boost::_mfi::mf1<int, ClientApply, int>, boost::_bi::list2<boost::_bi::value<ClientApply*>, boost::_bi::value > > > (this=, handler=, function=)
at /usr/local/include/boost/include/boost/asio/detail/handler_work.hpp:100
#17 boost::asio::detail::completion_handler<boost::_bi::bind_t<int, boost::_mfi::mf1<int, ClientApply, int>, boost::_bi::list2<boost::_bi::value<ClientApply*>, boost::_bi::value > > >::do_complete (owner=0x7fc3681cd8c0, base=0x7fc36ac28100)
at /usr/local/include/boost/include/boost/asio/detail/completion_handler.hpp:70
#18 0x00007fc2f8b3098e in complete (bytes_transferred=, ec=..., owner=0x7fc3681cd8c0, this=)
at /usr/local/include/boost/include/boost/asio/detail/scheduler_operation.hpp:40
#19 do_run_one (ec=..., this_thread=..., lock=..., this=0x7fc3681cd8c0)
at /usr/local/include/boost/include/boost/asio/detail/impl/scheduler.ipp:447
#20 boost::asio::detail::scheduler::run (this=0x7fc3681cd8c0, ec=...)
at /usr/local/include/boost/include/boost/asio/detail/impl/scheduler.ipp:200
#21 0x00007fc2f8b5a82c in boost::asio::io_context::run (this=0x7fc3681cd6d0)
at /usr/local/include/boost/include/boost/asio/impl/io_context.ipp:63
#22 0x00007fc2f842b784 in thread_proxy () from /usr/lib64/libboost_thread.so.1.70.0
#23 0x00007fc36fc83e65 in start_thread () from /usr/lib64/libpthread.so.0
#24 0x00007fc36f38388d in clone () from /usr/lib64/libc.so.6

@cameron314
Copy link
Owner

this=0x0 again. It looks like the pointer to the queue is null.

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

2 participants